Board-level testing and IEEE1149.x Boundary Scan standard

Slides:



Advertisements
Similar presentations
Introduction to DFT Alexander Gnusin.
Advertisements

Z. Stamenković 1, M. Giles 2, and F. Russi 2 1 IHP GmbH, Frankfurt (Oder), GERMANY 2 Synopsys Inc., Mountain View, CA, USA 13th IEEE European Test Symposium,
BOUNDARY SCAN.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 31/22alt1 Lecture 31 System Test (Lecture 22alt in the Alternative Sequence) n Definition n Functional.
Copyright 2001, Agrawal & BushnellLecture 12: DFT and Scan1 VLSI Testing Lecture 10: DFT and Scan n Definitions n Ad-hoc methods n Scan design  Design.
Apr. 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 311 Lecture 31 System Test n Definition n Functional test n Diagnostic test  Fault dictionary  Diagnostic.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
LOGSYS Development Environment of Embedded Systems Tamás Raikovich Béla Fehér Péter Laczkó Budapest University of Technology and Economics Department of.
Leonardo da Vinci ALLEGRO © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 The IEEE std for mixed-signal test J. M. Martins Ferreira.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
Copyright 2001, Agrawal & BushnellDay-2 PM Lecture 101 Design for Testability Theory and Practice Lecture 10: DFT and Scan n Definitions n Ad-hoc methods.
EE466: VLSI Design Lecture 17: Design for Testability
JTAG Course Lecturer: Tomer Rothschild
Lecture 28 IEEE JTAG Boundary Scan Standard
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 301 Lecture 30 IEEE JTAG Analog Test Access Port and Standard n Motivation n Bus overview n.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 291 Lecture 29 IEEE JTAG Advanced Boundary Scan & Description Language (BSDL) n Special scan.
Spring 08, Apr 17 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 System Test Vishwani D. Agrawal James J. Danaher.
1 Presented by Yifat Kapach jtag course What is SCITT? Static Component Interconnection Test Technology Standard IEEE P1581.
Design for Testability
Real-Time Systems Design JTAG – testing and programming.
Copyright 2001, Agrawal & BushnellDay-2 PM Lecture 121 Design for Testability Theory and Practice Lecture 12: System Diagnosis n Definition n Functional.
1 Design For Debug Using DAFCA system Gadi Glikberg 15/6/06.
Spring 07, Jan 25 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 VLSI System DFT Vishwani D. Agrawal James J. Danaher.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
TAP (Test Access Port) JTAG course June 2006 Avraham Pinto.
Guidelines for Chip DFT Based on Boundary Scan Reference to an article by Ben Bannetts By Regev Susid.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 241 Lecture 24 Design for Testability (DFT): Partial-Scan & Scan Variations n Definition n Partial-scan.
Design for Testability
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Leonardo da Vinci ALLEGRO © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 Test protocol for BS boards J. M. Martins Ferreira FEUP / DEEC.
ECE 353 Lab B (part 1 – Overview)
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
Scan and JTAG Principles1 Scan and JTAG Principles ARM Advanced RISC Machines.
Security Design for IEEE P1687
® ChipScope ILA TM Xilinx and Agilent Technologies.
Design for Test HIBU – Oct. 31st 2006 J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 J. M. Martins Ferreira FEUP / DEEC - Rua Dr.
EEE515J1 ASICs and DIGITAL DESIGN Lecture 8: Testing Ian McCrumRoom 5D03B Tel: voice mail on 6 th ring Web site:
BS Test & Measurement Technique for Modern Semi-con devices & PCBAs.
Introduction to CMOS VLSI Design Test. CMOS VLSI DesignTestSlide 2 Outline  Testing –Logic Verification –Silicon Debug –Manufacturing Test  Fault Models.
Introduction to design for test techniques – The IEEE std for mixed-signal test © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 The.
Standard based Instrumentation schemes for 3D SoC Neal Stollon Chairman, Nexus 5001 Forum
Testing of integrated circuits and design for testability J. Christiansen CERN - EP/MIC
LEONARDO INSIGHT II / TAP-MM ASTEP - The Boundary Scan Test (BST) technology © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 The Boundary.
Fault models Stuck-at Stuck-at-1 Reset coupling 0 0 Set coupling Inversion coupling Transition  /0 0 1 Transition  /1 1.
Logic BIST Logic BIST.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
LEONARDO INSIGHT II / TAP-MM ASTEP - Test protocol for BS boards © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 Test protocol for BS boards.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS Boundary Scan.
April 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 281 Lecture 28 IEEE JTAG Boundary Scan Standard n Motivation n Bed-of-nails tester n System view.
LEONARDO INSIGHT II / TAP-MM ASTEP - Introduction to mixed-signal testing using the standard © J. M. Martins Ferreira - University of Porto (FEUP.
Testing of logic arrayes to be programmed Levels of abstraction While I>k then.. ROM ALU RAM & &1 Behavioural model Functional model Logic level model.
© Aeroflex Ltd 2013 The copyright in this document is the property of Aeroflex Ltd and is supplied on the express terms that it is treated as confidential.
How do ABI test Digital ICs?. Test principles ABI digital tests are designed to find faults on boards. To do this the following principles are used: Confirm.
On the way to multidimensional Inspection and Test The paradigm change of electrical test by ESA © GOEPEL electronic 2013 Exlusive presentation for UK.
© LATTICE SEMICONDUCTOR CORPORATION 2000 Uudet mikropiirit JTAG February Lattice Confidential Lattice Semiconductor The Leader in ISP TM PLDs Presents.
SYSTEM-LEVEL TEST TECHNIQUES INTRODUCTION In the 1970s, the in-circuit testing (ICT) method appeared. In the 1970s, the in-circuit testing (ICT) method.
AVR JTAG Interface The JTAG (Joint Test Action Group) development started about 1985 as a method to test populated circuit boards after manufacture. The.
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
AVR JTAG Interface The JTAG (Joint Test Action Group) development started about 1985 as a method to test populated circuit boards after manufacture. The.
VLSI Testing Lecture 14: System Diagnosis
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 2)
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
ECE 434 Advanced Digital System L18
VLSI Testing Lecture 15: System Diagnosis
The Xilinx Virtex Series FPGA
CPE/EE 428/528 VLSI Design II – Intro to Testing
CPE/EE 422/522 Advanced Logic Design L17
Sungho Kang Yonsei University
The Xilinx Virtex Series FPGA
Lecture 26 Logic BIST Architectures
Presentation transcript:

Board-level testing and IEEE1149.x Boundary Scan standard Artur Jutman artur@ati.ttu.ee August 2010

IEEE 1149.1 Boundary Scan Standard Board level testing challenges Fault modeling at board level (digital) Test generation for interconnect faults IEEE 1149.1 Boundary Scan Standard Application of Boundary Scan

The Challenge of Board Testing Tested chips placed on board Only interconnects to be tested!  Source: Intel Source: Elcoteq

Modeling of Interconnect Faults Net-level defect types and models Short faults Open faults Delay faults Noise/crosstalk Ground bounce … static behavior dynamic behavior

Short Faults Possible shorts: bond wire, leg, solder, interconnect Shorts are usually modeled as wired-AND, wired-OR faults

Open Faults Possible opens: bond wire, leg, solder, interconnect Misplaced bond wire Misplaced component Possible opens: bond wire, leg, solder, interconnect Opens usually behave like stuck-at or delay faults

Tri-state connections Main difference between logic circuits and board-level systems is the way the components are connected. Typical board-level interconnect uses tri-state logic: logic-0, logic-1, and “high impedance” (switched off) state. Common notation: 0,1,Z. There are special “enable” signals that control this additional state of the I/O pins.

Tri-state connections Nets with several drivers Nets with bi-directional pins

Tri-state net structure enable data pin pin data_in enable data pin data_in

Specific faults in tri-state nets Driver faults stuck-driving fault stuck-not-driving fault stuck-at fault Net opens delay fault Net shorts zero dominance wired AND (mutual 0-dom.) one dominance wired OR (mutual 1-dom.) net dominance strong driver fault

IEEE 1149.1 Boundary Scan Standard Board level testing challenges Fault modeling at board level (digital) Test generation for interconnect faults IEEE 1149.1 Boundary Scan Standard Application of Boundary Scan

Test Generation Algorithms ? How many vectors are enough to cover all possible interconnect faults including delays and other dynamic effects? 1 Open 1 Assume stuck-at-0 Short Assume wired AND Opens usually behave like stuck-at or delay faults Shorts are usually modeled as wired-AND or wired-OR

The Counting Sequence ? What about opens? Open 00 00 Assume stuck-at-0 01 01 10 10 Short Assume wired AND 11 10 Kautz [1] showed in 1974 that a sufficient condition to detect any pair of short circuited nets was that the serial codes must be unique for all nets. Therefore the test length is log2(N)

The Modified Counting Sequence ? Some of the observed error responses are allowed codes. How to improve the diagnosis? Open 001 000 Assume stuck-at-0 010 010 011 000 Short Assume wired AND 100 000 All 0-s and all 1-s are forbidden codes because of open faults. Therefore the final test length is log2(N+2) This method was proposed in 1982 by Goel & McMahon [2]

The True/Complement Code ! All-0 and all-1 codes are not forbidden anymore! Open 00 11 00 00 Assume stuck-at-0 01 10 01 10 10 01 10 00 Short Assume wired AND 11 00 10 00 To improve the diagnostic resolution Wagner proposed the True/Complement Code in 1987 [3]. The test length became equal 2log2(N)

The True/Complement Code ? What about delay faults and other dynamic effects? Open 00 11 00 00 Assume stuck-at-0 01 10 01 10 10 01 10 00 Short Assume wired AND 11 00 10 00 Important properties of the True/Complement Code are: there are equal numbers of 0-s and 1-s upon each line Hamming distance between any two code words is at least 2

Summary of TG Methods Counting Modified True/Compl. Walking LaMa 000 001 010 011 100 101 110 111 111 000 110 001 101 010 100 011 011 100 010 101 001 110 000 111 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001 00001 00100 00111 01010 01101 10001 … Length log2(N) log2(N+2) 2 log2(N) N log2(3N+2) Example (N=10000) 14 28 10000 15 Hamming distance 1 2 Defects Shorts Opens /Delays/ Diagnostic Properties Bad Good

More complex case Open Driver Fault Short enable data data_in enable

Industrial approach to board test Visual inspection Optical/x-ray inspection Smoke test ;-) Power distribution test Structural test in-circuit test (ICT) Boundary Scan (BS) Test Processors/Cores (BIST) Functional test (FT)

Limitations of the Nail Probing Packaging styles DIP PGA BGA Multilayer boards chip PCB conductive layers

Test Access Methods: Usage Trends Test access by different test methods 1980 1990 2000 2010 Boundary Scan AOI and AXI Functional Testing Flying Probe In-Circuit Testing

IEEE 1149.1 Boundary Scan Standard Board level testing challenges Fault modeling at board level (digital) IEEE 1149.1 Boundary Scan Standard Test generation for interconnect faults Application of Boundary Scan

IEEE 1149.1 Boundary Scan: History Early 1980’s – problem of test access to PCBs via “bed-of-nails” fixture Mid 1980’s – Joint European Test Action Group (JETAG) 1986 – US companies involved: JETAG -> JTAG 1990 – JTAG Test Port became a standard [4]: IEEE Std. 1149.1: Test Access Port and Boundary Scan Architecture comprising serial data channel with a 4/5-pin interface and protocol

Test Access Via Boundary Scan TDI TDO

Test Access Via Boundary Scan

Test Access Via Boundary Scan Driver Sensor Virtual nails Defects covered: driver scan cell, driver amp, bond wire, leg, solder, interconnect, solder, leg, bond wire, driver amp, sensor scan cell

Test Access Via Boundary Scan I/O TAP port Ethernet Controller TDI TDO TCK TMS CPLD ADDR FPGA SRAM DATA CONTROL mP A D C DDRAM ADDR Flash Non-BS IC DATA CTRL I/O Printed Circuit Board

Boundary Scan basics Pin Pin Non-BScan Device BScan Device Core Logic TAP controller Pin BScan Cell TDO TMS TDI TCK ... some extra logic is needed for Test Access Non-BScan Device Core Logic Pin For describing Boundary Scan devices BSDL (Boundary Scan Description Language) models are used

IEEE 1149.1 Device Architecture BS Cells Core Logic TDO TDI (Test Data In) MUX Bypass MUX (Test Data Out) Identification Register Instruction Register (Test Mode Select) TMS TAP Controller TCK (Test Clock) Test Reset (Optional)

Typical Boundary Scan Cell (BC_1) BC_1 is used both at input and output pins 1 D Q Clk Data In (PI) Scan Out (SO) Mode Data Out (PO) Capture Scan Cell Update Hold Cell Scan In (SI) ShiftDR ClockDR UpdateDR

Boundary Scan Instructions SAMPLE /PRELOAD EXTEST BYPASS IDCODE INTEST CLAMP HIGHZ RUNBIST USERCODE Status Mandatory Optional

Boundary Scan Working Modes SAMPLE/PRELOAD instruction – sample mode Get snapshot of normal chip output signals 1 D Q Clk SO Mode ShiftDR ClockDR UpdateDR SI Core Logic Core Logic TDO TDI Get snapshot of normal chip output signals

Boundary Scan Working Modes SAMPLE/PRELOAD instruction – preload mode Shift out snapshot data and shift in new test data to be used later 1 D Q Clk SO Mode ShiftDR ClockDR UpdateDR SI Core Logic Core Logic TDO TDI Shift out snapshot data and shift in new test data to be used later

Boundary Scan Working Modes EXTEST instruction – driving and sensing: Test off-chip circuits and board-level interconnections 1 D Q Clk SO Mode ShiftDR ClockDR UpdateDR SI Core Logic Core Logic TDO TDI Test off-chip circuits and board-level interconnections

Boundary Scan Working Modes EXTEST instruction – shifting Shift out snapshot data and shift in new test data to be used later 1 D Q Clk SO Mode ShiftDR ClockDR UpdateDR SI Core Logic Core Logic TDO TDI Shift out snapshot data and shift in new test data to be used later

Typical BS Interconnect Test Flow BS mode Test bus actions Test data manipulations Test PRELOAD IRshift + DRshift Loading the first test vector to BS register (vector includes control/disable values for other devices on the bus) Vector 1 loaded EXTEST 1. Applying vector 1 to the DUT 2. Capturing test responses from DUT in BS reg. 3. Reading back test responses and loading new test vector to BS register Vector 1 applied and analyzed DRshift 1. Applying vector 2 to the DUT 3. Reading back test responses & and loading new test vector to BS register Vector 2 applied 1. Applying vector N to the DUT 3. Reading back test responses Vector N applied Time N test vectors: (N+1) DRshifts + 2 IRshifts ≈ (N+1) DRshifts

Boundary Scan Working Modes BYPASS instruction: Bypasses the corresponding chip using 1-bit register To TDO TDI Shift DR Clock DR D Q Clk Core Logic TDO TDI BYPASS SAMPLE Similar instructions: CLAMP, HIGHZ

Boundary Scan Working Modes IDCODE instruction: Connects the component device identification register serially between TDI and TDO in the Shift-DR TAP controller state Allows board-level test controller or external tester to read out component ID Required whenever a JEDEC identification register is included in the design TDO TDI Version Part Number Manufacturer ID 1 4-bits Any format 16-bits 11-bits Coded form of JEDEC

TAP Controller State Diagram IR Branch DR Branch The TAP state diagram has two main branches and two idle states. Shift IR and Shift DR states are used to insert instructions and test data into the BS device. These are the most important states. The number of states is exactly 16 (to avoid some undefined states) TMS signal is used to move through the states

Boundary Scan in Motion (Demo) http://www.testonica.com

IEEE 1149.1 Boundary Scan Standard Board level testing challenges Fault modeling at board level (digital) IEEE 1149.1 Boundary Scan Standard Test generation for interconnect faults Application of Boundary Scan

BSC implementation One or more BSC at each system input or output of on-chip system logic (core logic) BSC may be connected to chip-internal signals No BSC on: TAP pins (TCK, TMS, TDI, TDO, TRST) Compliance Enable Pins Non-digital pins (e.g. analog pins, power pins) No logic between BSC and I/O pin it is connected to (a buffer is allowed)

BSC implementation TDI TDO TCK TMS VCC Analog BScan Cell GND Core Logic (digital) TAP controller BScan Cell TDO TMS TDI TCK + – VCC GND Analog A BScan Cell can actually combine several cells per pin, depending on pin type (e.g. 2 cell output, 3-cell bi-directional, etc.).

BSC implementation Input: 24 Pin on-chip system logic

BSC implementation 2-state output: 7 Pin on-chip system logic

BSC implementation 3-state output: 6 on-chip system logic 5 Pin Driver “control” “data” 5 Pin on-chip system logic 6

BSC implementation Bi-directional, 2-cell: 6 on-chip system logic 5 Driver “control” “data” 5 Pin on-chip system logic 6

BSC implementation Bi-directional, 3-cell: 2 on-chip 1 system logic Driver “control” “out” 1 Pin on-chip system logic 2 “in”

BSC implementation 3-state outputs, shared control cell: 4 on-chip Driver “control” “data” 3 Pin 4 2 on-chip system logic

Board-level Test using Boundary Scan (in theory) JTAG connector Board (UUT) TAP Interconnect Logic TDI TMS TCK TDO Infrastructure test (generated by using BSDL models) Interconnect test (BSDL models + interconnection netlist)

Board-level Test using Boundary Scan Infrastructure test Interconnect test One needs to specify behavioral models for non-BS components to get acceptable test coverage No standard description format exists Additional tasks: Cluster logic test – semi-automated RAM Test External connectors test LED or display test (can be assisted by a camera/sensor) FLASH test/program/read ID – in-system programming

Board-level Test using Boundary Scan POWER JTAG Microprocessor PLD RAM Flash Clock generator Cluster logic Buffers/MUXes Pull-up/Pull-down resistors Jumpers D/A converter External connectors (analog and digital) TDI LEDs RAM A A µP D D C C (RAM) D CLK A TDO Flash A RS232 D C TDI C (FLASH) PLD CLK TDO Jumpers UUT CLUSTER

Interconnect Test through Clusters OE 1 BScan IC 1 Buffer BScan IC 2 IN 2 3 OUT B C A BScan IC 3

RAM / Flash Test To generate test: Chip select BScan IC 1 BScan IC 2 RAM 1 RAM 2 Flash To generate test: Specify constraints that will select only one device RAM/Flash model in special format that provides description of read/write protocol

Cluster Logic Test (Manual) BScan IC 1 & BScan IC 2 1 Truth table 000 0 001 1 010 1 … 111 1 Provide cluster’s truth table

External connectors Only interconnect test will be performed! Boundary Scan Controller JTAG Board BScan IC Matching Board or I/O module Only interconnect test will be performed! The real protocol of external connector is not tested

Boundary Scan Test Development Typical workflow Parsed Netlist CAD Netlist Importer Constraints Description of boards come in different formats (depends on CAD system used by designer)  CAD Import is the first step Common problems: Netlist doesn’t fully correspond to board CAD Importer does not work correctly

Boundary Scan Test Development Typical workflow Parsed Netlist Classifier CAD Netlist Importer BSDL Models Constraints Parser Models for non-BS components (buffers, ram, flash, etc) Scan-path configuration Netlist with drive/sense constraints Common problems: BSDL file is not available Model of non-BS component is absent in the library

Boundary Scan Test Development Typical workflow Parsed Netlist Classifier CAD Netlist Importer BSDL Models Constraints Parser Models for non-BS components (buffers, ram, flash, etc) Scan-path configuration Functional models for RAM/Flash Netlist with drive/sense constraints Interconnect ATPG RAM Test, Flash Test/Program Generator Compiled Test Program Test Coverage Report Constraints Compiled Test Data

IEEE 1149.1 Summary Boundary Scan Standard has become absolutely essential: No longer possible to test printed circuit boards with bed-of-nails tester Not possible to test multi-chip modules at all without it Supports BIST, external testing with Automatic Test Equipment, and boundary scan chain reconfiguration as BIST pattern generator and response compacter Now getting widespread usage

Boundary Scan – Evolution 1149.4 – Mixed-Signal Test Bus (testing analog signals) 1149.6 – Boundary-Scan Testing of Advanced Digital Networks (testing high speed links) 1149.7 – CJTAG – Compact JTAG (debug) 1149.8.1 – Sensing using capacitive plate P1687 – IJTAG – Internal JTAG (component testing, BIST) 1500 – Embedded Core Test (SoC testing) 1532 – In-System Configuration of Programmable Devices P1581 – Static Component Interconnection Test Protocol and Architecture (memory-to-BS_chip links testing) 5001 – NEXUS – Global Embedded Processor Debug Interface (SW development, debug, and emulation)

What to look further Leading BScan companies: Training software: Goepel Electronic (http://www.goepel.com/) ASSET Intertech (http://www.asset-intertech.com/) JTAG Technologies (http://www.jtag.com/) Training software: Trainer 1149 by Testonica Lab (http://www.testonica.com/1149/download.htm) Scan Coach by Goepel Electronic (http://www.goepel.com/content/html_en/index.php?site=bs_BScanCoach) Scan Educator by Texas Instruments (http://focus.ti.com/docs/toolsw/folders/print/scan_educator.html) Literature: Kenneth P. Parker, The Boundary-Scan Handbook Lecture notes by Ben Bennetts Active Universities: Porto, Portugal Tallinn, Estonia Liberec and Prague, Czech Republic Lubljana, Slovenia