Estimating Stuck Fault Coverage in Sequential Logic Using State Traversal and Entropy Analysis Soumitra Bose Design Technology, Intel Corp. Folsom, CA 95630 Vishwani D. Agrawal Dept. of ECE, Auburn University Auburn, AL 36849 10/25/2007 ITC-07 Paper 26.1 1 Outline • Problem & Approach • Background • State Sequence Analysis • Entropy Analysis • Algorithm Implementation • Results • Conclusion 10/25/2007 ITC-07 Paper 26.1 2 Problem and Approach • Problem – Coverage estimation algorithms inaccurate due to iterative array model. – This results in optimistic estimates, particularly for hard to test designs and when insufficient test vectors are available. • Approach – Use state graph instead of iterative array model. – Reduce size of graph by entropy analysis. 10/25/2007 ITC-07 Paper 26.1 3 Background • Approximate fault simulation – Per-vector analysis • Critical path tracing (CPT), Abramovici et al., IEEE D&T 1984. • Necessary conditions, Akers et al., ITC 1990. – Post-simulation analysis, Stafan, Jain and Agrawal, IEEE-D&T 1985. • Dominator analysis in ATPG, Kirkland and Mercer, ITC 1987. Dominator Fanout stem Fault detection at fanout stem depends on signal states in this part and the observability of the dominator. 10/25/2007 ITC-07 Paper 26.1 4 Stafan: A Tutorial Example Incorrectly detected faults sa0 11001 sa1 C0=0.4 C1=0.6 OB0=1.0 OB1=1.0 OB0=1.0, OB1=0.0 (observabilities) C0=0.4, C1=0.6 (controllabilities) S=0.4 (sensitization count) sa1 11001 sa1 C0=0.4 C1=0.6 S=1.0 OB0=0.0 OB1=1.0 00110 C0=0.6, C1=0.4 S=0.6 OB0=1.0, OB1=0.0 Detected faults 00000 sa1 C0=1.0 C1=0.0 OB0=1.0 OB1=1.0 pd: Prob(sa0 detected) = C1 × OB1, Prob(sa1 detected) = C0 × OB0 Threshold detection by N vectors: PD(N) = 1 – (1 – pd)N ≥ 0.5 10/25/2007 ITC-07 Paper 26.1 5 Sequential Logic: Iterative Array Model (i-1) (i+1) (i) last frame Observability(i) = Detectability(i) + Observability(i+1) • Fix-point evaluation: (1) Find observabilities at POs from latch outputs • While latch observabilities change { assign latch input observabilities from latch outputs propagate observabilties from latches across combinational frame } 10/25/2007 ITC-07 Paper 26.1 6 Motivation: Sequential Logic Example 100 Assumptions: (1) G11=1 initially. (2) Gate input states are stored (ITC 2006). (3) Iterative array model used. G3 G6 011 010 G10 001 sa0 G4 011 G9 G5 110 000 010 G7 G8 101 010 100 G11 Non-zero 0-observability at G9 => non-zero 1-observabilty at G11. Iterative array model implies G10 sa0 fault is detectable. Cause for error: Stafan Does not remember G11 = 1 in first vector. 10/25/2007 ITC-07 Paper 26.1 7 State Sequence Analysis - I (1) Remember preceding states while performing simulation. (2) However, state graph may be too big (max = number of vectors). (3) Collapse states to minimize graph size. 0*,11 11 011 001 10 10 States: (f1,f2,f3) Inputs: (i1,i2) 110 101 Collapse variable f3: (1) Merge states{011,010}. (2) Merge states {001,110}. (3) Original transitions: {1*, 11, 10} (4) New transitions: {1*0,101,111} = {10*,11*} 11 010 1* 000 1* 01 01 00 100 01 111 10 00 10/25/2007 ITC-07 Paper 26.1 8 State Sequence Analysis - II Result of collapsing f3: transitions from {010,010} to {001,000} : {1*, 11, 10} -> { 10*, 11*} States: (f1,f2,f3) Inputs: (i1,i2) 11 011 10 State: (f1, f2) Inputs: (i1,i2,f3) 0*,11 001 10 01 110 101 11 010 00 01 1* 000 00 11 10 100 01 111 10 0** 00 10/25/2007 10*,11* 0*0 1* 01 1*1,0*1 ITC-07 Paper 26.1 9 Entropy Analysis • State graph minimization done by entropy analysis • Definition: H ( s)= - pi ( s). log 2( pi ( s)) i =0,1 • Low H(s): infrequent 0 (or 1) • Do not collapse state variables with low values of H(s) • Sample every N cycles during simulation and collapse those variables with H(s) > threshold 10/25/2007 ITC-07 Paper 26.1 1 H(s) 0 1 0.5 p(s) 10 Observabilities From Minimized Graphs 1. Assume: next state NS, current state CS, current observabilities (0-COBS,1-COBS) for all states reachable from NS. 2. How do we evaluate 0-CBS,1-COBS for CS? 3. Use restrictor functions: latches that are 1 (0) in CS cannot have non-zero 0-observability (1-observability). 4. Three steps: (i) Restrict COBS values using NS, (ii) Trace back to derive new values for CS, and restrict the result (NewOBS), and (iii) Update COBS = max(COBS,NewOBS). Max(COBS, NewOBS) 10/25/2007 COBS NewOBS CS ITC-07 Paper 26.1 NS 11 Accuracy And Speed Tradeoff • Derivation of NewOBS uses partially specified circuit state CS. Max(COBS, NewOBS) COBS NewOBS CS NS • If no variables are collapsed, and all inputs are stored => accurate fault simulation by post processing is obtained. • If all state variables are collapsed, and no inputs are stored => iterative array model is obtained. • Observed accuracy and speed depends on entropy threshold used for minimization. 10/25/2007 ITC-07 Paper 26.1 12 Exact Coverage/Estimate Comparison Circuit Exact fault sim Iterative array State exploration Cov (%) Time(s) Est (%) Time (s) Est (%) Time (s) s386 66.11 0.93 68.06 0.07 66.28 0.10 s641 86.61 2.62 87.04 0.09 86.83 1.89 S1196 95.83 2.06 96.75 0.13 96.50 0.69 S5378 68.15 36.4 71.57 0.54 69.46 42.53 S9234 33.57 78.78 41.52 0.70 36.13 91.32 S13207 29.75 336.5 39.10 1.05 34.32 266.4 S35932 82.92 180.4 94.14 2.1 85.65 192.6 S38417 11.94 2152 25.6 2.83 17.52 362.5 S38584 62.84 668.4 71.54 2.57 66.6 540.3 Improved accuracy with increased runtimes. Number of states approach length of test (20K). 10/25/2007 ITC-07 Paper 26.1 13 Graph Size vs Runtime Comparison Different entropy thresholds chosen: 0.1, 0.2, 0.3, 0.4 circuit fsim (s) S386 0.93 1 1 1 4 0.1 0.1 0.1 0.12 S641 2.62 1 1 10 89 0.41 0.39 0.45 0.47 S1196 2.06 1 1 42 165 0.14 0.14 0.22 0.38 S5378 36.4 278 305 471 556 3.86 4.21 5.01 6.52 S9234 78.8 47 55 263 4063 13.8 13.6 20.0 35.6 S13207 337 78 534 4429 12317 17.2 20.6 60.6 135.2 S35932 180 19 23 147 1429 8.4 10.2 12.1 25.7 S38417 2152 39 428 520 2175 8.3 23.2 22.6 61.5 S35854 668 515 1684 3553 7169 23.2 54.9 111 223 10/25/2007 state graph size runtime (s) ITC-07 Paper 26.1 14 Graph Size vs Estimate Comparison Different entropy thresholds chosen: 0.1, 0.2, 0.3, 0.4 circuit cov (%) s386 66.1 1 1 1 4 68.1 68.1 68.1 68.1 s641 86.6 1 1 10 89 87.04 87.04 87.04 87.04 s1196 95.8 1 1 42 165 96.75 96.75 96.75 96.58 s5378 68.2 278 305 471 556 71.25 71.32 71.39 71.39 s9234 33.6 47 55 263 4063 39.44 38.65 37.55 36.72 s13207 29.8 78 534 4429 12317 38.12 37.03 35.57 35.48 s35932 82.9 19 23 147 1429 94.10 92.99 92.98 88.77 s38417 11.9 39 428 520 2175 23.89 23.2 23.2 15.82 s35854 62.8 515 1684 3553 7169 71.17 69.8 69.01 66.4 10/25/2007 state graph size estimate(%) ITC-07 Paper 26.1 15 Conclusion • State graph extracted during logic simulation can be used to improve accuracy of fault coverage estimation. • Entropy measures can reduce the size of the graph, and trade off accuracy for speed. • Iterative array estimate and exact fault coverage are two extremes of this algorithm: (1) Iterative array model: single state model (2) Exact fault simulation: fully expanded version that stores all state variables and inputs. • Unaddressed outstanding problems: effective length of detection, structure of extracted graphs etc … 10/25/2007 ITC-07 Paper 26.1 16