1 / 27

2008 IC/CAD Contest Problem A1 :

2008 IC/CAD Contest Problem A1 :. Test Pattern Generation by Using Reseedable LFSRs 2008 6/6 Team:a027. Outline. Introduction Methods Reduce Hardware Cost LFSR Generation D etermine the unhit cycle range Primitive Polynomial Non-primitive Polynomial Determine the value of seed

Download Presentation

2008 IC/CAD Contest Problem A1 :

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2008 IC/CAD ContestProblem A1: Test Pattern Generation by Using Reseedable LFSRs 2008 6/6 Team:a027

  2. Outline • Introduction • Methods • Reduce Hardware Cost • LFSR Generation • Determine the unhit cycle range • Primitive Polynomial • Non-primitive Polynomial • Determine the value of seed • Global Flow • Experimental Results • Conclusions

  3. Problem Description • Generate an appropriate structure of reseedable LFSR with a given test set

  4. Objectives and Constraints • Minimize the BIST time (cycle counts) • Maximize the pattern coverage • Determine the LFSR structure with a minimal size (least hardware cost) • Reseeding upper bound • 0.2 × test pattern set size • Performance • Dynamic memory allocation • CPU time constraint

  5. Observations • A multi-objective problem • Deterministic approach may not work • Time-consuming on the evaluation of • How to partition? • Which LFSR is better? • What the exact timing for reseeding? • Simulation-based approach • Better timing on reseeding • Fully utilize the reseeding resources

  6. Methods • Reduce Hardware Cost • LFSR Generation • Determine the unhit cycle range • Primitive Polynomial • Non-primitive Polynomial • Determine the value of seed • Global Flow

  7. Reduce Hardware Cost (1/2) Build a graph of Input SEQs’ relationships • Three different types of relationships • r1. Equivalent • r2. Inverted • r3. Compatible

  8. Reduce Hardware Cost (2/2) Example: I1 Inputs: I1 I2 I3 I4 I5 I6 X 1 0 1 0 0 X X X 1 0 1 0 0 X X 0 1 X X 1 1 0 0 X 1 0 0 1 0 1 1 X 1 0 1 r1 r3 results: G1 G2 G3 0 0 0 1 0 X 1 0 1 0 0 1 0 1 0 1 0 0 Build graph I2 I3 r2 r1 I5 I4 r2 G1: I6, I6 G2: I5,-I4, G3: I3,-I2,-I1

  9. Methods • Reduce Hardware Cost • LFSR Generation • Determine the unhit cycle range • Primitive Polynomial • Non-primitive Polynomial • Determine the value of seed • Global Flow

  10. LFSR size = 8 Cycle= 1+1+1+1+1+2+3 +50+1 =61 Cycle= 1+1+1+1+1+2+3 +10 (reseed cycle) +1 =21 Determine the Unhit Cycle Range (1/3) Start 1 V1 V3 1 V4 1 V5 V7 1 V6 reseed cycle =LFSR size+2 =8+2=10 1 V9 1 10 V10 50 X 2 V2 V8 3

  11. The period between 2 consecutive patterns hit by the seed One seed to hit patterns in one primitive poly. Unhit cycle range is getting larger Determine the Unhit Cycle Range (2/3)

  12. Determine the Unhit Cycle Range (3/3) • Seed upper bound = 500 x 0.2 =100 Seed# 73 Seed# 99 Seed# 143

  13. Methods • Reduce Hardware Cost • LFSR Generation • Determine the unhit cycle range • Primitive Polynomial • Non-primitive Polynomial • Determine the value of seed • Global Flow

  14. 20x(1-65%)=7 7 0000000 0000001 0000010 0000011 0000100 0000101 0000110 0000111 0001000 0001001 0001010 0001011 ….. 1111110 1111111 27/20 ~= 6 27 20 100x0.2=20 Primitive Polynomial (1/2) Ex: LFSR size = 20 Pattern# = 100 DC% = 65% 20 1X00X0XXXXXX1XXX11 111XXX111XX1X001X0 X01XX00XXXX01XXX0X X1XXX00011XXX10XXX 101XXXXX1X1XXX1111 ….. XXX111100XX0XXX110 010XXXXX11X0X00XXX 6 Unhit cycle range 100 6

  15. Primitive Polynomial (2/2) • Dynamically adjust the unhit cycle range to optimize the solution • Seed # > Upper bound → increase the unhit cycle range • Seed # ≤ upper bound → attenuate the unhit cycle range

  16. Methods • Reduce Hardware Cost • LFSR Generation • Determine the unhit cycle range • Primitive Polynomial • Non-primitive Polynomial • Determine the value of seed • Global Flow

  17. Non-primitivePolynomial • Randomly generate non-primitive polynomials • Try to find a LFSR structure that can densely hit patterns • Initial range = LFSR size + 2

  18. Methods • Reduce Hardware Cost • LFSR Generation • Determine the unhit cycle range • Primitive Polynomial • Non-primitive Polynomial • Determine the value of seed • Global Flow

  19. Matching RESEED Determine the Value of Seed (1/2) XX00X 1XX01 1XXX0 1X0X0 00XX1 1X0XX X01XX XX000 X0X1X XXX01 001XX 1XX00 X10X1 XX010 10X1X XX00X 1XXX0 1X0X0 00XX1 X01XX XX000 X0X1X 001XX 1XX00 X10X1 XX010 10X1X XX00X 1XX01 1XXX0 1X0X0 00XX1 1X0XX X01XX XX000 X0X1X XXX01 001XX 1XX00 X10X1 XX010 10X1X 1X0X0 00XX1 X01XX X0X1X 001XX 1XX00 10X1X SELECT 1XX01 HIT SELECT 1X0X0 MERGE 1X001 EXCEED UNHIT CYCLE RANGE MERGE HIT 10010 MERGE 1X001 MERGE 10010 HIT MERGE SEED VALUE HIT 11001 SEED VALUE

  20. Determine the Value of Seed (2/2) • Pick an unmatched vector that has a minimal number of don’t cares • Find compatible unmatched patterns and fill DC values

  21. Methods • Reduce Hardware Cost • LFSR Generation • Determine the unhit cycle range • Primitive Polynomial • Non-primitive Polynomial • Determine the value of seed • Global Flow

  22. Global Flow

  23. Outline • Introduction • Methods • Reduce Hardware Cost • LFSR Generation • Preliminaries • Primitive Polynomial • Non-primitive Polynomial • Global Flow • Experimental Results • Conclusions

  24. Experimental Results (1/2) • A012 vs A027 • BIST Time: Speedup= (429+661+18+24+81)/5=242.6 • Fully utilize the given resources

  25. Experimental Results (2/2) • Runtime efficient • Memory usage efficient

  26. Conclusions • Determine a better timing for reseeding • Fully utilize the reseeding resources to minimize the BIST time • A speedup of 2 orders of magnitude over A012

  27. Thanks for your attention A027

More Related