ece 3060 vlsi and advanced digital design
play

ECE 3060 VLSI and Advanced Digital Design Lecture 19 Testing Test - PowerPoint PPT Presentation

ECE 3060 VLSI and Advanced Digital Design Lecture 19 Testing Test Cost A large percentage (5-40%) of the manufacturing cost of a VLSI chip is due to test Cost is larger for larger circuits more functionality in a


  1. ECE 3060 VLSI and Advanced Digital Design Lecture 19 Testing

  2. Test Cost • A large percentage (5-40%) of the manufacturing cost of a VLSI chip is due to test • Cost is larger for larger circuits – more functionality in a "System-on-a-Chip" means more potential faults – brute-force "stimulate all possible input vectors" can take centuries or more • Mixed-technology test – analog, digital on same chip

  3. Testing: Definition • Testing = experiment in which a system is stimulated and its response analyzed in order to determine if the system will behave correctly under arbitrary input stimulus and prescribed failure mechanisms input observed . . stimulus response . . . . 123 shorts opens failure mechanisms

  4. Failure mechanisms • Failure mechanisms can be analyzed by looking at how they affect system behaviour at different levels of abstraction – messages system level – programs/data structures processor level – instructions/words instruction set level – logic values/words register level – logic values logic level Control | Data

  5. Definitions • Fault = Defect = Physical failure – e.g., shorts, opens, near-open, near-short • Error = effect of fault, i.e., incorrect logic value due to fault 1 0 1 Error line stuck-at-0 Fault

  6. Source of Errors • Note that errors may be due to design errors or fabrication errors • Design errors: – incomplete or inconsistent specification – incorrect mappings between different levels of design – violations of design rules • Fabrication errors: – wrong components – incorrect wiring – shorts caused by improper soldering

  7. Fault Model • Model describes nature of the fault • stuck at 0 • stuck at 1 Vdd • stuck open • stuck closed

  8. Stuck Closed: Wired-AND or Wired-OR • Wired-AND 8 a b |c d |output 8 ------------------------------------------ 8 0 0 |0 0 |0 8 0 1 |0 0 |0 8 1 0 |0 0 |0 8 1 1 |1 1 |1 • Wired-OR 8 a b |c d |output 8 ------------------------------------------ 8 0 0 |0 0 |0 8 0 1 |1 1 |1 8 1 0 |1 1 |1 8 1 1 |1 1 |1

  9. Fault Detection Z( x ) x N x = input Z(t) = response N f Z f ( x ) x • Test set = { t 1 , t 2 ,…, t m } – Z( t 1 ), Z( t 2 ),…, Z( t m ) – Z f ( t 1 ), Z f ( t 2 ),…, Z f ( t m ) • Definition: – t detects f iff Z f ( t ) != Z( t )

  10. Test Set for Fault f x 1 Z 1 WIRED-OR fault x 2 Z 2 x 3 • Z 1 = x 1 · x 2 , Z 2 = x 2 · x 3 • Z 1f = x 1 ·( x 2 + x 3 ) , Z 2f = x 2 + x 3 • t = {0,1,1} detects f • Set of all tests that detect f (single out) is given by – Z( x ) ⊕ Z f ( x ) = 1

  11. Examples - f 1 = x 4 s-a-0 → x 1 ′ x 4 =1 - Simulate 1001 with f 2 = G 2 s-a-1: path sensitization G 1 x 2 x 3 G 3 x 1 G 5 G 2 Z x 4 G 4

  12. Examples (cont) - f 3 = a s-a-1: Z f ( x )= Z ( x ), undetectable, harmless A a D C B

  13. Synthesis and Testability • Assumptions – combinational circuit – single or multiple stuck-at faults • Redundancy removal – use tests to search for untestable faults and reduce circuit • Algorithm: – if stuck-at-0 on net y is untestable 8 set y = 0 8 propagate constant, reducing logic – if stuck-at-1 on net y is untestable 8 set y = 1 8 propagate constant, reducing logic

  14. Example

  15. Design for Testability • Status (normal, inoperable, degraded) of a device to be determined • DFT allows cost-effective development of tests to determine status • Controllability – setting net y to a 1 (1-controllability) – setting net y to a 0 (0-controllability) • Observability – ability to drive an error from net y to a primary output

  16. Test Point Insertion C1 . . C2 . C1 . . CP0 for 0-injection C2 . CP0 C1 . CP1 for 1-injection . C2 . CP0 CP1 • Design circuits to be initializable • Partition large circuits into smaller subcircuits in order to reduce test cost

  17. Scan Registers Din 0 D Q 1 test N/TCLK • N/T = 0 => data loaded from data line Din – normal mode • N/T = 1 => data loaded from test input – test mode D2 Dn D1 0 0 0 D Q D Q ... D Q 1 1 1 test N/T CLK

  18. Scan Register Usage D0,…,D7 C1 C2 replace with D0,…,D7 scan C1 C2 reg N/T test • N/T = 0 => normal mode • N/T = 1 => data loaded serially from test input

  19. Fully Integrated Serial Scan n m n m z z x x C1 C1 state ns ns state test_out k k k k scan reg • test seq: ( x 1 , state 1 ),…,( x i , state i ) N/T test • responses: ( z 1 , ns 1 ) , …, ( z i , ns i ) • set N/T=1, scan state 1 into scan reg. • Apply x 1 to input, N/T = 0 • next clock edge latches ns 1 • set N/T = 1, scan out ns 1 while scanning in x 2 • repeat i times

Recommend


More recommend