Design for Testability

Slides:



Advertisements
Similar presentations
Introduction to DFT Alexander Gnusin.
Advertisements

Digital Integrated Circuits© Prentice Hall 1995 Design Methodologies Design for Test.
BOUNDARY SCAN.
V. Vaithianathan, AP/ECE
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.
Leonardo da Vinci ALLEGRO © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 Scan design techniques J. M. Martins Ferreira FEUP / DEEC - Rua.
1 Chapter Design For Testability The Scan-Path Technique The testing problems with sequential circuit can be overcome by two properties: 1.The.
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 21alt1 Lecture 21alt BIST -- Built-In Self-Test (Alternative to Lectures 25, 26 and 27) n Definition.
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.
Lecture 28 IEEE JTAG Boundary Scan Standard
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 291 Lecture 29 IEEE JTAG Advanced Boundary Scan & Description Language (BSDL) n Special scan.
1 Lecture 23 Design for Testability (DFT): Full-Scan n Definition n Ad-hoc methods n Scan design Design rules Scan register Scan flip-flops Scan test sequences.
Design for Testability Theory and Practice Lecture 11: BIST
ELEN 468 Lecture 241 ELEN 468 Advanced Logic Design Lecture 24 Design for Testability.
Copyright 2001, Agrawal & BushnellDay-2 PM Lecture 121 Design for Testability Theory and Practice Lecture 12: System Diagnosis n Definition n Functional.
Vishwani D. Agrawal James J. Danaher Professor
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 20alt1 Lecture 20alt DFT: Partial, Random-Access & Boundary Scan n Definition n Partial-scan architecture.
Lecture 27 Memory and Delay-Fault Built-In Self-Testing
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.
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.
Design for Testability
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.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
Technical University Tallinn, ESTONIA 1 Boolean derivatives Calculation of the Boolean derivative: Given:
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS Design for Testability (DFT) - 2.
Modern VLSI Design 3e: Chapter 5,6 Copyright  2002 Prentice Hall PTR Adapted by Yunsi Fei Topics n Sequential machine (§5.2, §5.3) n FSM construction.
Testing of integrated circuits and design for testability J. Christiansen CERN - EP/MIC
CSE477 L28 DFT.1Irwin&Vijay, PSU, 2003 CSE477 VLSI Digital Circuits Fall 2003 Lecture 28: Design for Test Mary Jane Irwin ( )
LEONARDO INSIGHT II / TAP-MM ASTEP - The Boundary Scan Test (BST) technology © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 The Boundary.
Technical University Tallinn, ESTONIA 1 Faults in Circuits and Fault Diagnosis 0110 T FaultF 5 located Fault table Test experiment Test generation.
Fault models Stuck-at Stuck-at-1 Reset coupling 0 0 Set coupling Inversion coupling Transition  /0 0 1 Transition  /1 1.
Unit III Design for Testability
Logic BIST Logic BIST.
Design for Testability By Dr. Amin Danial Asham. References An Introduction to Logic Circuit Testing.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
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.
Technical University Tallinn, ESTONIA Introduction: The Problem is Money? Cost of testing Quality Cost of quality Cost Cost of the fault 100% 0% Optimum.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
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.
Section 1  Quickly identify faulty components  Design new, efficient testing methodologies to offset the complexity of FPGA testing as compared to.
Technical University Tallinn, ESTONIA Copyright by Raimund Ubar 1 Raimund Ubar N.Mazurova, J.Smahtina, E.Orasson, J.Raik Tallinn Technical University.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
Technical University Tallinn, ESTONIA 1 Raimund Ubar TTÜ Tallinn, 21. mai 2003 Hästitestitavad ja isetestivad digitaalsüsteemid.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
SYSTEM-LEVEL TEST TECHNIQUES INTRODUCTION In the 1970s, the in-circuit testing (ICT) method appeared. In the 1970s, the in-circuit testing (ICT) method.
1 VLSI Design Lecture Four Design & Testing Issues Dr. Richard Spillman PLU Spring 2003.
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
VLSI Testing Lecture 14: System Diagnosis
COUPING WITH THE INTERCONNECT
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
Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)
Definition Partial-scan architecture Historical background
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
Overview: Fault Diagnosis
CPE/EE 422/522 Advanced Logic Design L17
Sungho Kang Yonsei University
Sungho Kang Yonsei University
Design for Testability
Lecture 26 Logic BIST Architectures
VLSI Testing Lecture 13: DFT and Scan
Presentation transcript:

Design for Testability Outline Ad Hoc Design for Testability Techniques Method of test points Multiplexing and demultiplexing of test points Time sharing of I/O for normal working and testing modes Partitioning of registers and large combinational circuits Scan-Path Design Scan-path design concept Controllability and observability by means of scan-path Full and partial serial scan-paths Non-serial scan design Classical scan designs

Ad Hoc Design for Testability Techniques Method of Test Points: Block 1 is not observable, Block 2 is not controllable Block 1 Block 2 Improving controllability and observability: OP 1- controllability: CP = 0 - normal working mode CP = 1 - controlling Block 2 with signal 1 Block 1 1 Block 2 CP OP 0- controllability: CP = 1 - normal working mode CP = 0 - controlling Block 2 with signal 0 Block 1 & Block 2 CP

Ad Hoc Design for Testability Techniques Method of Test Points: Block 1 is not observable, Block 2 is not controllable Block 1 Block 2 Improving controllability: Normal working mode: CP1 = 0, CP2 = 1 Controlling Block 2 with 1: CP1 = 1, CP2 = 1 Controlling Block 2 with 0: CP2 = 0 Block 1 1 & Block 2 CP1 CP2 Normal working mode: CP2 = 0 Controlling Block 2 with 1: CP1 = 1, CP2 = 1 Controlling Block 2 with 0: CP1 = 0, CP2 = 1 Block 1 MUX Block 2 CP1 CP2

Ad Hoc Design for Testability Techniques Multiplexing monitor points: To reduce the number of output pins for observing monitor points, multiplexer can be used: 2n observation points are replaced by a single output and n inputs to address a selected observation point Disadvantage: Only one observation point can be observed at a time 1 MUX OUT 2n-1 x1 x2 xn Number of additional pins: (n + 1) Number of observable points: [2n] Advantage: (n + 1) << 2n

Ad Hoc Design for Testability Techniques Multiplexing monitor points: To reduce the number of output pins for observing monitor points, multiplexer can be used: To reduce the number of inputs, a counter (or a shift register) can be used to drive the address lines of the multiplexer Disadvantage: Only one observation point can be observed at a time 1 MUX OUT 2n-1 c Counter Number of additional pins: 2 Nmber of observable points: [2n] Advantage: 2 << 2n

Ad Hoc Design for Testability Techniques Demultiplexer for implementing control points: To reduce the number of input pins for controlling testpoints, demultiplexer and a latch register can be used. Disadvantage: N clock times are required between test vectors to set up the proper control values CP1 1 CP2 x DMUX 2n-1 CPN x1 x2 xn Number of additional pins: (n + 1) Number of control points: 2n-1  N  2n Advantage: (n + 1) << N

Ad Hoc Design for Testability Techniques Demultiplexer for implementing control points: To reduce the number of input pins for controlling testpoints, demultiplexer and a latch register can be used. To reduce the number of inputs for addressing, a counter (or a shift register) can be used to drive the address lines of the demultiplexer CP1 1 CP2 x DMUX 2n-1 CPN c Counter Disadvantage: N clock times are required between test vectors to set up the proper control values Number of additional pins: 2 Number of control points: N Advantage: 2 << N

Time-sharing of outputs for monitoring To reduce the number of output pins for observing monitor points, time-sharing of working outputs can be introduced: no additional outputs are needed To reduce the number of inputs, again counter or shift register can be used if needed MUX Original circuit Number of additional pins: 1 Number of control points: N Advantage: 1 << N

Time-sharing of inputs for controlling CP1 To reduce the number of input pins for controlling test points, time-sharing of working inputs can be introduced. To reduce the number of inputs for driving the address lines of demultiplexer, counter or shift register can be used if needed 1 CP2 Normal input lines N CPN DMUX Advantage: 1 << N Number of additional pins: 1 Number of control points: N

Example: DFT with MUX-s and DMUX-s Given a circuit: CP1 and CP2 are not controllable CP3 and CP4 are not observable DFT task: Improve the testability by using a single control input, no additional inputs/outputs allowed CP1 1 1 CP2 2 2 CP3 3 3 CP4 4 4

Example: DFT with MUX-s and DMUX-s Given a circuit: CP3 and CP4 are not observable  Improving the observability T Mode MUX Coding: Norm. 1 Test 1 T CP1 1 1 CP2 2 2 CP3 3 3 CP4 1 MUX 4 4 1 MUX Result: A single pin T is needed

Example: DFT with MUX-s and DMUX-s Given a circuit: CP1 and CP2 are not controllable  Improving the controllability Coding: Q Mode DMUX MUX T Counter 00 Norm. 1 1 Q Decoder 01 Contr x 10 Test 1 DMUX 1 FF CP1 1 MUX 1 DMUX 1 FF CP2 1 MUX 2 1 2 CP3 3 3 Result: A single pin T is needed CP4 4 4

Example: DFT with MUX-s and DMUX-s z1 x1 Q Mode DMUX MUX MUX 1 1 MUX MUX 2 2 z2 x2 F1 F3 z3 y1 00 00 Norm 1 1 1 1 x3 z4 01 Contr F4 x x x x F2 010 010 Test 1 1 T Counter Counter 1 1 Obs 1 1 1 1 Decoder Decoder Q 100 100 Obs 1 1 2 2 10 101 Obs 1 1 3 DMUX DMUX 1 1 FF FF CP1 CP1 1 1 MUX MUX 1 1 1 1 Result: A single pin T is needed 1 1 1 1 CP CP 2 2 MUX 2 2 2 2 2 2 2 MUX 2 CP 3 3 3 3 3 4 3 4 CP4

Ad Hoc Design for Testability Techniques Examples of good candidates for control points: control, address, and data bus lines on bus-structured designs enable/hold inputs of microprocessors enable and read/write inputs to memory devices clock and preset/clear inputs to memory devices (flip-flops, counters, ...) data select inputs to multiplexers and demultiplexers control lines on tristate devices Examples of good candidates for observation points: stem lines associated with signals having high fanout global feedback paths redundant signal lines outputs of logic devices having many inputs (multiplexers, parity generators) outputs from state devices (flip-flops, counters, shift registers) address, control and data busses

Fault redundancy and testability Redundant gates are removed: x1 & x11 1 x1 & 1 1 x12 x2 y & 1 & 1 x2 y & 1 & 1 x3 & x4 & x3 & x4 & Remaining gate Fault at x12 not testable Faults at x2 not testable

Ad Hoc Design for Testability Techniques Logical redundancy: Hazard control circuitry: 1 01 Redundancy should be avoided: If a redundant fault occurs, it may invalidate some test for nonredundant faults Redundant faults cause difficulty in calculating fault coverage Much test generation time can be spent in trying to generate a test for a redundant fault Redundancy intentionally added: To eliminate hazards in combinational circuits To achieve high reliability (using error detecting circuits) & 01 T 10 1 & 1 1 & 1  0 Redundant AND-gate Fault  0 not testable Additional control input added: T = 1 - normal working mode T = 0 - testing mode

Ad Hoc Design for Testability Techniques Fault redundancy: Testable error control circuitry: Error control circuitry: Decoder Decoder  1   1  Error detected No error T E = 1 if decoder is fault-free Fault  1 not testable Additional control input added: T  0 - normal working mode T = 1 - testing mode

Ad Hoc Design for Testability Techniques Partitioning of registers (counters): 16 bit counter divided into two 8-bit counters: Instead of 216 = 65536 clocks, 2x28 = 512 clocks needed If tested in parallel, only 256 clocks needed IN OUT IN OUT C REG 1 REG 2 CL CL CP: Tester Data CP: Tester Data CP: Data Inhibit CP: Data Inhibit & & & IN OUT & IN OUT REG 2 REG 1 CL C CL & & OP CP: Clock Inhibit CP: Tester Clock

Ad Hoc Design for Testability Techniques Partitioning of large combinational circuits: The time complexity of test generation and fault simulation grows faster than a linear function of circuit size Partioning of large circuits reduces these costs I/O sharing of normal and testing modes is used Three modes can be chosen: - normal mode - testing C1 - testing C2 (bolded lines) DMUX1 C1 MUX3 C1 MUX1 MUX2 C2 MUX4 DMUX2 C2 How many additional inputs are needed?

Combinational circuit Scan-Path Design The complexity of testing is a function of the number of feedback loops and their length The longer a feedback loop, the more clock cycles are needed to initialize and sensitize patterns Scan-register is a aregister with both shift and parallel-load capability T = 0 - normal working mode T = 1 - scan mode Normal mode : flip-flops are connected to the combinational circuit Test mode: flip-flops are disconnected from the combinational circuit and connected to each other to form a shift register IN OUT Combinational circuit Scan-IN q’ R q Scan-OUT q & 1 D T q’ Scan-IN & C T Scan-OUT

Scan-Path Design and Testability Two possibilities for improving controllability/observability SCANOUT MUX OUT IN DMUX SCAN IN

Combinational circuit Parallel Scan-Path Combinational circuit IN OUT R1 Scan-IN 1 Scan-OUT 1 R2 Scan-IN 2 Scan-OUT 2 In parallel scan path flip-flops can be organized in more than one scan chain Advantage: time  Disadvantage: # pins 

Combinational circuit Partial Scan-Path IN OUT In partial scan instead of full-scan, it may be advantageous to scan only some of the flip-flops Example: counter – even bits joined in the scan-register Combinational circuit Scan-IN R1 Scan-OUT R2

Partial Scan Path Bus Hierarhical test generation with Scan-Path: Scan-In y 4 3 1 R + 2 IN * IN* # Control Part y y 1 2 y y 3 4 Scan-Out a R · c 1 M + 1 e Bus R 2 M · 3 b · M * IN · 2 · d Data Part

Testing with Minimal DFT Hierarhical test generation with Scan-Path: y 4 3 1 R + 2 IN * IN* # Control Part Scan-In y y 1 2 y y 3 4 Scan-Out a R · c 1 M + 1 e Bus R 2 M · 3 b · M * IN · 2 · d Data Part

Combinational circuit Random Access Scan IN OUT Combinational circuit In random access scan each flip-flop in a logic network is selected individually by an address for control and observation of its state Example: Delay fault testing q’ R q Scan-IN & Scan-CL Scan-OUT X-Address DC Y-Address DC

Improving Testability by Inserting CPs Two possibilities for improving controllability/observability SCANOUT MUX OUT IN DMUX SCAN IN

Selection of Test Points Test point selection approaches Improving testability for any set of pseudo-random patterns (Pseudorandom BIST) Testability measures are used to characterize the controllability and observability of the circuit Improving testability for a given sequence of vectors (Functional BIST) Fault simulation is used for measuring the fault coverage Methods that are used: logic simulation, fault simulation, estimation of controllability and observability values, path tracing

Random BIST vs Functional BIST Reference Result  Go/NoGo UUT Traditional functional testing Normal operation Reference  Go/NoGo Result UUT Signature Functional BIST Test generator UUT HW overhead Signature  Go/NoGo HW overhead Reference Deterministic functional test set Random test set

Improving Testability by Inserting CPs Circuit Fault coverage 100% Fault Simulation Not detected faults Test sequence Selection of CPs Circuit modification

Functional BIST

Selection of Test Points Method: Simulation of given test patterns Identification of the faults that are detected The remaining faults are classified as A: Faults that were not excited B: Faults at gate inputs that were excited but not propagated to the gate output C: Faults that were excited but not propagated to circuit output The faults A and B require control points for their detection The faults C may be detected by either by observation points or by control points Control points selection should be carried out before observation points selection

Classification of Not-Detected Faults Class C: Faults at x1 are not propagated to the output Classes A and B need controllability x1 1 x2 1 y x3 1 Class C needs either controllability or observability 1 Always 1 x4 & x5 Class A: Fault x3  1 is not activated Class B: Faults at x5 are not propagated through the gate

Selection of Test Points Classification of faults 1 & x1 x2 x3 x4 x5 a b c y Given test: No Test patterns Fault table Inputs Intern. points 1 2 3 4 5 a b c - Not detected faults: Class Faults Missing signals A x1/0: x1 = 1 is missing A b /0: b = 1 is missing B x3/0: x3 a = 11 is missing B a /0: x3 a = 11 is missing C x2/0: x1x2= 01 OK x1/0 x2/0 x3/0 a /0 b /0

Selection of Test Points Classification of faults 1 & x1 x2 x3 x4 x5 a b c y Given test: No Test patterns Fault table Inputs Intern. points 1 2 3 4 5 a b c - Not detected faults: Class Faults Missing signals A x1/0: x1 = 1 is missing A b /0: b = 1 is missing B x3/0: x3 a = 11 is missing B a /0: x3 a = 11 is missing C x2/0: x1x2= 01 OK x1/0 x2/0 x3/0 a /0 b /0

Selection of Test Points Classification of faults 1 & x1 x2 x3 x4 x5 a b c y Given test: No Test patterns Fault table Inputs Intern. points 1 2 3 4 5 a b c - Not detected faults: Class Faults Missing signals A x1/0: x1 = 1 is missing A b /0: b = 1 is missing B x3/0: x3 a = 11 is missing B a /0: x3 a = 11 is missing C x2/0: x1x2= 01 OK x1/0 x2/0 x3/0 a /0 b /0

Selection of Test Points Classification of faults 1 & x1 x2 x3 x4 x5 a b c y Given test: No Test patterns Fault table Inputs Intern. points 1 2 3 4 5 a b c - Not detected faults: Class Faults Missing signals A x1/0: x1 = 1 is missing A b /0: b = 1 is missing B x3/0: x3 a = 11 is missing B a /0: x3 a = 11 is missing C x2/0: x1x2= 01 OK x1/0 x2/0 x3/0 a /0 b /0

Selection of Test Points Classification of faults 1 & x1 x2 x3 x4 x5 a b c y Given test: No Test patterns Fault table Inputs Intern. points 1 2 3 4 5 a b c - Not detected faults: Class Faults Missing signals A x1/0: x1 = 1 is missing A b /0: b = 1 is missing B x3/0: x3 a = 11 is missing B a /0: x3 a = 11 is missing C x2/0: x1x2= 01 OK, but path activation is missing x1/0 x2/0 x3/0 a /0 b /0

Selection of Test Points: Procedure 1. Selection of control points: Once control point candidates are identified for the faults A and B, a minimum number of control points (CP) can be identified This can be formulated as a minimum coverage problem where a minimum CPs are selected such that at least one CP candidate is included for each fault in A and B F1 F2 F3 F4 F5 F6 F7 F8 F9 CP1 1 CP2 CP3 CP4 CP5 Faults Control point candidates Selected control points

Selection of Test Points: Procedure 2. Selection of observation points Once the CPs are selected, the given test patterns are augmented to accommodate the additional inputs assotiated with the CPs and fault simulation is performed The fault class C is updated For each fault, in C the circuit lines to which the effect of the fault propagates, are identified as a potential observation point candidates A minimum covering problem is formulated and solved to find the observation points to be added Minimization of control points New fault simulation F1 F2 F3 F4 F5 F6 F7 F8 F9 CP1 1 CP2 CP3 CP4 CP5 DMUX Control CP1 CP2 CPN Fault class C updated Test

Selection of Test Points 1 & x1 x2 x3 x4 x5 a b c y x1/0 x3/0 a /0 b /0 Minimization of test points: Not detected faults: Class A: x1/0, b /0 Class B: x3/0, a /0, Test point coverage: No Test patterns Inputs Intern. points 1 2 3 4 5 a b c Not detected faults x1/0 x3/0 a /0 b /0 Potential control points x1=1 + x3=1 a =1 b =1 To be selected

Insertion of Test Points x1/0 a Two test points: x1 1 b x2 a /0 & Selected test points: Class A: x1/0  x1=1 (control point) Class C: x2/0 (observable point) y x2/0 x3 b /0 1 x4 x3/0 & x5 c Corrected circuit: No Test patterns Inputs Intern. points 1 2 3 4 5 a b c T1=1 x1/0 T2 x1 1 a This pattern is to be repeated with T1=1 1 T1=1 b x2 & y x2/0 x3 1 x4 & x5 c T2 To be observed

Selection of Test Points Space Minimization of monitoring points: Additional outputs MUX Space and time compaction To reduce the number of output pins for observing monitor points, exor gates can be used: EXOR Time With MUX With EXOR Without MUX 1 OUT MUX  OUT 2n-1 c Counter

Selection of Test Points Space Minimization of monitor points: Additional outputs Additional time compaction MUX To reduce the number of output pins for observing monitor points, signature analyzers can be used: EXOR Time With SA With MUX With EXOR SCAN OUT 1 OUT MUX SA 2n-1 c Counter SCAN IN

Boundary Scan Standard

Boundary Scan Architecture TDO internal logic T A P TMS TCK TDI BSC Data_out Data_in

Boundary Scan Architecture Device ID. Register Bypass Register Instruction Register (IR) TDI TDO Boundary Scan Registers Internal logic Data Registers

Used at the input or output pins Boundary Scan Cell From last cell Update DR For HOLD To next cell Q SET CLR D Clock DR For SHIFT Test/Normal 1 From system pin Shift DR To system logic Used at the input or output pins

Boundary Scan Working Modes SAMPLE mode: Get snapshot of normal chip output signals

Boundary Scan Working Modes PRELOAD mode: Put data on boundary scan chain before next instruction

Boundary Scan Working Modes Extest instruction: Test off-chip circuits and board-level interconnections

Boundary Scan Working Modes INTEST instruction Feeds external test patterns in and shifts responses out

Boundary Scan Working Modes Bypass instruction: Bypasses the corresponding chip using 1-bit register To TDO From TDI Shift DR Clock DR Q D SET CLR

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 TDI TDO Version Part Number Manufacturer ID 1 4-bits Any format 16-bits Any format 11-bits Coded form of JEDEC

Fault Diagnosis with Boundary Scan Short Open 1 Assume wired AND 1 Assume stuck-at-0

Fault Diagnosis with Boundary Scan Short Open 10 00 01 11 Assume stuck-at-0 Assume wired AND Kautz showed in 1974 that a sufficient condition to detect any pair of short circuited nets was that the “horizontal” codes must be unique for all nets. Therefore the test length is ]log2(N)[

Fault Diagnosis with Boundary Scan Short Open 101 001 Suspected Wired AND short Ambiguiety open fault SAF/0 011 001 Assume wired AND 001 001 110 000 Assume stuck-at-0 All 0-s and all 1-s are forbidden codes because of stuck-at faults Therefore the final test length is ]log2(N+2)[

Fault Diagnosis with Boundary Scan Short Open 0 101 0 001 Suspected Wired AND short Ambiguiety solved open fault SAF/0 0 011 0 001 Assume wired AND 1 001 1 001 1 110 0 000 Assume stuck-at-0 To improve the diagnostic resolution we have to add one bit more

Synthesis of Testable Circuits Test generation: x1 x2 x3 y x1 & & y 1 x3 & 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 x2 & 4 test patterns are needed

Synthesis of Testable Circuits Two implementations for the same circuit: x1 x2 x3 011 110 011 x1 & 110  & y & y 101 1 x3 & & 110 x2 & First assignment Here: 4 test patterns are needed Here: Only 3 test patterns are needed

Synthesis of Testable Circuits Given: Calculation of constants: fi x1 x2 x3 y  New: f0 0 0 0 1 1 C0 = f0 f1 0 0 1 0 1 C1 = f0  f1 f2 0 1 0 1 0 C2 = f0  f2 f3 0 1 1 0 0 C3 = f0  f1  f2  f3 f4 1 0 0 0 1 C4 = f0  f4 f5 1 0 1 0 1 C5 = f0  f1  f4  f5 f6 1 1 0 1 1 C6 = f0  f2  f4  f6 f7 1 1 1 1 0 C3 = f0  f1  f2  f3  f4  f5  f6  f7

Synthesis of Testable Circuits Test generation method: Roles of test patterns: 1 & x1 x2 x3 x1 x2 x3 011 110 (0 0 0) 1 1 1 0 1 1 1 0 1 1 1 0 0 & 011 0 & 110  y 101 & 110 1 &

Testability as a trade-off Amusing testability: Theorem: You can test an arbitrary digital system by only 3 test patterns if you design it approprietly Proof: 011 011 001 & 001 & & 101 101 ? 011 001 & 011 1 101 010 & 001 101 Solution: System  FSM  Scan-Path  CC  NAND