Presentation is loading. Please wait.

Presentation is loading. Please wait.

Layout-aware Scan-based Delay Fault Testing Puneet Gupta 1 Andrew B. Kahng 1 Ion Mandoiu 2 Puneet Sharma 1 1 ECE Department, University of California –

Similar presentations


Presentation on theme: "Layout-aware Scan-based Delay Fault Testing Puneet Gupta 1 Andrew B. Kahng 1 Ion Mandoiu 2 Puneet Sharma 1 1 ECE Department, University of California –"— Presentation transcript:

1 Layout-aware Scan-based Delay Fault Testing Puneet Gupta 1 Andrew B. Kahng 1 Ion Mandoiu 2 Puneet Sharma 1 1 ECE Department, University of California – San Diego 2 CSE Department, University of Connecticut, Storrs http://vlsicad.ucsd.edu

2 Outline Introduction Introduction Problem formulations Problem formulations Multi-fragment greedy algorithm Multi-fragment greedy algorithm Experiments and results Experiments and results Future directions Future directions

3 Delay Fault Testing Delay fault: failure of a path to meet timing Delay fault: failure of a path to meet timing Initialization Vector 1001 11 High clock speeds + increasing variability High clock speeds + increasing variability  Delay fault testing important Pair of vectors required Pair of vectors required Initialization vector Initialization vector Launch vector Launch vector Launch Vector 1 0

4 Scan-based Delay Fault Testing Utilizes standard shift- scan architecture Utilizes standard shift- scan architecture Launch vector produced in two ways: Launch vector produced in two ways: From circuit logic From circuit logic  Functional justification  Functional justification From scan chain From scan chain  Scan justification

5 Functional Justification Launch vector generated by the circuit logic Launch vector generated by the circuit logic 1.Scan-in initialization vector No effect of scan order No effect of scan order 2. Give system CLK to generate launch vector 3.Give system CLK, capture result 4.Scan-out result 1 0 0 11 1 1 0 Not all paths testable Not all paths testable Difficult to produce vector pairs Difficult to produce vector pairs

6 Scan Justification Launch vector generated by shifting initialization vector Launch vector generated by shifting initialization vector 1.Scan-in initialization vector 2.Give scan CLK to generate launch vector 3.Give system CLK, capture result 4.Scan-out result Given scan order, not all vector pairs usable Given scan order, not all vector pairs usable Coverage: %age of vector pairs usable Initialization: 1 0 0 1 0 Launch: 1 0 1 1 0100 10 11001 1 1 0 1 0 0 0 1

7 Increasing Scan Coverage Scan order Scan order Initialization: 1 0 0 1 0 Launch: 1 0 1 1 0 100 10 11001 Don’t cares Don’t cares Initialization: 1 0 x 1 1 Launch: 1 1 x 1 1 101 11 11011 Dummy flops Dummy flops Initialization: 0 0 0 0 1 Launch: 0 1 0 0 1 100 10 10110 0 0 0 01 01001 1 0

8 Scan Order Objectives Coverage driven, layout oblivious Coverage driven, layout oblivious Gupta et al, Cheng et al, … Gupta et al, Cheng et al, … WL: 10.09 mm, Cov: 100.00% WL: 1.22 mm, Cov: 56.80% Layout driven, coverage oblivious Layout driven, coverage oblivious QPlace, Boese et al., Kobayashi et al., … QPlace, Boese et al., Kobayashi et al., … WL: 1.46 mm, Cov: 100.00% Layout + Coverage driven Our approach

9 Outline Introduction Introduction Problem formulations Problem formulations Multi-fragment greedy algorithm Multi-fragment greedy algorithm Experiments and results Experiments and results Future directions Future directions

10 Scan Chain Ordering Modeled as TSP with flops as cities Modeled as TSP with flops as cities TSP objective TSP objective Minimize WL: MinWL (Boese et al.) Minimize WL: MinWL (Boese et al.) Minimize #dummy for 100% coverage: CompleteDFC (Gupta et al.) Minimize #dummy for 100% coverage: CompleteDFC (Gupta et al.) This paper: Minimize WL + Maximize coverage: MaxDFC This paper: Minimize WL + Maximize coverage: MaxDFC u(i)=0 & v(j)=1 where, u: Initialization vector or u(i)=1 & v(j)=0v: Launch vector Dummy insertion in an edge makes all vector pairs compatible with it Dummy insertion in an edge makes all vector pairs compatible with it Vector pair incompatible with an edge Vector pair incompatible with an edge A vector pair is incompatible with an edge e ij if placing flop j after flop i in the scan chain causes it to become unusable A vector pair is incompatible with an edge e ij if placing flop j after flop i in the scan chain causes it to become unusable Formally, vector pair (u, v) is incompatible with e ij if Formally, vector pair (u, v) is incompatible with e ij if

11 MinWL (e.g., Boese et al.) Given Given Set of n placed flip-flops F, Scan-in SI, Scan-out SO Find Scan chain ordering  of F  {SI, SO}, starting with SI ending with SO Such that Total scan chain length minimized Total scan chain length minimized

12 CompleteDFC (Gupta et al.) Given Given Set of n flip-flops F, Scan-in SI, Scan-out SO Set of n flip-flops F, Scan-in SI, Scan-out SO Set of m delay fault vector pairs  Set of m delay fault vector pairs  Find Find Scan chain ordering  of F  {SI, SO}, starting with SI ending with SO Scan chain ordering  of F  {SI, SO}, starting with SI ending with SO Such that Such that # dummy flops required for 100% coverage minimized # dummy flops required for 100% coverage minimized

13 MaxDFC Given Given Set of n placed flip-flops F, Scan-in SI, Scan-out SO Set of n placed flip-flops F, Scan-in SI, Scan-out SO Set of m delay fault vector pairs,  each with a weight w t, t   Set of m delay fault vector pairs,  each with a weight w t, t   Upped bound on #dummies, D Upped bound on #dummies, D Find Find Scan chain ordering  of F  {SI, SO}, starting with SI ending with SO Scan chain ordering  of F  {SI, SO}, starting with SI ending with SO Set of alive vector pairs, C Set of alive vector pairs, C Such that Such that Scan length minimized Scan length minimized Sum of weights of alive vector pairs maximized Sum of weights of alive vector pairs maximized Vectors pairs incompatible with at most D edges Vectors pairs incompatible with at most D edges

14 Outline Introduction Introduction Problem formulations Problem formulations Multi-fragment greedy algorithm Multi-fragment greedy algorithm Experiments and results Experiments and results Future directions Future directions

15 Three Phase MFG - Overview Phase I Phase I Produce D+1 short, high coverage scan chain fragments Produce D+1 short, high coverage scan chain fragments Based on multi-fragment algorithm for TSP Based on multi-fragment algorithm for TSP Data structures Data structures Edge-vector incompatibility matrix Edge-vector incompatibility matrix Edge buckets Edge buckets Phase II Phase II Stitch D+1 fragments using D dummies minimizing WL Stitch D+1 fragments using D dummies minimizing WL Phase III Phase III Further reduce scan chain WL Further reduce scan chain WL

16 Three Phase MFG – Phase I initialize edge-vector incompatibility matrix distribute edges in buckets based on #incompatible vector pairs while #fragments > #dummies+1 pop shortest edge e ij from first non-empty bucket if( eij is admissible in tour ) add e ij to tour remove vectors incompatible with e ij from edge-vector matrix promote edges with which removed vectors were incompatible 1212121200001 1313131300101 2323232310000 2121212101000 3131313100001 3232323211000 1 2 3 50 200 300 13131313 23232323 + 5 vectors, 0 dummies edge-vector matrix 012 buckets 12121212 21212121 31313131 32323232

17 Three Phase MFG – Phase I Scalability Scalability Use small #edges, w(e) < T Use small #edges, w(e) < T If #frags < #dummies + 1, rerun with threshold=M  T If #frags < #dummies + 1, rerun with threshold=M  T Quite insensitive to T, M Quite insensitive to T, M

18 Three Phase MFG – Phase II Target: Stitch D+1 fragments, minimizing WL Target: Stitch D+1 fragments, minimizing WL 56 89 123 7 10 11 4 Approach Approach ATSP with fragments as cities ATSP with fragments as cities 1 2 3500300 600 600 100 600 D1 D2 w e  WL required to connect fragments w e  WL required to connect fragments Small #cities Small #cities  Quick even with high quality TSP solver

19 Three Phase MFG – Phase III Target: Further reduce scan WL Target: Further reduce scan WL Approach Approach Create TSP instance with flops as cities Create TSP instance with flops as cities Throw in edges compatible with all alive faults Throw in edges compatible with all alive faults w e  WL of edge e w e  WL of edge e 56 89 1 7 10 11 4 23 D1 D2 56 89 1 7 10 11 4 23 D1 D2 56 89 1 7 10 11 4 23 D1 D2

20 Outline Introduction Introduction Problem formulations Problem formulations Multi-fragment greedy algorithm Multi-fragment greedy algorithm Experiments and results Experiments and results Future directions Future directions

21 Experimental Flows Comparison of three flows Comparison of three flows MinWL (Boese et al.) MinWL (Boese et al.)  Reference min WL tour CompleteDFC (Gupta et al.) CompleteDFC (Gupta et al.)  Reference full coverage tour MaxDFC MaxDFC

22 Testcases Testcase # cells # flops # paths Functional coverage s38417629115645520.54% s132071648627498.16% s923452914536122.71% AES10465554305058.03% DES3391212814047.69% Synthesis Design Compiler STAPrimeTimeATPGTetraMAX PlacementQPlace Source all vectors scanvectorsfloplocations paths func vectors 

23 Results: s38417 Wirelength Wirelength Coverage Coverage MinWLMaxDFC

24 Results: aes Wirelength Wirelength Coverage Coverage MinWLMaxDFC

25 MFG Scalability MFG Runtime Time(s)

26 Dummy-Coverage Tradeoff Proposed ILP formulation Proposed ILP formulation s38417

27 Outline Introduction Introduction Problem formulations Problem formulations Multi-fragment greedy algorithm Multi-fragment greedy algorithm Experiments and results Experiments and results Future directions Future directions

28 Conclusions We proposed an algorithm to simultaneously reduce WL and increase delay fault coverage We proposed an algorithm to simultaneously reduce WL and increase delay fault coverage Significant increase in coverage with 10-30% WL increase Significant increase in coverage with 10-30% WL increase Explored tradeoff b/w coverage and dummy insertion Explored tradeoff b/w coverage and dummy insertion

29 Future Directions Extension to multiple scan chains Extension to multiple scan chains Congestion aware scan ordering Congestion aware scan ordering Modifications to use compacted and/or redundant vectors Modifications to use compacted and/or redundant vectors

30 Thank You


Download ppt "Layout-aware Scan-based Delay Fault Testing Puneet Gupta 1 Andrew B. Kahng 1 Ion Mandoiu 2 Puneet Sharma 1 1 ECE Department, University of California –"

Similar presentations


Ads by Google