Lecture 11alt Advances in Combinational ATPG AlgorithmsATPG: A Boolean Satisfiability ProblemSAT is NP-CompleteSearch for a SolutionExample: f = 1FAN: Fujiwara and Shimono (1983)PODEM Makes Unwise Signal AssignmentsUnique Sensitization of FAN with No SearchHeadlinesContrasting Decision TreesMultiple BacktraceAND Gate Vote PropagationMultiple Backtrace Fanout Stem VotingPODEM Fails to Determine Unique SignalsFAN -- Early Determination of Unique SignalsTOPS: Dominators Kirkland and Mercer (1987)SOCRATES: Learning (1988)Improved Unique Sensitization ProcedureConstructive DilemmaEST: Search Space Learning (Giraldi and Bushnell)Fault B sa1Fault h sa1SummaryCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 1Lecture 11altAdvances in Combinational ATPG AlgorithmsLecture 11altAdvances in Combinational ATPG AlgorithmsBranch and Bound SearchFAN – Multiple Backtrace, head lines (1983)TOPS – Dominators (1987)SOCRATES – Learning (1988)EST – Search space learning (1991)ATPG Performance improvementsSummaryCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 2ATPG: A Boolean Satisfiability ProblemATPG: A Boolean Satisfiability ProblemCUTCUTwith fault f(a,b,c) = 1TestVector(a,b,c)Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 3SAT is NP-CompleteSAT is NP-Completeaccbb1110000 0cc01f a b cfBinary DecisionDiagram (BDD)Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 4Search for a SolutionSearch for a SolutionProblem: 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 ofBranch : Set an untried value for a variable–Backtrack to previous branching point if there is no untried valueStop if solution found, or backtracked to root without untried valuesOr, 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, continueCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 5Example: f = 1Example: f = 1accbb1110000 0cc01f a b cfBinary DecisionDiagram (BDD)boundCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 6FAN: Fujiwara and Shimono(1983)FAN: Fujiwara and Shimono(1983)New concepts:Unique sensitizationStop Backtrace at head linesMultiple BacktraceCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 7PODEM Makes Unwise Signal AssignmentsPODEM Makes Unwise Signal AssignmentsBlocks fault propagation due to assignment J = 0Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 8Unique Sensitization of FAN with No SearchUnique Sensitization of FAN with No SearchFAN immediately sets necessary signals to propagate faultPath over which fault is uniquely sensitizedCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 9HeadlinesHeadlinesHeadlines H and J separate circuit into 3 parts, for which test generation can be done independentlyCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 10Contrasting Decision TreesContrasting Decision TreesPODEM decision treeFAN decision treeCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 11Multiple BacktraceMultiple BacktraceFAN – breadth-firstpasses – 1 timePODEM –depth-firstpasses – 6 timesCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 12AND Gate Vote PropagationAND Gate Vote PropagationAND GateEasiest-to-control Input: # 0’s = OUTPUT # 0’s# 1’s = OUTPUT # 1’sAll other inputs:# 0’s = 0# 1’s = OUTPUT # 1’s[5, 3][5, 3][0, 3][0, 3][0, 3]00000111Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 13Multiple Backtrace Fanout Stem VotingMultiple Backtrace Fanout Stem VotingFanout Stem -- # 0’s = Σ Branch # 0’s, # 1’s = Σ Branch # 1’s[5, 1][1, 1][3, 2][4, 1][5, 1][18, 6]Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 14PODEM Fails to Determine Unique SignalsPODEM Fails to Determine Unique SignalsBacktracing operation fails to set all 3 inputs of gate L to 1Causes unnecessary searchsa1Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 15FAN -- Early Determination of Unique SignalsFAN -- Early Determination of Unique SignalsDetermine all unique signals implied by current decisions immediatelyAvoids unnecessary searchsa1Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 16TOPS: DominatorsKirkland and Mercer (1987)TOPS: DominatorsKirkland and Mercer (1987)Dominator of g – all paths from g to PO must pass through the dominatorAbsolute -- k dominates BRelative – dominates only paths to a given POIf dominator of fault becomes 0 or 1, backtrackCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 17SOCRATES: 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 theoremSet each signal first to 0, and then to 1Discover implicationsLearning criterion: remember f = vf only if:f = vf requires all inputs of f to be non-controllingA forward implication contributed to f = vf Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 18Improved Unique Sensitization ProcedureImproved Unique Sensitization ProcedureWhen a is only D-frontier signal, find dominators of a and set their inputs unreachable from a to 1Find dominators of single D-frontier signal a and make common input signals non-controllingCopyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 19Constructive DilemmaConstructive 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 Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt 20EST: Search Space Learning (Giraldi and Bushnell)EST: Search Space Learning (Giraldi and Bushnell)E-frontier – partial circuit functional decompositionEquivalent to a node in a BDDCut-set between circuit part with known labels and part with X signal labelsEST learns E-frontiers during ATPG and stores them in a hash tableDynamic programming – when new decomposition generated from implications of a variable assignment, looks it up in the hash tableAvoids repeating a search already conductedTerminates search when
View Full Document