Title: A New ATPG Algorithm for 21st Century: The wojoRithm
1A New ATPG Algorithm for 21st Century The
wojoRithm
- John Sunwoo
- sunwojo_at_auburn.edu
- Electrical Computer Engineering
- Auburn University, AL
2Table of Contents
- Flow Diagram
- PI Assignment Mechanism
- Logic Simulation (How Why Demo)
- Backtrace()
- Example
- Results (Developing)
- Significance Suggestions on future work
- Q A
3High 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
4Why Start with Fully Assigned PI?
- Start with X-state
- D, PODEM
- FAN, TOPS, SOCRATES
- Before let the algorithm to think (ex.
Backtrace), why dont we give it a shot. (FEMT,
Free Extra Missile Theory) - Can be lucky
5High Level Flow Diagram
6Initial Primary Input Assignment
7Initial Primary Input Assignment (2)
Waste of step!
0
- 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
Random
0
0
1
0
0
1
1
N
-
C
1
0
1
1
8Logic Simulator
- Reads in circuit.lev
- Logic evaluation from lowest level to highest
level. - myVector A linked list to be updated
simultaneously. - Demo
9Backtrace( )
- 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
10Example (c17.bench)
myVector 13, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0,
1, 0
11Example Decision Steps (c17.bench)
1
1
0
6
12
1
10
0
1
2
1
10
8
0
1
3
1
1
7
4
0
1
1
13
0
11
0
1
D
D
0
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
12Data ltDemogt
wojoRithm 5 01111 10011 10001 11111 11100 01101 11
011 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
13Significance Suggestion
- Complete implementation on software
- Experiment on bigger bench circuits
- Artificial Intelligence (AI)
- Random PI VS Static non-controlling PI
14Conclusions
- Algorithm is not fully implemented
- More analysis is needed
- The simplest but powerful
- All node is in known state faster simpler
backtracing.
15Questions?