Algorithms and representations Structural vs. functional test

Slides:



Advertisements
Similar presentations
CMP238: Projeto e Teste de Sistemas VLSI Marcelo Lubaszewski Aula 4 - Teste PPGC - UFRGS 2005/I.
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.
Appendix: Other ATPG algorithms 1. TOPS – Dominators Kirkland and Mercer (1987) n Dominator of g – all paths from g to PO must pass through the dominator.
Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
10/4-6/05ELEC / Lecture 111 ELEC / (Fall 2005) Special Topics in Electrical Engineering Low-Power Design of Electronic Circuits.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 13/12alt1 Lecture 13 Sequential Circuit ATPG Time-Frame Expansion (Lecture 12alt in the Alternative.
1 Lecture 10 Sequential Circuit ATPG Time-Frame Expansion n Problem of sequential circuit ATPG n Time-frame expansion n Nine-valued logic n ATPG implementation.
Partial Implications, etc.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 91 Lecture 9 Combinational Automatic Test-Pattern Generation (ATPG) Basics n Algorithms and representations.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
Algorithms and representations Structural vs. functional test
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 9alt1 Lecture 9alt Combinational ATPG (A Shortened version of Original Lectures 9-12) n ATPG problem.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 61 Design for Testability Theory and Practice Lecture 6: Combinational ATPG n ATPG problem n Example.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt1 Lecture 11alt Advances in Combinational ATPG Algorithms  Branch and Bound Search  FAN – Multiple.
1 Lecture 10 Redundancy Removal Using ATPG n Redundancy identification n Redundancy removal Original slides copyright by Mike Bushnell and Vishwani Agrawal.
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.
1 CSCE 932, Spring 2007 Test Generation for Combinational Logic.
VLSI Testing Lecture 7: Combinational ATPG
Technical University Tallinn, ESTONIA 1 Boolean derivatives Calculation of the Boolean derivative: Given:
ECE 260B – CSE 241A Testing 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website:
Copyright 2001, Agrawal & BushnellLecture 6: Sequential ATPG1 VLSI Testing Lecture 6: Sequential ATPG n Problem of sequential circuit ATPG n Time-frame.
Manufacture Testing of Digital Circuits
Solving the Logic Satisfiability problem Solving the Logic Satisfiability problem Jesus De Loera.
Faults in Circuits and Fault Diagnosis
NP-Completeness A problem is NP-complete if: It is in NP
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
Lecture 9 Advanced Combinational ATPG Algorithms
VLSI Testing Lecture 6: Fault Simulation
Algorithms and representations Structural vs. functional test
VLSI Testing Lecture 14: Built-In Self-Test
Lecture 7 Fault Simulation
Definitions D-Algorithm (Roth) D-cubes Bridging faults
Reading: Hambley Chapters
332:437 Lecture 12 Finite State Machine Design
Definition Partial-scan architecture Historical background
Lecture 13 Sequential Circuit ATPG Time-Frame Expansion
Definitions D-Algorithm (Roth) D-cubes Bridging faults
VLSI Testing Lecture 6: Fault Simulation
VLSI Testing Lecture 7: Combinational ATPG
Lecture 10 Sequential Circuit ATPG Time-Frame Expansion
ELEC Digital Logic Circuits Fall 2014 Logic Testing (Chapter 12)
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
Chapter 4 Gates and Circuits.
Fundamentals of Computer Science Part i2
LPSAT: A Unified Approach to RTL Satisfiability
Richard Anderson Lecture 25 NP-Completeness
Binary Decision Diagrams
ECE 667 Synthesis and Verification of Digital Circuits
Automatic Test Generation for Combinational Circuits
VLSI Testing Lecture 8: Sequential ATPG
Lecture 12 Advanced Combinational ATPG Algorithms
Fault Models, Fault Simulation and Test Generation
VLSI Testing Lecture 7: Combinational ATPG
Sungho Kang Yonsei University
Automatic Test Pattern Generation
VLSI Testing Lecture 9: Delay Test
UNIVERSITY OF MASSACHUSETTS Dept
VLSI Testing Lecture 7: Delay Test
XOR Function Logic Symbol  Description  Truth Table 
VLSI Testing Lecture 4: Testability Analysis
UNIVERSITY OF MASSACHUSETTS Dept
Lecture 26 Logic BIST Architectures
ELEC Digital Logic Circuits Fall 2015 Logic Testing (Chapter 12)
CSE 589 Applied Algorithms Spring 1999
Lecture 13 Sequential Circuit ATPG Time-Frame Expansion
CS137: Electronic Design Automation
Presentation transcript:

Lecture 7 Combinational Automatic Test-Pattern Generation (ATPG) for SAF - Basics Algorithms and representations Structural vs. functional test Definitions Search spaces Completeness Algebras Types of Algorithms Original slides copyright by Mike Bushnell and Vishwani Agrawal

Origins of Stuck-Faults Eldred (1959) – First use of structural testing for the Honeywell Datamatic 1000 computer Galey, Norby, Roth (1961) – First publication of stuck-at-0 and stuck-at-1 faults Seshu & Freeman (1962) – Use of stuck-faults for parallel fault simulation Poage (1963) – Theoretical analysis of stuck-at faults

Functional vs. Structural ATPG

Carry Circuit

Functional vs. Structural (Continued) Functional ATPG – generate complete set of tests for circuit input-output combinations 129 inputs, 65 outputs: 2129 = 680,564,733,841,876,926,926,749, 214,863,536,422,912 patterns Using 1 GHz ATE, would take 2.15 x 1022 years Structural test: No redundant adder hardware, 64 bit slices Each with 27 faults (using fault equivalence) At most 64 x 27 = 1728 faults (tests) Takes 0.000001728 s on 1 GHz ATE Designer gives small set of functional tests – augment with structural tests to boost coverage to 98+ %

Definition of Automatic Test Pattern Generator Operations on digital hardware: Inject fault into circuit modeled in computer Use various ways to activate and propagate fault effect through hardware to circuit output Output flips from expected to faulty signal Electron-beam (E-beam) test observes internal signals – “picture” of nodes charged to 0 and 1 in different colors Too expensive Scan design – add test hardware to all flip-flops to make them a giant shift register in test mode Can shift state in, scan state out Widely used – makes sequential test combinational Costs: 5 to 20% chip area, circuit delay, extra pin, longer test sequence

Circuit and Binary Decision Tree

Binary Decision Diagram BDD – Follow path from source to sink node – product of literals along path gives Boolean value at sink Rightmost path: A B C = 1 Problem: Size varies greatly with variable order

Algorithm Completeness Definition: Algorithm is complete if it ultimately can search entire binary decision tree, as needed, to generate a test - May take too long Untestable fault – no test for it even after entire tree searched Combinational circuits only – untestable faults are redundant, showing the presence of unnecessary hardware

Algebras: Roth’s 5-Valued and Muth’s 9-Valued Good Machine 1 X Failing Machine 1 X Symbol D 1 X G0 G1 F0 F1 Meaning 1/0 0/1 0/0 1/1 X/X 0/X 1/X X/0 X/1 Roth’s Algebra Muth’s Additions

Roth’s and Muth’s Higher-Order Algebras Represent two machines, which are simulated simultaneously by a computer program: Good circuit machine (1st value) Bad circuit machine (2nd value) Better to represent both in the algebra: Need only 1 pass of ATPG to solve both Good machine values that preclude bad machine values become obvious sooner & vice versa Needed for complete ATPG: Combinational: Multi-path sensitization, Roth Algebra Sequential: Muth Algebra -- good and bad machines may have different initial values due to fault

Exhaustive Algorithm For n-input circuit, generate all 2n input patterns Infeasible, unless circuit is partitioned into cones of logic, with 15 inputs - Perform exhaustive ATPG for each cone - Misses faults that require specific activation patterns for multiple cones to be tested

Random-Pattern Generation Flow chart for method Use to get tests for 60-80% of faults, then switch to D-algorithm or other ATPG for rest

Boolean Difference Symbolic Method (Sellers et al.) g = G (X1, X2, …, Xn) for the fault site fj = Fj (g, X1, X2, …, Xn) 1 j m Xi = 0 or 1 for 1 i n

Boolean Difference (Sellers, Hsiao, Bearnson) Shannon’s Expansion Theorem: F (X1, X2, …, Xn) = X2 F (X1, 1, …, Xn) + X2 F (X1, 0, …, Xn) Boolean Difference (partial derivative): Fj g Fault Detection Requirements: G (X1, X2, …, Xn) = 1 = Fj (1, X1, X2, …, Xn) Fj (0, X1, …, Xn) = Fj (1, X1, X2, …, Xn) Fj (0, X1, …, Xn) = 1

Path Sensitization Method Circuit Example Fault Sensitization Fault Propagation Line Justification

Path Sensitization Method Circuit Example Try path f – h – k – L blocked at j, since there is no way to justify the 1 on i 1 D D D D 1 D 1 1

Path Sensitization Method Circuit Example Try simultaneous paths f – h – k – L and g – i – j – k – L blocked at k because D-frontier (chain of D or D) disappears 1 D D 1 1 D D D 1

Path Sensitization Method Circuit Example Final try: path g – i – j – k – L – test found! D D 1 D D D 1 1

Boolean Satisfiability 2SAT: xi xj + xj xk + xl xm … = 0 xp xy + xr xs + xt xu … = 0 3SAT: xi xj xk + xj xk xl + xl xm xn … = 0 xp xy + xr xs xt + xt xu xv … = 0 . .

Satisfiability Example for AND Gate S ak bk ck = 0 (non-tautology) or P (ak + bk + ck) = 1 (satisfiability) AND gate signal relationships: Cube: If a = 0, then z = 0 a z If b = 0, then z = 0 b z If z = 1, then a = 1 AND b = 1 z ab If a = 1 AND b = 1, then z = 1 a b z Sum to get: a z + b z + a b z = 0 (third relationship is redundant with 1st two)

Conjunctive Normal Form (CNF) X Z 0 1 1 0 Want CNF to be TRUE Concatenate CNF for all gates in circuit Input to modern SAT engines

Pseudo-Boolean and Boolean False Functions Pseudo-Boolean function: use ordinary + -- integer arithmetic operators Complementation of x represented by 1 – x Fpseudo—Bool = 2 z + a b – a z – b z – a b z = 0 Energy function representation: let any variable be in the range (0, 1) in pseudo-Boolean function Boolean false expression: fAND (a, b, z) = z (ab) = a z + b z + a b z

AND Gate Implication Graph Really efficient Each variable has 2 nodes, one for each literal If … then clause represented by edge from if literal to then literal Transform into transitive closure graph When node true, all reachable states are true ANDing operator used for 3SAT relations

Computational Complexity Ibarra and Sahni analysis – NP-Complete (no polynomial expression found for compute time, presumed to be exponential) Worst case: no_pi inputs, 2 no_pi input combinations no_ff flip-flops, 4 no_ff initial flip-flop states (good machine 0 or 1 bad machine 0 or 1) work to forward or reverse simulate n logic gates a n Complexity: O (n x 2 no_pi x 4 no_ff)

History of Algorithm Speedups D-ALG PODEM FAN TOPS SOCRATES Waicukauski et al. EST TRAN Recursive learning Tafertshofer et al. Est. speedup over D-ALG (normalized to D-ALG time) 1 7 23 292 1574 ATPG System 2189 ATPG System 8765 ATPG System 3005 ATPG System 485 25057 Year 1966 1981 1983 1987 1988 1990 1991 1993 1995 1997

Analog Fault Modeling Impractical for Logic ATPG Huge # of different possible analog faults in digital circuit Exponential complexity of ATPG algorithm – a 20 flip-flop circuit can take days of computing Cannot afford to go to a lower-level model Most test-pattern generators for digital circuits cannot even model at the transistor switch level (see textbook for 5 examples of switch-level ATPG)