Testing (selected from Chapters 4, 5, 7, and 10) Fault models. ■ Testing of combinational circuits. ■ Testing of sequential circuits. ■ Manufacturing testing Errors are introduced during manufacturing. ■ Testing verifies that chip corresponds to design. ■ Varieties of testing: ■ – functional testing; – performance testing (binning chips by speed). ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 1 Copyright 1998, 2002 Prentice Hall PTR Testing also weeds out infant mortality. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Testing and faults ■ Fault model: Copyright 1998, 2002 Prentice Hall PTR Stuck-at-0/1 faults Stuck-at-0/1: logic gate output is always stuck at 0 or 1, independent of input values. ■ Correspondence to manufacturing defects depends on logic family. ■ Experiments show that 100% stuck-at-0/1 fault coverage corresponds to high overall fault coverage. ■ – possible locations of faults; – I/O behavior produced by the fault. Good news: if we have a fault model, we can test the network for every possible instantiation of that type of fault. ■ Bad news: it is difficult to enumerate all types of manufacturing faults. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 2 Page 3 Copyright 1998, 2002 Prentice Hall PTR Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 4 Copyright 1998, 2002 Prentice Hall PTR Testing procedure ■ Testing procedure: – set gate inputs; – observe gate output; – compare fault-free and observed gate output. ■ Test vector: set of gate inputs applied to a system. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 5 Copyright 1998, 2002 Prentice Hall PTR Stuck-at faults in gates a 0 0 1 1 Three ways to test NAND for stuck-at-0, only one way to test it for stuck-at-1. ■ Three ways to test NOR for stuck-at-1, only one way to test it for stuck-at-0. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 7 Copyright 1998, 2002 Prentice Hall PTR OK 1 1 1 0 SA0 0 0 0 0 SA1 1 1 1 1 a 0 0 1 1 b 0 1 0 1 NAND Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Testing single gates ■ b 0 1 0 1 OK 1 0 0 0 SA0 0 0 0 0 SA1 1 1 1 1 NOR Page 6 Copyright 1998, 2002 Prentice Hall PTR Testing combinational networks ■ 100% coverage: test every gate for – stuck-at-0; – stuck-at-1. Assume that there is only one faulty gate per network. ■ Most networks require more than one test vector to test all gates. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 8 Copyright 1998, 2002 Prentice Hall PTR Multiple test example Example Can test both NANDs for stuck-at-0 simultaneously (abc = 000). ■ Cannot test both NANDs for stuck-at-1 simultaneously due to inverter. Must use two vectors. ■ Each extra vector means longer testing time, longer tester occupation, higher costs. ■ Must also test inverter. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 9 Copyright 1998, 2002 Prentice Hall PTR Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Combinational network testing Two parts to testing: Page 10 Copyright 1998, 2002 Prentice Hall PTR Test generation (Chapter 10) Automatic test pattern generation (ATPG) generates a set of test vectors for a Boolean network (combinational ATPG) or sequential machine (sequential ATPG). ■ D notation allows to quickly denote fault: ■ – controlling the inputs of (possibly interior) gates; – observing the outputs of (possibly interior) gates. – D value on a node means that the signal is 0 in good and 1 in faulty circuit at that point. – D’ value is the opposite: 1 in good, 0 in faulty. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 11 Copyright 1998, 2002 Prentice Hall PTR Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 12 Copyright 1998, 2002 Prentice Hall PTR PODEM (path-oriented decision making) algorithm Goal: propagate D (or D’) value to primary outputs. ■ PODEM performs combinational test generation. Uses implicit enumeration. ■ Uses five values: 0, 1, D, D’, and X. Start all values at X. ■ In worst case, must examine all possible inputs, but can be implemented to run quickly. Fault propagation example ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 13 Copyright 1998, 2002 Prentice Hall PTR Fault propagation example, cont’d step 2 Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) start step 1 Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 14 Copyright 1998, 2002 Prentice Hall PTR Combinational testing example step 3 Page 15 Copyright 1998, 2002 Prentice Hall PTR Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 16 Copyright 1998, 2002 Prentice Hall PTR Testing procedure Goal: test gate D for stuck-at-0 fault. ■ First step: justify 0 values on gate inputs. ■ Work backward from gate to primary inputs: ■ – w1 = 0 (A output = 0); – i1 = i2 = 1. ■ Testing procedure, cont’d ■ – o1 gives different values if D is true/faulty. ■ – i3 = i4 = 1. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 17 Copyright 1998, 2002 Prentice Hall PTR a SA1 SA0 b In general, may have to propagate fault through multiple levels of logic to primary outputs. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Fault masking Redundant logic can mask faults: Work forward and backward: – F’s other input must be 0 to detect true/fault. – Justify 0 at E’s output. – Final result: i5 = 1; i6 = i7 = 0; i8 = don’t care. ■ Similarly: Observe the fault at a primary output: Page 18 Copyright 1998, 2002 Prentice Hall PTR Redundancy example Testing NOR for SA0 requires setting both inputs to 0. ■ Network topology ensures that one NOR input will always be 1. ■ Function reduces to 0: ■ – f = ((ab)’ + b)’ = (a’ + b’ + b)’ = 0. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 19 Copyright 1998, 2002 Prentice Hall PTR Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 20 Copyright 1998, 2002 Prentice Hall PTR Redundancies and testing Redundant logic cannot be controlled. ■ Observations requiring control of redundant logic may not be possible. ■ Redundant logic should be minimized to eliminate redundancy. Redundancies can introduce delay faults and other problems. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 21 Copyright 1998, 2002 Prentice Hall PTR Stuck-at-open/closed model ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Stuck-open behavior If t1 is stuck-open (switch cannot be closed), there can be no path from VDD to output capacitance. So, stuck-open is equivalent to stuck-at-0 in this case. ■ If t2 is stuck-open, the output can be discharged when a=1, but not when b=1. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 23 Copyright 1998, 2002 Prentice Hall PTR Models transistors always on/off. Page 22 Copyright 1998, 2002 Prentice Hall PTR Fault models in practice In spite of the existence of many fault models, the only fault model that is used in practice is the stuck-at model due to its simplicity. ■ Many test vectors that are developed for the stuck-at model also detect other type of defects. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 24 Copyright 1998, 2002 Prentice Hall PTR Delay fault ■ Delay falls outside acceptable limits: – gate delay fault assumes that all delays are lumped into one gate; – path delay fault models delay problems along path through network. ■ Delay problems reduce yield: – performance problems; – functional problems in some types of circuits. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 25 Copyright 1998, 2002 Prentice Hall PTR Sequential testing Much harder than combinational testing— can’t set memory element values directly. ■ Must apply sequences to put machine in proper state for test, be able to observe value of test. ■ Or, one must use design-for-testability techniques: add a scan path. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 26 Scan flip-flop Copyright 1998, 2002 Prentice Hall PTR Scan chain D Q/scan_out D D Q/scan_out 0 Q/scan_out 1 scan_in D ■ scan_mode Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) scan_in scan_in Q φ Page 27 Normal flip-flop behavior when scan_mode = 0. Copyright 1998, 2002 Prentice Hall PTR scan_mode ■ φ scan_mode φ Connect successive scan_outs to scan_ins. Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 28 Copyright 1998, 2002 Prentice Hall PTR Scan-based testing (1) When all flip-flops have been incorporated in a scan chain, they become part of a shift register. ■ In scan mode, any desired pattern can be shifted in. ■ By disabling scan mode for one clock cycle the combinational circuit response to the pattern can be captured in the flip-flops. ■ Scan-based testing (2) Primary inputs ■ The response can be shifted out and analyzed. memory chip scan_in Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 29 Copyright 1998, 2002 Prentice Hall PTR Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Partial scan Full scan is expensive—must roll out and roll in state many times during a set of tests. ■ Partial scan selects some registers for scanability. ■ Requires analysis to choose which registers are best for scan. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 31 Copyright 1998, 2002 Prentice Hall PTR Primary outputs Combinational logic Page 30 chip scan_out Copyright 1998, 2002 Prentice Hall PTR Boundary scan (Chapter 7) Boundary scan is a technique for testing chips on boards. Pads on chips are arranged into a scan chain that can be used to observe and control pins of all chips. ■ Requires some control circuitry on pads along with an on-chip controller and boundary-scan-mode control pins. ■ Revised by SG: January 18, 2004 Modern VLSI Design 3e: Testing (from Chapters 4, 5, 7 & 10) Page 32 Copyright 1998, 2002 Prentice Hall PTR