good circuit clauses - mcgillzzilic/atpg05p3.pdfbenchmark networks mcnc test generation benchmarks...
TRANSCRIPT
![Page 1: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/1.jpg)
Good Circuit Clauses
[OR]: (b) (x1+a+b’)(b+x’1)(b+a’) [NAND]: (c) (x’3+a’+c’)(a+c)(x3+c)[AND]: (d) (b’+c’+d)(b+d’)(c+d’)[XOR]: (a) (x2+x3+a’)(x2+x3’+a)(x2’+x3+a)(x2’+x3’+a’)
a
b
c
d
x1
x2x3
f
![Page 2: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/2.jpg)
Faulty Circuit Clauses
Fan-out cone (all downstream nodes): [AND]: (bf’+c’+d)(bf+d’)(c+d’)
a
b
c
d
x1
x2x3
f
![Page 3: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/3.jpg)
Active Clauses
1. Difference between good and faulty circuit:(b’a+b+ bf) (b’a+b’+ b’f)
2. Observability implication (ba => da):(b’a+ da)
a
b
c
d
x1
x2x3
f
![Page 4: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/4.jpg)
Fault Location and Goal Clauses
Fault Location (node b is s-a-0): babb’f
Goal: da
a
b
c
d
x1
x2x3
f
![Page 5: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/5.jpg)
Example SAT Formula
Good circuit (32 literals):(a + x)(b + x)(~x + ~a ~b)(~a + g)(~x + g)(~g + a + x)(x + z)(~x + ~z)(~z + h)(~y + h)(~h + z +y)(b + ~y)(c + ~y)(y +~b + ~c)
Faulty circuit (18 literals):(~a + gf)(~xf + gf)(~gf + a + xf)(xf + zf)(~xf + ~zf)(~zf + hf)(~yf + hf)(~hf + zf +yf)
Active clause (29 literals):(~xa + x +xf)(~xa + ~x + ~xf)(~za + z + zf)(~za + ~z + ~zf)(~ga + g + gf)(~ga + ~g + ~gf)(~ha + h + hf)(~ha + ~h + ~hf)(~xa + za + ga)(~za + ha)
Fault site (3 literals) & Goal (2 literals)(x)(~xf)(xa)(ga + ha)
aa
bb
cc hh
ggzz
yy
ss--aa--00xx
![Page 6: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/6.jpg)
Search Strategies
Use a basic branch-and-bound approach
four basic parameters
solution areassolution areas
unidentified nonunidentified non--solution areassolution areas
identified nonidentified non--solution areassolution areas
1. initial assignment1. initial assignment
2. variable order2. variable order
3. Dynamic processing 3. Dynamic processing at each branch pointat each branch point
4. How long to search?4. How long to search?
![Page 7: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/7.jpg)
Orthogonal Strategies
In theory, any complete algorithm will find a test for every fault, if one exists.In practice, we cannot afford to wait for the worst case.
Compromise: try several strategies in succession for a short time (backtrack limit)
improves average performanceincreases robustnesshas difficulty with “hard” redundancies
Two strategies which complement each other are called orthogonal
![Page 8: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/8.jpg)
Static Variable Ordering
Larrabee’s heuristics (LSAT)Add clauses for structural heuristics (dominators, critical paths, etc.)static variable orderingthree search strategiesstatic non-local implications (after all faults have been tried without them)
No results reported without random patterns
![Page 9: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/9.jpg)
Benchmark Networks
MCNC Test Generation BenchmarksFull scan assumed for sequential networks
Combinational networks
Network PI PO Gates FaultsC432 36 7 159 413C499 41 32 370 850C880 60 26 320 703C1355 41 32 506 1058C1908 33 25 441 1102C2670 233 140 734 1678C3540 50 22 961 2177C5315 178 123 1473 3798C6288 32 32 2384 4835C7552 207 108 2164 4901S1494 14 25 577 1220S5378 214 213 1149 2850S9234 247 250 2264 465S13207 700 790 3287 7068S15850 611 684 4057 8340S35932 1763 2048 12236 28222S38417 1664 1742 10232 21113S38584 1464 1730 11774 26008Total 121029
![Page 10: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/10.jpg)
Larrabee’s Heurictics
With random tests (seconds | # aborts)
Without random tests(seconds | # aborts)
Ckt. LSAT SocratesC499 72 0 4.9 0C880 49 0 5.2 0C1355 99 0 13.9 0C1908 184 0 33.8 0C2670 479 0 57.5 0C3540 607 0 56.6 0C5315 464 0 31.3 0C6288 227 0 87.0 0C7552 2052 0 248.0 0
Ckt. LSAT SocratesC499 5240 3 29 0C880 1730 0 10 0C1355 9540 1 44 0C1908 31000 53 81 0C2670 8600 3 80 0C3540 110000 64 159 0C5315 56000 145 102 0C6288 980000 4506 139 0C7552 270000 197 418 0
![Page 11: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/11.jpg)
Greedy Heuristics
Heuristics must be evaluated without using random testsStatic variable ordering is not effectiveDynamic ordering can require too much computation at each branch of the search
Solution: greedy, dynamic orderings. At each branch point, select:
1st literal in 1st unsatisfied clauselast literal in 1st unsatisfied clause1st literal in last unsatisfied clauselast literal in last unsatisfied clause
Results: improved performance and robustness
![Page 12: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/12.jpg)
AlgorithmFor each uncaught fault:
extract CNF formulatry 4 greedy strategiesif all fail then
find static NLI (non local implications)repeat 4 strategies
endifif satisfied then
fault simulate test (to see what other faults are caught)else
flag possible redundant faultendif
Simple algorithm:no testability measuresno 5,9-valued algebrasno multiple backtracking
Standalone program TEGUS (also in sis 1.1, but slower)
![Page 13: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/13.jpg)
Experiments
Theoretical worst case performance is same for all complete ATPG algorithmsHeuristics must be evaluated by experimentTo compare heuristics:
use the 10 ISCAS’85 benchmark networks and 8 larger ISCAS’89 networks (assuming full scan)Run on same model computer as other reported results with same optionsCompare CPU time (not backtracks)Try with and without random tests
![Page 14: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/14.jpg)
TEGUS Base Results
Robust: 0 aborted faults in ISCAS’85/’89 networks without fault simulationEfficient: for 18 ISCAS networks
no fault simulation: 10 min. total CPU*75% extract, 25% SATwith random: 1 min. total CPU*55% extract, 20% fault sim, 15% SAT, 10% I/O10 MB peak memory
Simple: 3k lines of code300 to extract CNF formula800 for SAT package
**(DEC 3000/500)(DEC 3000/500)
![Page 15: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/15.jpg)
Robustness
Available results with no fault simulation for ISCAS’85/’89 networks
Algorithms with backtrack limits are incompleteHeuristics which abort on fewer faults are more robust
Algorithm# of Circuits
Aborted Faults
Normalized CPU Time
CHE88 7 798 1.6CHN89 9 1208 2.2JAC89 8 693 6.6GIR90 10 0 16.0ABR90 6 408 30.0RAJ90 10 1268 24.0GIR91 10 0 12.0TEGUS 18 0 1.0
![Page 16: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/16.jpg)
EfficiencyResults with random tests for ISCAS’85/’89 networks
See Tech Report UCB/ERL M92/112 or TCAD Sept. 96, Vol15, N0.9, 1167-1175Random tests mask effectiveness of deterministic algorithm
Algorithm# of Circuits
Aborted Faults
Normalized CPU Time
SIM89 6 0 30.0SCH89 10 0 1.7MIN89 9 16 22.0LAR89 10 0 31.0JAC89 10 0 6.8SCH90 18 0 36.0WAI90 18 0 1.0MAH90 15 0 9.4CHK91 1 0 2900.0GIR91 10 0 25.0MAT92 18 0 0.9TEGUS 18 0 1.0
![Page 17: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/17.jpg)
SAT Conclusions
Hybrid test generation algorithm extracts CNF formula for structural faults, and applies generic SAT algorithm to generate a testGreedy, dynamic ordering heuristics are as efficient as best published results for structural algorithmsHeuristics must be carefully compared using real implementations and without random testsOther fault models and test restrictions can be accommodated without modifying the generic SAT solver
![Page 18: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/18.jpg)
COEN 6521 VLSI TestingRedundant Faults
Zeljko Zilic
(Still in Ottawa)McGill University
![Page 19: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/19.jpg)
Overview
Goal: test vector generationAlgorithmic BackgroundFault Injection Calculus – D CalculusATPG Algorithms
D-AlgorithmPODEMFANSOCRATES
Satisfiability-based test generationComparison and other alternatives
![Page 20: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/20.jpg)
Irredundant Hardware and Test Patterns
Combinational ATPG suitable for finding redundant (unnecessary) hardware
Example: Fault Testa sa1, b sa0 A = 1a sa0, b sa1 A = 0
Test exist - above faults not redundant, hardware not redundant from testing standpoint
![Page 21: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/21.jpg)
Redundancies and synthesisTransparent (helpful for synthesis in circuit minimization)
Redundancies in testingHarmful as causing redundant errors
Desirable to identify such errors in fault lists prior to running testing algorithms
![Page 22: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/22.jpg)
Redundant Hardware and Simplification
Circuit simplification by removal of redundant hardware identified by ATPGExample: d s-a-0 redundant
Excitation condition d = 1 -> A = 1, B = 1Propagation condition B = 0 -contradiction with excitation condition
![Page 23: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/23.jpg)
Redundant Fault q s-a-1
If redundant q: s-a-1 not present then f: s-a-0 tested by pattern: (A,B,C) = (1,0,0)When redundant q:s-a-1 present then f:s-a-0 becoming untestable
Propagation of f:s-a-0 blocked
![Page 24: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/24.jpg)
Multiple Fault MaskingRedundant faults and fault masking
For multiple s-a-v faults if one of s-a-v faults redundant then can mask presence of other, otherwise testable faults
Example: f s-a-0 tested when fault q s-a-1 not there
![Page 25: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/25.jpg)
Multiple Fault Masking, cont.
f s-a-0 masked when fault q s-a-1 also present
![Page 26: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/26.jpg)
Hazard Elimination
Boolean function:OUT0 = A*B + A’*C
Non overlapping implicants:
A*B and A’*C
Redundant implicant B*C covering transition A: 0->1 (B,C = 1)
used to eliminate hazard at OUT0 Redundant fault e: s-a-0No impact on Boolean function
Masking of any testable fault using propagation path through e
![Page 27: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/27.jpg)
Fault Cone and D-frontierFault Cone -- Set of hardware affected by faultD-frontier – Set of gates closest to POs with fault effect(s) at input(s)
Fault Cone
D-frontier
![Page 28: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/28.jpg)
Algorithm 7.1Redundancy 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;}
![Page 29: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/29.jpg)
Redundancy Removal Algorithms
Moderate size circuitsRedundant hardware efficiently removed by standard synthesis tools like SYNOPSYS
Large circuitsToo complex for redundancy removal tools -need to be partitioned into sub-circuits of size feasible to handle by CAD
![Page 30: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/30.jpg)
Redundant Hardware and Synthesis
Elimination of redundant hardware helpful in reducing of chip area, delay and power consumptionIn some cases redundancies unavoidable
Mapping of irredundant circuit to standard cell library
Example: reversible logic synthesis
![Page 31: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/31.jpg)
Detecting Redundant GateReplacements in Verification by
Error Modeling
Katarzyna Radecka and Zeljko Zilic
McGill UniversityMontreal, Canada
10/04/01 V1.2
![Page 32: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/32.jpg)
Our Goal
• Verification by testing methods
– Simulating test vectors
– Finding design errors
• Test vector generation
– Universal Test approach [VTS2000]
• Crucial issue: redundant faults
– Undetectable by simulation
![Page 33: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/33.jpg)
Outline
• Verification by Error Modeling
• Error Model using Arithmetic Transform
• Redundancy removal – Approximate DCs
• Redundancy identification - Exact SAT
• Experiments, method comparison
![Page 34: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/34.jpg)
Implementation Verification
• Formal Methods –equivalence and model check
– Binary Decision Diagrams (BDDs)• Exponential size for multipliers
– Word-level decision diagrams: BMDs, WLDDs…• Based on Arithmetic Transform (AT)
– SAT-based assertion checking
• Simulation-based verification
– Code coverage
– Testing for design errorrs – error modeling
![Page 35: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/35.jpg)
Error Modeling
• Explicit Error Models: [Campenhout et al., 1998]
– Bus order, source and drive
– Gate and module replacement
– Stuck-at extensions: buses
• Implicit Error model
– Error: addition to correct circuit
– Reusable test vector generation scheme• Universal Testing (UTS) by Arithmetic Transform
![Page 36: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/36.jpg)
Error Detection by Universal Test Set
• UTS – detecting all faults in class
– Class considered – small error addition
• Arithmetic Transform AT
– Linear: AT(f)=Tf
• Theorem: For t term error, at most
log t Boolean lattice of vectors needed to
uniquely reconstruct its AT
−=
−−
−
11
1 0
nn
nn TT
TT
![Page 37: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/37.jpg)
Fault List Generation
• Many faults among gate replacements
• Problem: redundant faults– Accuracy of test vector coverage– Extensive simulation time
• Known solutions– Describing gate replacements by multiple
s-a-v [Al-Asaad and Hayes 1995]– Use of single s-a-v in representing a
subset of gate replacements [Abadir et al.1988]
![Page 38: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/38.jpg)
Our Redundancy Identifications
• Redundant errors caused by don’t cares
• Continuum of approximate methods– Using don’t cares for proximity information
CODC Subset Approximation
Approx. by 1-Minterm Distance
Approx. by 1-CubeDistance
Exact
![Page 39: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/39.jpg)
Using Don’t Cares
• Don’t care (DC) conditions:
– Controllability (CDC)
– Observability (ODC)
• Redundant Replacement of g with h:
• Problem: exact DC sets large, hard to obtain
– Use approximate DCs (subsets)
locallocal CarehCareg ∩=∩
![Page 40: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/40.jpg)
DC Subsets – Use of CODCs
• DCs: large sets, represented by BDDs
– CDCs: image calculation of careset• Forward network traversal
– Satisfiability (SDC): dependencies at node
– ODC: Boolean difference between downstreamODCs, SDCs
• Backward network traversal
• Need for approximations - ODCs most demanding
– Compatible ODCs (CODCs): intersection ofdownstream ODCs only
![Page 41: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/41.jpg)
Detection by DC Subsets
• Fault redundant if:
• Safe Approximation
– Some redundant faults undetected
– No redundant fault declared irredundant
approxapprox CarehCareg ∩=∩
![Page 42: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/42.jpg)
DCs and Distance
hON ∩ Care
gON ∩ Care
DC
hON ∩ Care
gON ∩ Care
DC
hON
gON
Irredundant Error Redundant Error
Using DC – possible outcomes
![Page 43: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/43.jpg)
Closer Approximations
• Proximity information between original and
replacement gate
– Already known from DC calculation
• Distance function:
• Example: Replacing OR with XOR
Point (1,1) in Care -> Irredundant
Point (1,1) in DC -> Redundant
))()((),( CarehCaregwhgd Care ∩⊕∩=
![Page 44: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/44.jpg)
Testing by 3-SAT
• Conjunctive Normal Form (CNF) – prod. of clauses
– Example 3-CNF:
(x+y+z’)(w+x’+z)(y’+w’+z)
Solution: (x,*,*,z), (x’,y,z,*), (x,y’,w,*), (*,y,w,z),(*,y’,w,z’), (x’,*,w’,z’)
• Clauses for fault detection [Larrabee, 1992]
– Good Circuit: All nodes - correct operation
– Faulty Circuit: Fault fan-out cone
– Active: Fault activation conditions
– Goal: Observation conditions
![Page 45: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/45.jpg)
Good Circuit Clauses
[OR]: (b) (x1+a+b’)(b+x’1)(b+a’)
[NAND]: (c) (x’3+a’+c’)(a+c)(x3+c)
[AND]: (d) (b’+c’+d)(b+d’)(c+d’)
[XOR]: (a) (x2+x3+a’)(x2+x3’+a)(x2’+x3+a)(x2’+x3’+a’)
a
b
c
d
x1x2x3
f
![Page 46: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/46.jpg)
Faulty Circuit Clauses
Fan-out cone (all downstream nodes):
[AND]: (bf’+c’+d)(bf+d’)(c+d’)
a
b
c
x1x2x3
fd
![Page 47: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/47.jpg)
Active, Location and Goal Clauses
1. Difference between good and faulty circuit:
(b’a+b+ bf) (b’a+b’+ b’f)
2. Observability implication (ba => da):
(b’a+ da)
3. Fault Location (node b is s-a-0): babb’f4. Goal: da
x1x2x3
a
b
cfd
![Page 48: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/48.jpg)
Redundant Gate Detection by SAT
• Good, faulty and active clauses:unchanged
• Fault location clauses: different than s-a-v
• Focused on s-a-v extensions
– Well known redundancy identifications
• Additional clauses: approximations
– Based on distance, provided by DCs
– 1-Minterm approximation: faults of singlepolarity only
![Page 49: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/49.jpg)
1-Cube Distance Approximation
• S-a-v identification conditions– 1-cube distance and monotonous
replacement
• Closer approximation than 1-Minterm
Algorithm:
1. Apply approximate DC identification
2. Investigate 1-distance replacements by
s-a-v restricted to differentiating single-cubeinputs
![Page 50: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/50.jpg)
1-Cube SAT Clauses
• Added 1-clauses (single-cube fault location):
[OR->XOR Replacement]: x1a
• Other clauses unchanged
a
b
c
x1x2x3
fd
![Page 51: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/51.jpg)
Exact SAT Identification
• Exact SAT Formulation feasible
• Identification of all redundant replacements
• Observation: Need to exercise inputs thatdifferentiate original vs. replaced gates
• Addition of clauses for gate/wirereplacement
– Forcing inputs differentiating gates
• Omission of clauses for s-a-v fault value
![Page 52: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/52.jpg)
Exact SAT Clauses
• Replacing OR with XOR gate– Added Clause: OR ⊕ XOR = AND (x1’+a’+b)(x1+b’)(a+b’)
– Removed Clauses: (babb’f)
a
b
c
x1x2x3
fd
![Page 53: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/53.jpg)
Experiments: Coverage Comparison
• Verification: single gate replacements (AND, OR, XOR, …)
• Test vectors: 4 top lattice layers
• Compared: All cases vs. worst-case replacements• Note: All redundancies detected by 1-Cube Approximation
Look-Ahead Adder
ALU
CLA Divider
Array Divider
Array Multiplier
CIRCUIT
24x24 96.889.098.38795.886.194.1
12x12 94.794.299.392.799.390.299.2
13x7 10010010096.398.690.285.8
13x7 10010010094.997.664.375.5
12x12 10010010010010092.094.8
SIZE No Red. Id. CODC-SDC CODC 1-CubeAll All AllM.d. M.d. M.d. M.d.
![Page 54: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/54.jpg)
Experiments: Time vs. Coverage
• DC BDDs: Space-limited
• Approximations: 1-Cube close to exact
• SAT: Quick, preprocessing (with AT)– Failed test results reused for redundancy id.
C499
C1355
C1908
C6288
C880
CIRCUIT
01001.961001.814.464k
4.821005.61000.653381.2177k
4.3191.25.291.20.544541.544k
114.1100138.6--∞∞
0.2997.61.1797.60.85713.1730k
0.54
4.98
4.92
114.13
0.9
DC BDD 1-Cube Exact Pre-sim ExactSize Time Time TimeCov. Cov. Red. Total
![Page 55: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/55.jpg)
Conclusions
• Verification by Error Modeling
• Techniques for redundant error removal
• Exact SAT formulation
• Combination of SAT and DC Approximations
– High coverage (> 95%)
– Small numbers of vectors
![Page 56: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/56.jpg)
Simulations vs. Formal
• Simulations - Advantages
– Easy to understand and automate• Similar to s-a-v testing under fault model assumption
– Reuse of fast fault detection algorithms
– Saving space for (easily parallelizable) time• Graceful degradation
• Simulations - Disadvantages
– Less definite answers (without fault model) thanwith formal methods
![Page 57: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/57.jpg)
Arithmetic Transform (AT)
• Boolean input, word-level output polynomials– Linear Transform: AT(f)=Tf
• Davio expansion:
to:
• Related to Reed-Muller (RM)– Polynomial (AT) vs. exponential (RM) for arithmetic
circuits
−=
−−
−
11
1 0
nn
nn TT
TT
f c x x xi i ii
iii
ini
nn
n= ∑∑∑−
−
−
===−L LL0 1 1
0
110
1 10
0
1
0
1
0
1
1 1
f = f | x = 0 + x * ( f | x = 1 – f | x = 0 )
![Page 58: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/58.jpg)
Lattice Representation: Adder
AT(f) = (a0 +b0) + (a1 + b1) * 2
1000 0100 0010 0001
1010
0000
0110 0101
C1000=2 C0100=1 C0010=2 C0001=1
a1 a0 b1 b0
Layer 0
Layer 1
1100 1001 0011
101111011110 0111
1111
![Page 59: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/59.jpg)
• Theorem: For t term error, at most
top layers of Boolean lattice of vectors
needed to uniquely reconstruct its
polynomial
• Sketch of Proof: Unique interpolation of t
term polynomial possible by
independent rows of sub-matrix of Tn
Error Size vs. Test Set Size in AT
1log2 +t
2t
![Page 60: Good Circuit Clauses - McGillzzilic/atpg05p3.pdfBenchmark Networks MCNC Test Generation Benchmarks Full scan assumed for sequential networks zCombinational networks Network PI PO Gates](https://reader031.vdocument.in/reader031/viewer/2022030508/5ab7ae907f8b9ac60e8bde7e/html5/thumbnails/60.jpg)
Experimental Set-up
• Experiments– Assumption: fixed-
size error• Vectors: 4 top
lattice layers
– MCNC andarithmetic circuits