Presentation is loading. Please wait.

Presentation is loading. Please wait.

A New ATPG Algorithm for 21st Century: The wojoRithm

Similar presentations


Presentation on theme: "A New ATPG Algorithm for 21st Century: The wojoRithm"— Presentation transcript:

1 A New ATPG Algorithm for 21st Century: The wojoRithm
John Sunwoo 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 Activate the fault site 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 - sa 1 , then Objective is Z = ) Objective s achieved ? { _ 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

6 Initial Primary Input Assignment

7 Initial Primary Input Assignment (2)
Waste of step! 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 Random 1 1 1 N - C 1 1 1

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

12 Data <Demo> wojoRithm 5 01111 10011 10001 11111 11100 01101
11011 11101 10100 HITEC 5 00011 00010 00100 10001 10111 11111 10000 01001 10011 01100 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 21st Century: The wojoRithm"

Similar presentations


Ads by Google