lec11a

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Lecture 11alt Advances in Combinational ATPG Algorithms: 

Lecture 11alt Advances in Combinational ATPG Algorithms Branch and Bound Search FAN – Multiple Backtrace, head lines (1983) TOPS – Dominators (1987) SOCRATES – Learning (1988) EST – Search space learning (1991) ATPG Performance improvements Summary

ATPG: A Boolean Satisfiability Problem: 

ATPG: A Boolean Satisfiability Problem CUT CUT with fault f(a,b,c) = 1 Test Vector (a,b,c)

SAT is NP-Complete: 

SAT is NP-Complete a c c b b 1 1 1 0 0 0 0 0 c c 0 1 f a b c f Binary Decision Diagram (BDD)

Search for a Solution: 

Search for a Solution Problem: Given a value of a Boolean function of binary variables, find values of the variables. Solution: Starting at the root, enumerative traversal of the binary decision diagram (BDD) until a solution is found. BDD is a search tree – search consists of Branch: Set an untried value for a variable Backtrack to previous branching point if there is no untried value Stop if solution found, or backtracked to root without untried values Or, bound search tree for future traversals if solution is impossible and backtrack to previous branching point (some variable orderings may lead to early bounding) Or, continue

Example: f = 1: 

Example: f = 1 a c c b b 1 1 1 0 0 0 0 0 c c 0 1 f a b c f Binary Decision Diagram (BDD) bound

FAN: Fujiwara and Shimono (1983): 

FAN: Fujiwara and Shimono (1983) New concepts: Unique sensitization Stop Backtrace at head lines Multiple Backtrace

PODEM Makes Unwise Signal Assignments: 

PODEM Makes Unwise Signal Assignments Blocks fault propagation due to assignment J = 0

Unique Sensitization of FAN with No Search: 

Unique Sensitization of FAN with No Search FAN immediately sets necessary signals to propagate fault Path over which fault is uniquely sensitized

Headlines: 

Headlines Headlines H and J separate circuit into 3 parts, for which test generation can be done independently

Contrasting Decision Trees: 

Contrasting Decision Trees PODEM decision tree FAN decision tree

Multiple Backtrace: 

Multiple Backtrace FAN – breadth-first passes – 1 time PODEM – depth-first passes – 6 times

AND Gate Vote Propagation: 

AND Gate Vote Propagation AND Gate Easiest-to-control Input: # 0’s = OUTPUT # 0’s # 1’s = OUTPUT # 1’s All other inputs: # 0’s = 0 # 1’s = OUTPUT # 1’s [5, 3] [5, 3] [0, 3] [0, 3] [0, 3] 0 0 0 0 0 1 1 1

Multiple Backtrace Fanout Stem Voting: 

Multiple Backtrace Fanout Stem Voting Fanout Stem -- # 0’s = Σ Branch # 0’s, # 1’s = Σ Branch # 1’s [5, 1] [1, 1] [3, 2] [4, 1] [5, 1] [18, 6]

PODEM Fails to Determine Unique Signals: 

PODEM Fails to Determine Unique Signals Backtracing operation fails to set all 3 inputs of gate L to 1 Causes unnecessary search sa1

FAN -- Early Determination of Unique Signals: 

FAN -- Early Determination of Unique Signals Determine all unique signals implied by current decisions immediately Avoids unnecessary search sa1

TOPS: Dominators Kirkland and Mercer (1987): 

TOPS: Dominators Kirkland and Mercer (1987) Dominator of g – all paths from g to PO must pass through the dominator Absolute -- k dominates B Relative – dominates only paths to a given PO If dominator of fault becomes 0 or 1, backtrack

SOCRATES: Learning (1988): 

SOCRATES: Learning (1988) Static and dynamic learning: a = 1 f = 1 means that we learn f = 0 a = 0 by applying the Boolean contrapositive theorem Set each signal first to 0, and then to 1 Discover implications Learning criterion: remember f = vf only if: f = vf requires all inputs of f to be non-controlling A forward implication contributed to f = vf

Improved Unique Sensitization Procedure: 

Improved Unique Sensitization Procedure When a is only D-frontier signal, find dominators of a and set their inputs unreachable from a to 1 Find dominators of single D-frontier signal a and make common input signals non-controlling

Constructive Dilemma: 

Constructive Dilemma [(a = 0) (i = 0)] [(a = 1) (i = 0)] (i = 0) If both assignments 0 and 1 to a make i = 0, then i = 0 is implied independently of a

EST: Search Space Learning (Giraldi and Bushnell): 

EST: Search Space Learning (Giraldi and Bushnell) E-frontier – partial circuit functional decomposition Equivalent to a node in a BDD Cut-set between circuit part with known labels and part with X signal labels EST learns E-frontiers during ATPG and stores them in a hash table Dynamic programming – when new decomposition generated from implications of a variable assignment, looks it up in the hash table Avoids repeating a search already conducted Terminates search when decomposition matches: Earlier one that lead to a test (retrieves stored test) Earlier one that lead to a backtrack Accelerated SOCRATES nearly 5.6 times

Fault B sa1: 

Fault B sa1

Fault h sa1: 

Fault h sa1

Summary: 

Summary Algorithm D-ALG PODEM FAN TOPS SOCRATES Waicukauski et al. EST TRAN Recursive learning Tafertshofer et al. Est. speedup over D-ALG (normalized to D-ALG time) 1 7 23 292 1574 ATPG System 2189 ATPG System 8765 ATPG System 3005 ATPG System 485 25057 Year 1966 1981 1983 1987 1988 1990 1991 1993 1995 1997 Performance improvement through 40 years of research.