Presentation is loading. Please wait.

Presentation is loading. Please wait.

A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo Electrical & Computer Engineering Auburn University, AL.

Similar presentations


Presentation on theme: "A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo Electrical & Computer Engineering Auburn University, AL."— Presentation transcript:

1 A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo sunwojo@auburn.edu Electrical & Computer Engineering Auburn University, AL

2 Table of Contents Flow Diagram PI Assignment Mechanism Logic Simulation (How & Why + Demo) Backtrace() Example Results (Developing) Significance & Suggestions on future work Q & A

3 High Level Algorithm 1)Assign PIs fully (Unique) 2)Simulate 3)Fault site activated? If not, then change PIs and goto step 2 4)Fault propagates to PO? (D or D-bar detected?) If not, set an additional objective to make it propagate (change PIs) and goto step 2 5)Save the vector 6)Done 1) Activate the fault site 2) propagate the fault 3) save the vector

4 Why Start with Fully Assigned PI? Start with X-state –D, PODEM –FAN, TOPS, SOCRATES Before let the algorithm to think (ex. Backtrace), why don’t we give it a shot. (FEMT, Free Extra Missile Theory) –Can be lucky

5 High Level Flow Diagram Start Define an objective (ex.Z-sa1,then Objective is Z=0) Objective(s)achieved? {Objective_Check) Backtrace {To PI ? change a bit of PI} no Assign all PIs to its non-controlling values Apply PIs to the circuit Fault signal propagates through output? Find the conflict ? make it as a secondary objective yes Save Vector Exit Done yes Start Define an objective (ex.Z-sa1,then Objective is Z=0) Objective(s)achieved? {Objective_Check) Backtrace {To PI ? change a bit of PI} no Assign all PIs to its non-controlling values Apply PIs to the circuit Fault signal propagates through output? Find the conflict ? make it as a secondary objective yes Save Vector Exit Done yes

6 Initial Primary Input Assignment

7 Initial Primary Input Assignment (2) Why non-controlling values, not Random? –Random = 50% to activate fault site accidentally –Non-controlling values = ? (Add-in Intelligence) Higher chance to make an effective change on the circuit 1 0 1 0 1 1 1 1 0 1 0 0 0 0 Waste of step! Random N-C

8 Logic Simulator Reads in circuit.lev Logic evaluation from lowest level to highest level. myVector : A linked list to be updated simultaneously. Demo

9 Backtrace( ) Backtrace(label, value) { while (PI has not updated) { 1) check input of gate ‘l’ 2) change one of the input ‘x’ which needs to be change to ‘v’. If none of the input value needs to be change then backtrack. 3) l = l 4) x = v } return new myVector }

10 Example (c17.bench) myVector = [13, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1$, 0$]

11 Example Decision Steps (c17.bench) 1 1 1 1 1 1 0 0 1 1 0 sa1 1.Initial objective: set [9] to “0” 2.Apply vector 3.Backtrace from [9] & *save the path (learning) 4.Apply updated vector 5.D-bar propagates? 6.Additional objective: set [8] to “1” 7. Backtrace from [8] 8. Apply updated vector 9. D detected at PO [13] 10. Save vector, Done 0 1 0 0 1 1 0 D* D

12 Data HITEC 5 00011 00010 00100 10001 10111 11111 10000 01001 10011 01100 wojoRithm 5 01111 10011 10001 11111 11100 01101 11011 11101 10100 One vector short! Both got 100% Fault coverage Compact test vector size is possible

13 Significance & Suggestion Complete implementation on software Experiment on bigger bench circuits Artificial Intelligence (AI) Random PI VS Static non-controlling PI

14 Conclusions Algorithm is not fully implemented More analysis is needed The simplest but powerful All node is in known state = faster % simpler backtracing.

15 Questions?


Download ppt "A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo Electrical & Computer Engineering Auburn University, AL."

Similar presentations


Ads by Google