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

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.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 91 Lecture 9 Combinational Automatic Test-Pattern Generation (ATPG) Basics n Algorithms and representations.
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.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 101 Lecture 10 Combinational ATPG and Logic Redundancy n Redundancy identification n Redundancy removal.
ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.
Unit II Test Generation
VLSI Testing Lecture 7: Combinational ATPG
Technical University Tallinn, ESTONIA 1 Boolean derivatives Calculation of the Boolean derivative: Given:
Chapter 7. Testing of a digital circuit
Technical University Tallinn, ESTONIA 1 Faults in Circuits and Fault Diagnosis 0110 T FaultF 5 located Fault table Test experiment Test generation.
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
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
ELEC 7950 – VLSI Design and Test Seminar
Lecture 5: Design for Testability. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 12: Design for Testability2 Outline  Testing –Logic Verification –Silicon.
1 VLSI Design Lecture Four Design & Testing Issues Dr. Richard Spillman PLU Spring 2003.
EE3A1 Computer Hardware and Digital Design Lecture 13 Detecting faults in Digital Systems.
Lecture 9 Advanced Combinational ATPG Algorithms
Algorithms and representations Structural vs. functional test
Lecture 14 Sequential Circuit ATPG Simulation-Based Methods
VLSI Testing Lecture 4: Testability Analysis
VLSI Testing Lecture 6: Fault Simulation
VLSI Testing Lecture 14: Built-In Self-Test
Lecture 7 Fault Simulation
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
Definitions D-Algorithm (Roth) D-cubes Bridging faults
VLSI Testing engr. uconn. edu/~tehrani/teaching/test/index
Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)
Definition Partial-scan architecture Historical background
Lecture 13 Sequential Circuit ATPG Time-Frame Expansion
Definitions D-Algorithm (Roth) D-cubes Bridging faults
Lecture 12: Design for Testability
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
Overview: Fault Diagnosis
Lecture 12: Design for Testability
Lecture 5 Fault Modeling
Automatic Test Generation for Combinational Circuits
VLSI Testing Lecture 8: Sequential ATPG
Lecture 12 Advanced Combinational ATPG Algorithms
A New ATPG Algorithm for 21st Century: The wojoRithm
Fault Models, Fault Simulation and Test Generation
332:437 Lecture 3 Hardware Design Methodology and Advanced Logic Design Hardware design.
VLSI Testing Lecture 7: Combinational ATPG
Automatic Test Pattern Generation
Topics Switch networks. Combinational testing..
VLSI Testing Lecture 9: Delay Test
VLSI Testing Lecture 7: Delay Test
VLSI Testing Lecture 4: Testability Analysis
VLSI Testing Lecture 3: Fault Modeling
Lecture 26 Logic BIST Architectures
ELEC Digital Logic Circuits Fall 2015 Logic Testing (Chapter 12)
Lecture 14 Sequential Circuit ATPG Simulation-Based Methods
Lecture 13 Sequential Circuit ATPG Time-Frame Expansion
Motivation and economics Definitions
Presentation transcript:

Lecture 9 Combinational Automatic Test-Pattern Generation (ATPG) Basics Algorithms and representations Structural vs. functional test Definitions Search spaces Completeness Algebras Types of Algorithms Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Functional vs. Structural ATPG Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Carry Circuit Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 = 1088 faults (tests) Takes 0.000001088 s on 1 GHz ATE Designer gives small set of functional tests – augment with structural tests to boost coverage to 98+ % Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Circuit and Binary Decision Tree Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Algorithm Completeness Definition: Algorithm is complete if it ultimately can search entire binary decision tree, as needed, to generate a test Untestable fault – no test for it even after entire tree searched Combinational circuits only – untestable faults are redundant, showing the presence of unnecessary hardware Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Algebras: Roth’s 5-Valued and Muth’s 9-Valued Good Machine 1 X Failing Machine 1 X Symbol D 0 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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Detecting Stuck-at Faults Inputs Fault Free Faulty Responses AB Response A/0 B/0 Z/0 A/1 B/1 Z/1 00 1 01 1 1 10 1 1 11 1 1 1 1

Sequential Circuit R 1 Q A S 2 Inputs Faulty Response Response 01 X 00 FF Faulty Response SR Response A/0 S/0 R/0 A/1 S/1 R/1 01 X 00 10 11

Types of Testing

Types of Tests The exhaustive test used to detect the faults on a 2-input AND gate is not practical for circuits with 20 or more primary inputs Pseudo-exhaustive: exhaustive for components in the circuits segmentation or partitioning A random test is also viable to detect faults, but pseudo-exhaustive tests are more realistic for Stuck-at Faults Deterministic or fault oriented tests

Functional Testing Exhaustive & pseudo-exhaustive testing : Partial dependence circuits: a circuit in which primary outputs (PO) depend on all the primary inputs (PI) - each output tested using 2ni inputs (ni < n shows inputs affecting PO)

Functional Testing Exhaustive & pseudo-exhaustive testing Example : x y Exhaustive test for each gate

Functional Testing Exhaustive & pseudo-exhaustive testing Partitioning technique : the circuit is partitioned into segments such that each segment has small number of inputs each segment is tested exhaustively usually inputs & output of each segment are not PIs or POs so we need to control segment inputs using PIs and observe its outputs using PO - this lead to sensitizing partitioning

Functional Testing Example : Consider the following circuit :

Functional Testing Example: the following shows 8 input vectors to test exhaustively h.

Functional Testing Example: Add vectors 5 - 8 to test exhaustively g and 9 -10 to test exhaustively y

Functional Testing Example: Add missing combinations to vectors 4 and 9 to test exhaustively x

Test Pattern Generation Manufacturing test ideally would check every node in the circuit to prove it is not stuck. Apply the smallest sequence of test vectors necessary to prove each node is not stuck. Good observability and controllability reduces number of test vectors required for manufacturing test. Reduces the cost of testing Motivates design-for-test 17: Design for Testability

Test Example A3 A2 A1 A0 n1 n2 n3 Y Minimum set: SA1 SA0 17: Design for Testability

Test Example A3 {0110} {1110} A2 A1 A0 n1 n2 n3 Y Minimum set: SA1 SA0 17: Design for Testability

Test Example A3 {0110} {1110} A2 {1010} {1110} A1 A0 n1 n2 n3 Y SA1 SA0 A3 {0110} {1110} A2 {1010} {1110} A1 A0 n1 n2 n3 Y Minimum set: 17: Design for Testability

Test Example A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} A0 n1 SA1 SA0 A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} A0 n1 n2 n3 Y Minimum set: 17: Design for Testability

Test Example A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} SA1 SA0 A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} A0 {0110} {0111} n1 n2 n3 Y Minimum set: 17: Design for Testability

Test Example A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} SA1 SA0 A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} A0 {0110} {0111} n1 {1110} {0110} n2 n3 Y Minimum set: 17: Design for Testability

Test Example A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} SA1 SA0 A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} A0 {0110} {0111} n1 {1110} {0110} n2 {0110} {0100} n3 Y Minimum set: 17: Design for Testability

Test Example A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} SA1 SA0 A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} A0 {0110} {0111} n1 {1110} {0110} n2 {0110} {0100} n3 {0101} {0110} Y Minimum set: 17: Design for Testability

Test Example A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} SA1 SA0 A3 {0110} {1110} A2 {1010} {1110} A1 {0100} {0110} A0 {0110} {0111} n1 {1110} {0110} n2 {0110} {0100} n3 {0101} {0110} Y {0110} {1110} Minimum set: {0100, 0101, 0110, 0111, 1010, 1110} 17: Design for Testability

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 for g s-a-0 output fj as: G (X1, X2, …, Xn) = 1 = Fj (1, X1, X2, …, Xn) Fj (0, X1, …, Xn) = Fj (1, X1, X2, …, Xn) Fj (0, X1, …, Xn) = 1 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Fauult-Tolerant digital System Design 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design For xi s-a-0 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design xi s-a-0 xi s-a-1 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design Example 1: x1 s-a-0, T(x1 / 0 ) = ? 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design Example 2: h s-a-0, h s-a-1, T(h / 0) = ?, T(h / 1) =? x 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design Proof (3) 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design T(G/0) = ? 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design 5 6 2 6 2 2 2 2 5 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design 11 week Fauult-Tolerant digital System Design

Fauult-Tolerant digital System Design x x , 11 week Fauult-Tolerant digital System Design

Path Sensitization Method Circuit Example Fault Sensitization Fault Propagation Line Justification Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 1≠ D D 1 1 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Path Sensitization Method Circuit Example Final try: path g – i – j – k – L – test found! D D 1 D D D 1 1 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Irredundant Hardware and Test Patterns Combinational ATPG can find redundant (unnecessary) hardware Fault Test a sa1, b sa0 A = 1 a sa0, b sa1 A = 0 Therefore, these faults are not redundant Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 10

Redundant Hardware and Simplification Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 10

Redundant Fault q sa1 Copyright 2001, Agrawal & Bushnell Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 10

Multiple Fault Masking f sa0 tested when fault q sa1 not there Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 10

Multiple Fault Masking Part II f sa0 masked when fault q sa1 also present Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 10

Intentional Redundant Implicant BC Eliminates hazards in circuit output Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 10

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9

Algorithm 7.1 Redundancy Removal Repeat until there are no more redundant faults: { Use ATPG to find all redundant faults; Remove all redundant faults with non- overlapping fault cone areas; } Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 10

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 Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 9