ece 553: testing and testable design of digital systes combinational atpg
TRANSCRIPT
![Page 1: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/1.jpg)
ECE 553: TESTING AND TESTABLE DESIGN OF
DIGITAL SYSTES
Combinational ATPG
![Page 2: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/2.jpg)
04/21/23 2
OverviewMajor ATPG algorithms
• Definitions• D-Algorithm (Roth) -- 1966
– D-cubes– Bridging faults– Logic gate function change faults
• PODEM (Goel) -- 1981– X-Path-Check– Backtracing
• Summary
![Page 3: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/3.jpg)
04/21/23 3
Forward Implication• Results in logic gate inputs that are
significantly labeled so that output is uniquely determined
• AND gate forward implication table:
![Page 4: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/4.jpg)
04/21/23 4
Backward Implication
• Unique determination of all gate inputs when the gate output and some of the inputs are given
![Page 5: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/5.jpg)
04/21/23 5
Implication Stack, Decision Tree, and BacktrackImplication Stack, Decision Tree, and Backtrack
0
1
0 0
0
0
0 11 1
1
E
F
BB
F F
1
UnexploredPresent AssignmentSearched and Infeasible
![Page 6: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/6.jpg)
04/21/23 6
Objectives and Backtracing in ATPGObjectives and Backtracing in ATPG
• Objective – desired signal value goal for ATPG– Guides it away from infeasible/hard solutions
– Uses heuristics
• Backtrace – Determines which primary input and value to set to achieve objective– Use heuristics such as nearest PI
• Forward trace – Determines gate through which the fault effect should be sensitized– Use heuristics such as output that is closest to the present
fault effect
![Page 7: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/7.jpg)
04/21/23 7
Branch-and-Bound Search• Efficiently searches binary search tree• Branching – At each tree level, selects which input
variable to set to what value• Bounding – Avoids exploring large tree portions by
artificially restricting search decision choices– Complete exploration is impractical– Uses heuristics
• Backtracking – Search fails, therefore undo some of the work completed and start searching from a location where search options still exist
![Page 8: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/8.jpg)
04/21/23 8
D-Algorithm – Roth (1966)D-Algorithm – Roth (1966)
• Fundamental concepts invented:– First complete ATPG algorithm
– D-Cube
– D-Calculus
– Implications – forward and backward
– Implication stack
– Backtrack
– Test Search Space
![Page 9: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/9.jpg)
04/21/23 9
Singular Cover ExampleSingular Cover Example• Minimal set of logic signal assignments to represent a function
– show prime implicants and prime implicates of Karnaugh map (with explicitly showing the outputs too)
GateAND
123
InputsA0X1
BX01
Outputd001
GateNOR
123
Inputsd1X0
eX10
OutputF001
![Page 10: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/10.jpg)
04/21/23 10
Primitive D-Cube of Failure• Models circuit faults:
– Stuck-at-0– Stuck-at-1– Other faults, such as Bridging fault (short circuit)– Arbitrary change in logic function
• AND Output sa0: “1 1 D”• AND Output sa1: “0 X D”
“X 0 D”• Wire sa0: “D”• Propagation D-cube – models conditions under
which fault effect propagates through gate
![Page 11: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/11.jpg)
04/21/23 11
Construction of PrimitiveD-Cubes of Failure
1. Make cube set 1 when good machine output is 1 and set 0 when good machine output is 0
2. Make cube set 1 when failing machine output is 1 and 0 when it is 0
3. Change 1 outputs to 0 and D-intersect each cube with every 0. If intersection works, change output of cube to D
4. Change 0 outputs to 1 and D-intersect each cube with every 1. If intersection works, change output of cube to D
![Page 12: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/12.jpg)
04/21/23 12
Gate Function Change D-Cube of Failure
Gate Function Change D-Cube of Failure
Cube-set
0
101
a
0X101X
b
X010X1
c
001011
Cube-set
PDFs forAND changing
to OR
a
0
1
b
1
0
c
D
D
![Page 13: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/13.jpg)
04/21/23 13
Propagation D-Cube• Collapsed truth table entry to characterize logic• Use Roth’s 5-valued algebra• AND gate: use the rules given earlier using and
but in this case work with good circuit only
Write all primitiveCubes of AND gateand then create
propagation cubes
AD1DD1D
B1DDDD1
dDDDDDD
![Page 14: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/14.jpg)
04/21/23 14
D-Cube Operation of D-IntersectionD-Cube Operation of D-Intersection – undefined (same as ) or – requires inversion of D and D• D-intersection: 0 0 = 0 X = X 0 = 0 1 1 = 1 X = X 1 = 1 X X = X• D-containment –
Cube a containsCube b if b is a subset of a
01XDD
000
111
X01XDD
DD
DD
![Page 15: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/15.jpg)
04/21/23 15
Implication Procedure
1. Model fault with appropriate primitive D-cube of failure (PDF)
2. Select propagation D-cubes to propagate fault effect to a circuit output (D-drive procedure)
3. Select singular cover cubes to justify internal circuit signals (Consistency procedure)
• Put signal assignments in test cube• Regrettably, cubes are selected very
arbitrarily by D-ALG
![Page 16: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/16.jpg)
04/21/23 16
D-Algorithm – Top Level
1. Number all circuit lines in increasing level order from PIs to POs;2. Select a primitive D-cube of the fault to be the test cube;
– Put logic outputs with inputs labeled as D (D) onto the D-frontier;
3. D-drive ();4. Consistency ();5. return ();
![Page 17: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/17.jpg)
04/21/23 17
D-Algorithm – D-drivewhile (untried fault effects on D-frontier)
select next untried D-frontier gate for propagation;
while (untried fault effect fanouts exist)select next untried fault effect fanout;
generate next untried propagation D-cube;
D-intersect selected cube with test cube;
if (intersection fails or is undefined) continue;
if (all propagation D-cubes tried & failed) break;
if (intersection succeeded)
add propagation D-cube to test cube -- recreate D-frontier;
Find all forward & backward implications of assignment;
save D-frontier, algorithm state, test cube, fanouts, fault;
break;
else if (intersection fails & D and D in test cube) Backtrack ();
else if (intersection fails) break;
if (all fault effects unpropagatable) Backtrack ();
![Page 18: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/18.jpg)
04/21/23 18
D-Algorithm -- Consistencyg = coordinates of test cube with 1’s & 0’s;if (g is only PIs) fault testable & stop;for (each unjustified signal in g)
Select highest # unjustified signal z in g, not a PI;if (inputs to gate z are both D and D) break;while (untried singular covers of gate z)
select next untried singular cover;if (no more singular covers)
If (no more stack choices) fault untestable & stop;else if (untried alternatives in Consistency)
pop implication stack -- try alternate assignment;else
Backtrack ();D-drive ();
If (singular cover D-intersects with z) delete z from g, add inputs to singular cover to g, find all forward and backward implications of new assignment, and break;
If (intersection fails) mark singular cover as failed;
![Page 19: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/19.jpg)
04/21/23 19
Backtrack
if (PO exists with fault effect) Consistency ();else pop prior implication stack setting to try alternate assignment;if (no untried choices in implication stack)
fault untestable & stop;
else return;
![Page 20: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/20.jpg)
04/21/23 20
Circuit Example 7.1 and Truth Table
Circuit Example 7.1 and Truth Table
Inputsa00001111
b00110011
c01010101
OutputF00010000
![Page 21: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/21.jpg)
04/21/23 21
Singular Cover & Propagation D-CubesSingular Cover & Propagation D-Cubes• Singular cover –
Used for justifying lines
• Propagation D-cubes – Conditions under which difference between good/failing machines propagates
A10
D1D
B1
010
1DDD1D
C
1
0
1DD
d100
10DDD
D0D
e
0111
0
DDD0DD
F
001
DDD
![Page 22: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/22.jpg)
04/21/23 22
Steps for Fault d sa0Steps for Fault d sa0
Step1
23
A1
B1
1
C
1
dD
D
e
00
F
D
Cube typePDF of AND gate
Prop. D-cube for NORSing. Cover of NAND
![Page 23: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/23.jpg)
04/21/23 23
Example 7.3 – Fault u sa1• Primitive D-cube of Failure
1
D
0
sa1
![Page 24: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/24.jpg)
04/21/23 24
Example 7.3 – Step 2 u sa1• Propagation D-cube for v
1
D
0
sa1D
0
![Page 25: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/25.jpg)
04/21/23 25
Example 7.3 – Step 2 u sa1• Forward and backward implications
1
D
0
sa1D
0
01
0
1
0
![Page 26: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/26.jpg)
04/21/23 26
Inconsistent
• d = 0 and m = 1 cannot justify r = 1 (equivalence)– Backtrack– Remove B = 0 assignment
![Page 27: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/27.jpg)
04/21/23 27
Example 7.3 – Backtrack• Need alternate propagation D-cube for v
1
sa1 D
0
![Page 28: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/28.jpg)
04/21/23 28
Example 7.3 – Step 3 u sa1• Propagation D-cube for v
1
sa1 D
01
D
![Page 29: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/29.jpg)
04/21/23 29
Example 7.3 – Step 4 u sa1• Propagation D-cube for Z
D
1
sa1D
01
D
1
1
![Page 30: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/30.jpg)
04/21/23 30
Example 7.3 – Step 4 u sa1• Propagation D-cube for Z and implications
D
1
sa1D
01
D
1
1
00
0
1 1
![Page 31: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/31.jpg)
04/21/23 31
PODEM -- Goel (1981)
PODEM -- Goel (1981)
• New concepts introduced:– Expand binary decision tree only around
primary inputs– Use X-PATH-CHECK to test whether D-
frontier still there
– Objectives -- bring ATPG closer to propagating
D (D) to PO– Backtracing
![Page 32: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/32.jpg)
04/21/23 32
Motivation
• IBM introduced semiconductor DRAM memory into its mainframes – late 1970’s
• Memory had error correction and translation circuits – improved reliability– D-ALG unable to test these circuits
• Search too undirected
• Large XOR-gate trees
• Must set all external inputs to define output
– Needed a better ATPG tool
![Page 33: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/33.jpg)
04/21/23 33
PODEM High-Level Flow
1. Assign binary value to unassigned PI2. Determine implications of all PIs3. Test Generated? If so, done.4. Test possible with more assigned PIs? If maybe, go to Step 15. Is there untried combination of values on assigned PIs? If not, exit: untestable fault6. Set untried combination of values on assigned PIs using objectives and backtrace. Then, go to Step 2
![Page 34: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/34.jpg)
04/21/23 34
• Select path s – Y for fault propagation
sa1
Example 7.3 AgainExample 7.3 Again
![Page 35: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/35.jpg)
04/21/23 35
• Initial objective: Set r to 1 to excite fault
1
sa1
Example 7.3 -- Step 2 s sa1
Example 7.3 -- Step 2 s sa1
![Page 36: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/36.jpg)
04/21/23 36
Example 7.3 -- Step 3 s sa1• Backtrace from r
1
sa1
![Page 37: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/37.jpg)
04/21/23 37
Example 7.3 -- Step 4 s sa1• Set A = 0 in implication stack
1
0
sa1
![Page 38: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/38.jpg)
04/21/23 38
Example 7.3 -- Step 5 s sa1• Forward implications: d = 0, X = 1
1
sa1
00
1
![Page 39: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/39.jpg)
04/21/23 39
Example 7.3 -- Step 6 s sa1• Initial objective: set r to 1
1
sa1
00
1
![Page 40: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/40.jpg)
04/21/23 40
Example 7.3 -- Step 7 s sa1• Backtrace from r again
1
sa1
00
1
![Page 41: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/41.jpg)
04/21/23 41
Example 7.3 -- Step 8 s sa1• Set B to 1. Implications in stack: A = 0, B = 1
1
sa1
00
1
1
![Page 42: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/42.jpg)
04/21/23 42
D
Example 7.3 -- Step 9 s sa1• Forward implications: k = 1, m = 0, r = 1, q = 1, Y =
1, s = D, u = D, v = D, Z = 1
1
sa1
1
0
1
1
DD
1
0
1
0
1
![Page 43: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/43.jpg)
04/21/23 43
Backtrack -- Step 10 s sa1• X-PATH-CHECK shows paths s – Y and s – u – v – Z blocked (D-frontier disappeared)
1
sa1
00
1
![Page 44: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/44.jpg)
04/21/23 44
Step 11 -- s sa1• Set B = 0 (alternate assignment)
1
sa1
0
0
![Page 45: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/45.jpg)
04/21/23 45
Backtrack -- s sa1
1sa1
00
1
0 1
0
1
01
01
• Forward implications: d = 0, X = 1, m = 1, r = 0, s = 1, q = 0, Y = 1, v = 0, Z = 1. Fault not sensitized.
![Page 46: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/46.jpg)
04/21/23 46
Step 13 -- s sa1• Set A = 1 (alternate assignment)
1
sa1
1
![Page 47: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/47.jpg)
04/21/23 47
Step 14 -- s sa1• Backtrace from r again
1
sa1
1
![Page 48: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/48.jpg)
04/21/23 48
Step 15 -- s sa1• Set B = 0. Implications in stack: A = 1, B = 0
1
sa1
1
0
![Page 49: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/49.jpg)
04/21/23 49
Backtrack -- s sa1• Forward implications: d = 0, X = 1, m = 1, r = 0. Conflict:
fault not sensitized. Backtrack
sa1
1
0
0
0
1
1
1
1
10
01
![Page 50: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/50.jpg)
04/21/23 50
Step 17 -- s sa1• Set B = 1 (alternate assignment)
1
sa1
1
1
![Page 51: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/51.jpg)
04/21/23 51
Fault Tested -- Step 18 s sa1• Forward implications: d = 1, m = 1, r = 1, q = 0, s = D, v = D, X =
0, Y = D
1
sa1
1
1
11
0
D
0
D
D
X
D
![Page 52: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/52.jpg)
04/21/23 52
Backtrace (s, vs)Pseudo-Code
v = vs;
while (s is a gate output)if (s is NAND or INVERTER or NOR) v = v;if (objective requires setting all inputs)
select unassigned input a of s with hardest controllability to value v;
elseselect unassigned input a of s with easiest controllability to
value v;s = a;
return (s, v) /* Gate and value to be assigned */;
![Page 53: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/53.jpg)
04/21/23 53
Objective Selection Code
if (gate g is unassigned) return (g, v);select a gate P from the D-frontier;select an unassigned input l of P;if (gate g has controlling value)
c = controlling input value of g;
else if (0 value easier to get at input of XOR/EQUIV gate)c = 1;
else c = 0;return (l, c );
![Page 54: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/54.jpg)
04/21/23 54
PODEM Algorithmwhile (no fault effect at POs)
if (xpathcheck (D-frontier)
(l, vl) = Objective (fault, vfault);
(pi, vpi) = Backtrace (l, vl);
Imply (pi, vpi);
if (PODEM (fault, vfault) == SUCCESS) return (SUCCESS);
(pi, vpi) = Backtrack ();
Imply (pi, vpi);
if (PODEM (fault, vfault) == SUCCESS) return (SUCCESS);
Imply (pi, “X”);return (FAILURE);
else if (implication stack exhausted)return (FAILURE);
else Backtrack ();
return (SUCCESS);
![Page 55: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/55.jpg)
04/21/23 55
Summary• D-ALG – First complete ATPG algorithm
– D-Cube– D-Calculus– Implications – forward and backward– Implication stack– Backup
• PODEM– Expand decision tree only around PIs– Use X-PATH-CHECK to see if D-frontier exists– Objectives -- bring ATPG closer to getting D (D) to PO– Backtracing
![Page 56: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/56.jpg)
04/21/23 56
Appendices
![Page 57: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/57.jpg)
04/21/23 57
Implication StackImplication Stack• Push-down stack. Records:
– Each signal set in circuit by ATPG
– Whether alternate signal value already tried
– Portion of binary search tree already searched
![Page 58: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/58.jpg)
04/21/23 58
Objectives and Backtracing in ATPGObjectives and Backtracing in ATPG• Objective – desired signal value goal for ATPG
– Guides it away from infeasible/hard solutions– Uses heuristics
• Backtrace – Determines which primary input and value to set to achieve objective– Use testability measures
![Page 59: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/59.jpg)
04/21/23 59
Bridging Fault CircuitBridging Fault Circuit
![Page 60: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/60.jpg)
04/21/23 60
Bridging Fault D-Cubes of Failure
Bridging Fault D-Cubes of Failure
Cube-set0
1
01
a0X1X0X1
bX0X101X
a*0X1X011
b*X0X1011
Cube-set
PDFs forBridging fault
b
01
a*
1D
b*
D1
a
10
![Page 61: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/61.jpg)
04/21/23 61
Example 7.2 Fault A sa0Example 7.2 Fault A sa0
• Step 1 – D-Drive – Set A = 1
D1 D
![Page 62: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/62.jpg)
04/21/23 62
Step 2 -- Example 7.2Step 2 -- Example 7.2
D1
0
D
• Step 2 – D-Drive – Set f = 0
D
![Page 63: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/63.jpg)
04/21/23 63
Step 3 -- Example 7.2Step 3 -- Example 7.2
D1
0
D
• Step 3 – D-Drive – Set k = 1
D
1
D
![Page 64: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/64.jpg)
04/21/23 64
Step 4 -- Example 7.2Step 4 -- Example 7.2
D1
0
D
• Step 4 – Consistency – Set g = 1
D
1
D
1
![Page 65: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/65.jpg)
04/21/23 65
Step 5 -- Example 7.2Step 5 -- Example 7.2
D1
0
D
• Step 5 – Consistency – f = 0 Already set
D
1
D
1
![Page 66: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/66.jpg)
04/21/23 66
Step 6 -- Example 7.2Step 6 -- Example 7.2
D1
0
D
• Step 6 – Consistency – Set c = 0, Set e = 0
D
1
D
1
0
0
![Page 67: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/67.jpg)
04/21/23 67
D-Chain Dies -- Example 7.2D-Chain Dies -- Example 7.2
D1
0
X
D
• Step 7 – Consistency – Set B = 0• D-Chain dies
D
1
D
1
0
0
0
Test cube: A, B, C, D, e, f, g, h, k, L
![Page 68: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/68.jpg)
04/21/23 68
Example 7.3 – Fault s sa1• Primitive D-cube of Failure
1
Dsa1
![Page 69: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/69.jpg)
04/21/23 69
Example 7.3 – Step 2 s sa1• Propagation D-cube for v
1
D
0
sa1 D1D
![Page 70: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/70.jpg)
04/21/23 70
Example 7.3 – Step 2 s sa1• Forward & Backward Implications
1
Dsa1
0D
D
1 1
0
11
![Page 71: ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG](https://reader035.vdocuments.us/reader035/viewer/2022081512/5697c0211a28abf838cd2cbe/html5/thumbnails/71.jpg)
04/21/23 71
Example 7.3 – Step 3 s sa1• Propagation D-cube for Z – test found!
1
Dsa1
0D
D
1 1
0
11
1
D