An Efficient Test Relaxation Technique for Synchronous Sequential Circuits

advertisement
An Efficient Test Relaxation
Technique for Synchronous
Sequential Circuits
Aiman El-Maleh and Khaled Al-Utaibi
King Fahd University of Petroleum & Minerals
Dhahran, Saudi Arabia
{aimane, alutaibi}@ccse.kfupm.edu.sa
Outline






2
Motivation
Problem Definition & Test Relaxation Techniques
Proposed Technique
Selection Criteria
Experimental Results
Conclusions
Motivation

With today’s technology, complete systems with
millions of transistors are built on a single chip.

Increasing complexity of systems-on-a-chip and
its test data size increased cost of testing.

Cost of automatic test equipment increases with
increase in speed, channel capacity, and
memory.

Need for test data reduction is imperative
3
• Test compaction
• Test compression
Motivation


Test compression and compaction techniques
significantly improved based on a relaxed test.
Compression techniques:
• LFSR-Reseeding require the test vectors to be partially
•
specified [Koenemann, ETS 91] [Hellebrand, ITS 92]
Run-length coding benefits from partially specified test
sets by specifying don't care values in a way that
reduces number of runs [Jas, ITC 98] [Chandra, VTS 2000,
VTS2001] [El-Maleh, VTS 2001, ICCD 2002]

Compaction:
• In overlapping techniques, increasing the number of
X's in a test set reduces conflicts when merging two
test sequences [Roy,88]
4
Problem Definition & Test Relaxation
Techniques

Given a synchronous sequential circuit and a fully
specified test set, generate a partially specified test set
that maintains the same fault coverage as the fully
specified one while maximizing the number of unspecified
bits.

Dynamic ATPG Compaction

Bitwise-Relaxation
•
•

5
Test for every bit of the test set whether changing it to an X
reduces the fault coverage or not.
O(nm) fault simulation runs, where n is the width of one test
vector, and m is the number of test vectors
Test Relaxation Techniques for Combinational circuits
•
[El-Maleh, VTS 2002][Kajihara, ICCAD 2001]
Proposed Test Relaxation Technique:
General Behavior

At every time frame, t, all logic values necessary to
detect a newly detected fault marked required.

Required logic values are justified backwards
towards primary inputs and/or memory-elements.

Any primary input not marked as required during
the justification process is relaxed.

Required values on the memory-elements are
justified when time frame, t-1, is processed.
6
Proposed Test Relaxation Technique:
Relaxation Process

Fault Simulation: For every test vector t in the given
test set,
• fault simulate the circuit under that test vector
• store faults newly detected in the current time frame
• store faults propagating to the next time frame

Backward Justification: Starting from the last time
frame down to the first one,
• for every fault, f, that could not be justified in the previous
•
7
time frame justify fault-free/faulty values necessary to
propagate f
for every fault f newly detected in the current frame justify
fault-free/faulty values necessary to detect f
Proposed Test Relaxation Technique:
Example

Consider the circuit shown below under two test
vectors: ti = 01 and ti+1 = 00.

Assume that the only newly detected fault is A/1
A/1
A
B
0 /1
G1
0 /1
A
B
1
G2
0
G5
G4
x
x
0
G1
0
0
0
G4
0 /1
x
G3
ti
8
1 /0
G2
G5
G3
ti+1
1 /0
Proposed Test Relaxation Technique:
Example

Justify fault-free/faulty values necessary to detect
A/1 starting from ti+1
A
B
0 /1
G1
0 /1
A
B
1 /1
G2
0 /0
G5
G4
x /x
G1
A/1
x0 //00
x0 //00
x0 //00
ti
x /x
1 /0
G2
G5
G4
0 /1
G3
9
x /x
0 /1
x
/x
G3
ti+1
1 /0
Proposed Test Relaxation Technique:
Example

Since G5 is a memory-element, its fault-free/fault
value can not be justified in ti+1

Thus, the justification process will continue in ti
A
B
0 /1
G1
0 /1
A
B
1x/1
/1
G2
0 /0
G5
G4
x /x
G1
x /0
x /0
x /0
ti
x /x
1 /0
G2
G5
G4
0 /1
G3
10
x /x
x /x
G3
ti+1
1 /0
Selection Criteria in Value Justification

When justifying a controlling value through the
inputs of a given gate, there could be more than
one choice.

Priority is given to inputs already marked required

Otherwise, cost functions are used to guide the
selection.

Cost functions give a relative measure on the
number of primary inputs required to justify a
given value.
11
Selection Criteria

Let g be an AND Gate with i inputs and F(g) fanout
branches [El-Maleh, VTS 2002]

Regular Cost Functions
Creg0 ( g ) = min Creg0 ( i )
i

min C fan0 (i )
C fan1 ( g ) =
i
F ( g)
Weighted-Sum Cost Functions
C (g) = A . C
( g ) + B . C fan 0 ( g )
C (g) = A . C
( g ) + B . C fan1 ( g )
0
1
12
i
Fanout-based Cost Functions
C fan0 ( g ) =

Creg1 ( g ) =  Creg1 ( i )
reg 0
reg 1
C fan1 ( i )
i
F ( g)
Selection Criteria: Example
Creg0(A) = 1
A
Creg0(B) = 1
B
Creg0(C) = 1
G1
0
0
G3
G2
0
C
Cfan0(A) = 1
A
Cfan0(B) = 0.5
B
Cfan0(C) = 1
13
0
C
0
G1
0
0
0
0
G3
G2
0
0
0
Selection Criteria: Sequential Circuits

Controllability values in one time frame depend on
values in the current and previous frames.

Controllability values computed in an iterative
manner starting from the first time frame.

Iterative computation of controllability over several
time frames may cause regular cost function to grow
much faster than fanout-based cost function.

Effect of the second cost function in the weighted
sum may become negligible.
14
Selection Criteria: Sequential Circuits
1
(1, 0.5)
G4
Time Frame 1
Time Frame 2
(2, 1.5)
(5, 2.5)
1
G1
1
(4, 3)
1
1
G3
G1
(4, 1.5)
1
G4
G2
G3
G2
1
(2, 1.5)
(5, 2.5)
Time Frame 10
(1535, 10.5)
1
(1535, 9.5)
G4
G1
1
1
1
G2
1
(1535, 10.5)
15
(3070, 11)
G3
(10, 5)
1
1
1
1
1
1
Selection Criteria: Reconvergent Fanouts

The huge difference between the two costs is due to
the reconverging fanout branches of the flip-flop.

Regular cost of a flip-flop with reconverging fanout
branches should be adjusted to reduce the
difference between the two costs

This can be done as follows.
• Let g be a flip-flop with n fanout branches.
• Assume that m out of the n fanout branches reconverge at
•
16
some gate in the circuit, then
The regular cost of every one of these branches equals to
the regular cost of g divided by m.
Selection Criteria: Reconvergent Fanouts

The three branches of stem B reconverge at gate
G3

Thus, the regular cost of these branches will be
divided by 3
C1 = 1
C1 = v
A
1
B 1
C1 = v/3 +1
C1 = 2v/3 +1
G1
G2
C1 = v+1
1
G3
17
Selection Criteria: Actual vs. General
Values

Assuming general values on the gate inputs when
computing the cost functions is less accurate than
using the actual logical values.
C1=3
1
1
1
1
G1
C1=3
=1
0
G2
1
1
1
G3
C1=2
18
1
G4
1
Experimental Results

Experiments were performed on a number of
ISCAS89 benchmarks.

Test sets generated by HITEC.

Comparison between proposed technique and
bitwise-relaxation technique in terms of percentage
of X’s and CPU time.

Experiments on Cost Functions.
19
Proposed Tech. Vs Bitwise-Relaxation

The difference in the percentage of X’s ranges between
1% and 7%.

Average difference is about 3%.
Proposed Tech. vs Bitwise-Relaxation Tech.
Percentage of X's
Bitwise-Relaxation
Proposed Technique
100
80
60
40
20
0
1
20
2
6
5
4
3
Benchmark Circuits
7
8
Proposed Tech. Vs Bitwise-Relaxation
Circuit
Name
21
CPU Time (sec)
Proposed
Bitwise
Technique
Relaxation
S1423
1.750
943
S1488
2.417
12553
S1494
3.100
13146
S3271
8.033
87726
S3330
5.633
115585
S3384
2.533
16549
S4863
7.800
162894
S5378
20.35
218137
Effect of cost functions on % of X’s
Circuit
Name
A=0
B=1
A=1
B=0
A=1
B=10
A=1
B=30
A=1
B=70
A=1
B=90
s1423
37.882 50.863 57.059 62.431 63.686
64.039 63.020
s1488
44.448 72.457 56.624 66.218 69.968
71.571 72.244
s1494
43.515 72.661 57.410 66.687 70.502
72.098 72.741
s3271
57.361 78.860 82.060 82.017 82.033
81.892 81.908
s3330
66.548 85.251 84.805 85.446 85.407
85.506 85.506
s3384
69.247 71.703 77.755 77.799 77.784
77.755 77.755
s4863
72.114
82.038 81.735
s5378
77.788 85.692 82.130
AVG
22
A=0
B=0
78.934 83.406 82.846 82.582
84.110
85.053
85.094 86.056
58.613 74.553 72.656 75.944 77.127
77.499 77.621
Conclusions

A new test relaxation technique for synchronous
sequential circuits.

Proposed technique is faster than the bitwiserelaxation method by several order of magnitude.

Percentage of X’s obtained close to those obtained
by bitwise-relaxation for most of the circuits.

Does not do any optimization in selecting POs for
fault detection. This will be investigated in future
work.
23
Download