Title: Non-uniform Crossover in Genetic Algorithm Methods to Speed up the Generation of Test Patterns for Sequential Circuits
1Non-uniform Crossover in Genetic Algorithm
Methods to Speed up the Generation of Test
Patterns for Sequential Circuits
Michael Dimopoulos - Panagiotis Linardis
2Digital Circuits
inputs
outputs
Sequential Circuit
output f (inputs,time)
3Test Generation
- Apply a sequence of inputs to a circuit.
- Observe the output response and compare the
response with a precomputed or expected
response. - Any discrepancy is said to constitute an error,
the cause of which is a physical fault.
- In the faulty circuit, a single line/wire is
S-a-0 or S-a-1.
4Test Problem Formulation
FSM good M(I,O,S,d,?)
FSM faulty Mf(I,Of,Sf,df,?f)
For a given list of stuck-at faults
Ff1,f2,,fn Find a sequence of input
vectors V (Test Sequence) that detects the
faults in F.
?
5ATPG Methods
- Automatic Test Pattern Generation (ATPG)
- Optimum Test Set NP-Complete problem.
- ATPG Methods for Sequential Circuits
Stuck-at Fault Model
- Simulation-based (random)
6A Simple GA for ATPG
Initial
Crossover
(C)
(A)
(B)
Age Ngen
Mutation
fault simulation
(D)
(E)
Expand seq.
If (Ngen2) 0
Ngen Ngen1
(F)
Test
Ngen lt MAX_GENERATIONS
seq.
End
Test
seq.
7Encoding of the Individuals
Sequence of m vectors
n-input vector
n x m bit string
8Crossover Effect on Sequ Circuits
Detecting properties are preserved
1st vector
k-th vector
Detecting properties may be completely lost
LV vector
offsprings
parents
Vectors after the k-th, strongly depend on those
before the k-th
Crossover operation degrades to mutation
9Biased Crossover
1st vector
Detecting properties are preserved
Detecting properties may be completely lost
k-th vector
LV vector
offsprings
parents
10GA Test Generation Policy
- Slowly increase test sequ size
- Gradually expand candidate test sequences
- Append one new vector every three generations
- Direct crossover to tail of test sequ
- Try to optimize newly appended vectors
- Use non Uniform selection probability with
emphasis on tail
11Proposed Distribution(NonUni)
- Square probability distribution (normalized) for
crossover selection
12GATPG Algorithm
Create_random_population For each individual
Evaluate_fsimulation(individual)
Sort_population / with descending fit. value
/ ngen0 / generation num. / do
for (j0, i0 iltncross j 2, i) /
crossover /
cross_over(Individualj, Individualj1,
child1, child2) Evaluate_
fsimulation (child1) Evaluate_
fsimulation (child2) for
(i0 iltnmut i 2) / mutation /
mutation(Individual0, child1)
mutation(Individual1, child2)
Evaluate_ fsimulation (child1)
Evaluate_ fsimulation (child2)
Sort_population If ( (ngen 3) 0
) Expand_sequence(EXPAND_STEP)
Evaluate_fsim(Individual0) / check
best / ngen while
(ngenltMAX_GENERATIONS)
13Fitness Function
fitness if (ngen lt 0.25MAX_GENERATIONS) f1
else f2 where f1 20 . R1 R2 . R3
f2 20 . R1 R3 R2 . R4 . R5 and R1
fdetected R2 (sequ_length eff_length) /
sequ_length R3 factivated / (fremaining1)
R4 (faults propagated to FFs) / (num_FF .
factive . seq_length) R5 (faults propagated
to outputs) / (num_ouputs . factive . sequ_length)
14Experimental Results
ISCAS89 Benchmark Circuits
- POPULATION 32
- MAX_GENERATIONS 300
- PCROSSOVER 0.6
- PMUTATION 0.2
- EXPAND_STEP 1
GATPG parameters
15GATPG vs Uniform
Crossover Probability Distribution
16Experimental Results
- Comparison with other methods
17Experimental Results (cont)
18Experimental Results (cont)
GATPG HITEC Rudnick
Sequence Lengths
19Hybrid Methods
(b) circuit s400
(a) circuit s386
20Conclusion
GA for ATPG of Sequential Circuits
- Crossover operation degrades to mutation
- Non uniform (biased) probability distribution for
cut-point selection in crossover operator
GATPG
- Slowly increase test sequ size
- Direct crossover to tail of test sequ