Date post: | 03-Jun-2018 |
Category: |
Documents |
Upload: | avishek2by |
View: | 218 times |
Download: | 0 times |
of 7
8/11/2019 00365462
1/7
146
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL.
3,
NO. 1 MARCH
1995
propagation delay of a design. Consequently, the only way to
dramatically reduce the delay is to achieve a routing which is able
to minimize the resistances associated with top levels. Through the
annealing process our program will produce clock trees with very
small resistance values, usually merely fractions of those generated
by a wire optimization program, at top levels via the cost function
we defined, thereby significantly reducing the delay.
To further explore the delay minimization mechanism, we analyzed
the outputs produced from both the wire length and the delay
minimization modes by SASPOM using the same SizeFactor 100.
Fig. 10 illustrates the paths from the sam e sink subset to the roots for
both wire length and delay optimization modes. We observed that the
subtrees
(T)
below node id 767 are identical for both outputs. This
implies that since the RC effect at lower levels have little influence
on the delay, the delay minimization mode just optimized the wire
length to reduce the overall capacitance. However, as the level goes
up, the configurations are different.
In Fig. 10(a), The longest accumulated delay is 12.056 which is
about 87.5%
of
its overall routing, and this agrees with the dominance
claim we made. The longest accumulated delay in Fig. 10(b) is 2.938,
which is about 58.7% of its overall routing. Compared to Fig. 10(a),
the delay shown in Fig. 10(b) has been reduced by 75.6% at the top
two levels for this particular example.
Because the delay information of CL+I6 is not available, we
compared our results to those
of
Tsay and KCR/BK which are the
first and one of the best previous works. Table I1 contains the details
using a 1 0 0 driver. Due to similarity, we om it the results using a
5 0 0 driver. The total delay was calculated according to equation
(3). Compared to KCIUBK, 74.39 and 84.72% average propagation
delay r educt ion w ere ach ieved by SA SP O M and SA S P O I w hen a
[I21 Y.-M. Li and M. A. Jabri, A zero-skew clock routing scheme for VLSI
circuits, in Proc. IEEWACM ICCAD, 1992, pp. 4584 63 .
[I31 W. Smith, How to find Steiner minimal trees in Euclidean d-space,
Algorithmica, vol. 7, no. 2-3, pp. 137-177, 1992.
1141
R.-S.
Tsay, Exact zero skew, in Proc. IEEE ICCAD, 1991, pp.
336339.
1151
P. Widmayer,
Y.-F.
Wu, and C.-K. Wong, On som e distance problems
in fixed orientations, SIAM
J
Computing, vol. 16, no. 4, pp. 728-746,
Aug. 1987.
C-Testable Design Techniques
for
Iterative Logic Arrays
Shyue-Kung Lu, Jen-Chuan W ang, and Cheng-Wen Wu
Abstract-A design-for-testability (DFT) approach for VLSI iterative
logic arrays (ILAs) is proposed, which results n a small constant number
of test patterns. Our technique applies to arrays with an arbitrary
dimension, and to arrays
with
various connection types, e.g., hexagonal
or octagonal ones. Bilateral ILAs are also discussed. The DFT technique
makes general ILAs C-testable by using a truth-table augmentation
approach. We propose an output-assignment algorithm for minimizing
the hardware overhead. We give a CMOS systolic array multiplier as an
example, and show that an overhead of no more than 5.88% is sufficient
to make it C-testable, i.e., 100% single cell-fault testable with only 18 test
patterns regardless of the word length of the multiplier.
Our
technique
guarantees that the test set is easy to generate. Its corresponding built-
in-self-test structures are also very simple.
Index Terms-C-testable, cellular array, design for testability, iterative
logic array, logic testing, multiplier, systolic array.
1 0 0 driver was used, and the percentages were 73.96 and 81.47%
in average when a 50R driver was used. Incidentally, SASPO still
length.
I.
INTRODUCTION
jor contributors to todays high-performance digital signal process-
performed
percent better
than
K C R /B K in terms
Of
wire
VLSI array
processors
have been recognized as one of the ma-
REFERENCES
H. Bakoglu, Circuits, Interconnections and Packaging for VLSI. Read-
ing, MA: Addison-Wesley, 1990.
K. D. Boese and A. B. Kahng, Zero-skew clock routing
trees
with
minimum wirelength, in
Proc. 5th IEEE Int. Con ASIC
(New York,
T.-H. Chao, Y.-C.
Hsu,
and J.-M. Ho, Zero skew clock net routing in
Proc.
29th
ACMIIEEE DAC, June 1992, pp. 518-523.
T.-H. Chao, J.-M. Ho, Y.-C. Hsu, K. Boese, and A. Kahng, Zero skew
clock routing with minimum wirelength, IEEE Trans. Circ.,
Syst.
vol.
N.-C. Chou and C.-K. Cheng, Wire length and delay minimization in
general clock net routing, in Proc. IEEWACM ICCAD (Santa Clara,
CA), Nov. 1993, pp. 552-555.
W. W.-M. Dai, R outing MCMs,
IEEE Spectrum,
vol. 29, pp. 6144,
1992.
M. Edah iro, Minimum skew and minimum path leng th routing in VLSI
layout design, NEC
Res.,
Development, vol. 32, no. 4, pp. 569-575,
Oct. 1991.
M. Edahiro, A clustering based optimization algorithm in zero-skew
routings, in Proc. 30th ACM/IEEE DAC, June 1993, pp. 612416.
M. Jackson, A. Srinivasan, and E.
S .
Kuh, Clock routing for high
performance ICs, in Proc.
27th
ACM/IEEE DAC, 1990, pp. 573-579.
A.
B.
Kahng, J. Cong, and
G.
Robins, High-performance clock routing
based on recursive geo metric matching, in Proc. 28th ACWIEEE DAC,
1991, pp. 322-327.
S.
Kirkpatrick, C . D. Gelatt, Jr, and
M. P.
Vecchi, Optimization by
simulated annealing, Sei., vol. 220, pp. 671 68 0, May 13, 1983.
NY ), 1992 , pp. 17-21.
39, pp. 799-814, NOV . 1992.
ing (DSP) technologies. In many high-speed applications, general-
purpose computers (even the parallel ones) are far from satisfactory
for real-time processing of digital signals. Application-specific VLSI
circuits, especially. those with iterative-log ic-array (ILA) structu res,
offer affordable solutions to such applications. This investigation in
turn boosts research concerned with ILA testing.
The general logic testing problem is known to be N P - c o m p le t e
[l].
For ILAs, however, the testing problem usually is much easier
to cope w ith. The research on ILA testing dates back at least as far as
1967 [2], and has been going on stead ily ever since [3]-[16]. In short,
their research has mostly been focused on the following two areas:
1) seeking (sufficient) conditions that categorize testable ILAs and
proposing design-for-testability (DFT) approaches, and 2) developing
test generation algorithms for ILAs. We call an array testable with
a constant test set a C-tes table array.
Manuscript received February 15, 1993; revised January 14, 1994. This
work was supported in part by the National Science Council, Taiwan, R.O.C.,
under Contracts N SC80-0404-E007-02 and NSC80-0404-E007-33.
S.-K. Lu was with the Department
of
Electrical Engineering, National Tsing
Hua University, Hsinchu, Taiwan. He is now with the Department of Electrical
Engin eering , National Taiwan University, Taipe i, Taiwan.
J.-C. Wang was with the Department
of
Electrical En gineering, National
Tsing Hua University, Hsin chu, Taiwan. He is now with the Computer and
Communication Laboratory, ITRI, Hsinchu, Taiwan.
C.-W. Wu is with the Department
of
Electrical Engineering, National Tsing
Hua University, Hsinchu, Taiwan.
IEEE Log Number 9408379.
1063-8210/95$04.00
.O
1995 IEEE
8/11/2019 00365462
2/7
IEEE
TRANSACTIONS
ON
VERY LARGE SCALE
INTEGRATION (VLSI) SYSTEMS,
VOL.
3,
NO. 1,
MARCH
1995
147
In this paper we propose DFT techniques for ILA's based on
particular C-testability conditions
[
141 which results in a minimal
constant number of test patterns. Our technique applies to ILA's
with an arbitrary dimension, and even to arrays with various other
connection types, e.g., hexagonal or octagonal ones. Bilateral ILA's
are also discussed. We can make non-C-testable arrays C-testable
by using a truth-table augmentation technique. To illustrate our
approach, we give a CMOS systolic array multiplier as an example,
and show that an overhead of no more than
5.88%
is sufficient
to make it C-testable. It requires only
18
test patterns to achieve
100% single-cell-fault coverage regardless of the word length of the
array multiplier. Our technique guarantees that the test set is easy
to generate, and the corresponding BIST structure requires smaller
hardware overhead and has a more regular structure.
11.
C-TESTABLE ILATERALTERATIVEOGICARRAYS
We follow the definitions given in [14]. A
cell
is a combinational
machine
(E,
A , # ) , where f
: C
-+
A
is the cell function, and
C
= A = (0, l} .
An iterative logic array (ILA) is an array of
cells. We use the terms
array
and
I L A
interchangeably. An ILA is
unilateral when signals propagate in only one sense with respect to
each axis. It is bilateral when signals propagate in both directions
with respect to some axis. We denote the array as
A (
f
).
We say
that an array is 2 -testable when it is testable with 2 patterns
regardless of the array size, where s the input/output word length
of a cell. A
minimal complete exhaustive)
nput sequence
U
for a cell
is an input sequence consisting of
all
possible input combinations for
the cell, i.e.,
U
is a permutation of
( T I , 0 2 .
.
, ~ W ,
where the
0 , ' s
are the distinct input words. A minimal complete output sequence
6 is defined analogously. We say that f is x-injective when V j ,
V ~ I
i z
f i l , j )# f ( i 2 , j ) . We say
f
is x-bijective if it is x-
injective and C
= A ,
where
f
is the x-projection of f (i.e.,
f
: C
x
Cy A ).
Note that if
A y
= 0 hen we also may say
f (instead of f ) is 2-bijective. Y-injective and y-bijective are
defined analogously.
We assume that the cell's behavior is invariant over time, even if it
is faulty. That is, we are testing for combina tional faults-faults that
will not turn a combinational cell into a sequential one. For detecting
sequential (e.g., CMO S stuck-open) faults, we have developed a novel
technique which can be found in [16]. We do not consider pattern-
sensitivity or bridging am ong cells either. To completely test an array ,
therefore, it suffices to verify the function of every cell in the array.
Verifying a cell function involves generating inputs for the cell and
propagating outputs from the cell to external outputs. A faulty cell is
a combinational machine (E ,
A, f'),
where f '
:
C
- A
and f #
f .
This model is called the cell aul t model, which has been used as the
cell-level fault model by most researchers working on ILA testing.
We also assume that there is at most one faulty cell in the array, i.e.,
the single
cell
fault model is adopted.
It has been shown in
[
141 that a k-dimensional
I L A
is C-testable
if
it has a bijective cell unction, where
b
is an arbitrary positive integer.
A
2-D +45 tessellation is shown in Fig. 1[3]. The w hole array can
be pseudoexhaustively verified with only 2 tests regardless of how
many cells there are in the array (i.e., it is 2 -testable) if the cell
function is bijective.
Bilateral arrays have been discussed in
[81,
[ 9 ] ,
[171, [141, [Is].
We now propose a simpler scheme for C-testable bilateral arrays.
Fig. 2(a) shows a 1-D bilateral array in which
Cy = A y =
0. The
cell notation is shown in Fig. 2(b). In the figure,
xl
and
cT
denote the
left-bound and the right-bound inputs, respectively;
1
and
i,
denote
the left-bound and the right-bound outputs, respectively.
Bilateral arrays in general are much harder to deal with. All known
methods are complicated and difficult to implement. Our strategy is
.
J S J ,
Fig.
1.
A 2-D +45" tessellation.
- 1 ' 2 3 - +
I31
Fig.
2.
(a) A bilateral ILA of combinational cells. (b)
The
cell.
to make bilateral ILA's unilateral, and use the techniques developed
for unilateral ILA's. In Fig. 2(a), let 01
= ( I l r , 1 2 , )
be a minimal
complete input sequence of
celll.
Since
f
is bijective, the output
sequence uz
= (1zr,I1,)
should also be minimal complete, where
I z , is transmitted to xr of cell2 directly. If we c an apply 3
= 111
to
11
of cellz, hen cell2 receives a minimal complete input sequence.
It then produces a minimal complete output sequence
03 = 13r, 21 .
The recursive definition of 121 clearly hinders the realization of this
idea. To tackle it, we put a multiplexer in front ofkach cell which
selects the input for the cell, either from
21
of its left neighbor
or
from
2 1
of its right neighbor. By doing
so,
cell, receives a minimal
complete sequence
U =
( l t , , I ~ z - l ~ l ) V i .
he
il
output of
cell,
(the
rightmost cell) is routed to the left primary output in test mod e. If this
ILA is fault free then the left and right primary output terminals will
produce a correct complete output sequence. The idea is illustrated
in Fig. 3(a). The multiplexers
are
marked
M,
which are controlled by
a mode selection signal that indicates whether the ILA is in test
or
normal mode. When it is in normal mode, all the multiplexers take
the normal inputs coming from their direct predecessors. If it is in
test mode, the multiplexers take the inputs coming from their direct
successors, except for the boundary cells. The test path is highlighted
in the figure. The width of the routing channel is constant. It is clear
that the test path turns the array unilateral. Therefore, a bilateral ILA
with a bijective cell function can be ma de 2 '-testable in this way.
The approach shown in Fig. 3(a) has a drawback in test mode: there
exist two global wires. One is from the right primary input to Z I of
celll, and the other is from PI of cell, to the left primary output.
Their lengths grow with respect to
n,
the array size. An alternative
configuration is shown in Fig. 3(b). Extra input and output terminals
8/11/2019 00365462
3/7
148
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 3, NO.
I
MARCH 1995
II
I I'
I
I
4
(b)
Fig.
3.
(a) Modified ILA. (b) An alternative configuration.
(b)
Fig. 4.
(a) A linear bilateral ILA with vertical output. (b) The basic cell.
are included to eliminate the long wires, which in turn reduce the
propagation delay. The routing channel width is reduced 50 , and
the number of multiplexers is reduced from n + 1 to n. It should be
noted that the pin count usually is very small in 1-D ILA's, so these
extra
YO
terminals can hardly create any problem.
In Fig. 4(a), a linear bilateral ILA with vertica l I/O
is
shown.
The cell notation is shown in Fig. 4(b). Let the cell function be
f : C ' x CzTx Cy A.1 x A"? x Ay.T h e x - p r o j e c t i o n o f f ,
fAz
x
E .
x
Cy + A"
x
A"., is defined as f z ( i r , i l , j ) =
i r , i l ) ,
where
f(&., i l , j)
= & . , ; l , j ) . The y-pro jec t ion of f is
defined analogously. We say that f s x -b i j ec t iv e w hen V j E Cy
and
Axl
x A ? = E ' x
C Z r .
Observation Let A f ) be a linear bilateral ILA as shown in
Fig. 4, with cell function
f .
Then A ( f ) an be made C-testable by
adding multiplexers to the cells in the same manner as shown in
Fig. 3(a) if f is bijective,
or
f is x-bijective.
A linear ILA bears a n atural resemblance to a finite state machine
(FSM), i.e. , it may be used to model an FSM. We may view the
x signals as the state variables, and the
y
signals as the external
inputs/outputs of the FSM. C onsider the linear bilateral array A(
f )
as shown in Fig. 4 again. Its function may therefore be represented
in the form of a state transition table, such as the one shown in
Fig. 5(a). The state transition table has a 1-to-1 correspondence to
a state transition diagram, as shown in Fig. 5(b). Since we view the
x signals as the state variables, the state transition diagram is called
an x-transition
graph.
Observation
If the linear bilateral array has a zero initial state and
an Eulerian 2-transition graph, then the controllability of the array is
100% within a test sequence of length 2 .
V ( i l r r i l l ) ( i 2 r , i 2 1 ) E C X 1
C X T ,
( i l r , i l I , j ) # f 2 ( i 2 r , i 2 1 , j )
Of0Q
W
(b)
Fig.
5 .
corresponding state transition graph.
(a) A state transition table
of
a linear bilateral ILA. (b)
The
Proof:
Fig. 5(a) depicts a state transition table of an ILA which
satisfies our conditions, i.e., its corresponding z-transition graph is
Eulerian (see Fig. 5(b)). The property of an Eulerian graph implies
that there exists a cycle in the graph spanning all edges (i.e. , covering
all state transitions), which further implies that all possible input
combinations for the cell can be generated by a minimal complete
input sequence. The length of the Eulerian cycle clearly is 2 . Now
consider the whole array. Since it has a z ero initial state, we can begin
with this state, for each and every cell in the array, and traverse the
Eulerian cycle once. Then each cell receives a minimal complete
input sequence simultaneously: all the cells go through an identical
state transition sequence.
Observability is not guaranteed. We can, however, introduce
exclusive-NOR gates in each cell to compare the internal neighboring
xl signals. They should remain equivalent at any time. Since the cell
function is a bijection (implied by the Eulerian 2-transition graph),
any fault can be propagated to some observable outputs (provided
that the
XOR
gates
are
included). Since the length of the Eulerian
cycle is 2 , the entire array is 2 -testable.
The above discussion can be generalized to multidimensional
arrays in a straightforward way. For example, a 2-D bilateral array
A ( f ) as shown in Fig. 6(a) can be m ade 2 -testable by adding
multiplexers and test paths as shown in Fig. 6(b) if
f
is bijective.
Note that if multiplexers are used for mode control, they cannot
be fully tested in test mode. Usually an all-0 and an all-1 input in
operation mode can be used to test the m ultiplexers (in this case the
extra test inputs should be assigned the complement value
to
cover
possible stuck-at faults on the mode-selection control line). Therefore,
the number of test patterns is still a small constant.
111. BIJECTIVITY
ODIFICATION
If the cell function satisfies the bijectivity condition, then the testing
of the array clearly is easy. If it does not, then we c an use a truth-table
augmentation technique which modifies the cell function to make it
8/11/2019 00365462
4/7
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 3, NO. I , MARCH
1995
149
1
52
J3
(b)
Fig. 6.
array.
(a) A bilateral 2-D array with a 45O tessellation. (b) The modified
bijective. Instead of modifying the flow table as shown in [18], we
modify the truth table. The modification results in a circuit that has
two modes:
o p e r a t i o n
and
tes t
[14].
Test Mod e:
The added wires are treated as ordinary
U 0
ires. The
cell function is then bijective, and can
be
tested easily. If we add c
input bits, then the number of test vectors will be 2 +=, where s
the original number of input bits.
Operation Mode:
Ground the added input wires and neglect the
added output wires. The modified cell then operates as the original
one.
The heuristic algorithm for our output assignment is based on a
simple
goal-reflection
or
complementary reflection
(defined below).
Our goal is to find an output assignment of the new (i.e., augmented)
truth-table such that the new function has the simplest logic. It is
well known that
an
array can be used to simulate a finite state
machine (FSM). The output assignment problem of the cell truth-
table described here however is different from the state assignment
problem of the FSM as depicted in [19].
The entries in the original
truth-table cannot be altered (reassigned), i.e., they are constants for
a given function (while states are variables). Although the goal of
simplifying the logic is the same, the degree of freedom in our
assignment problem is different: it lies in the large amount of ways
to fill up the holes in the right-hand side of the expanded truth-table
such that the new function is bijective.
For ease of discussion, and without loss of generality, we assume
that there are
no
more than two identical entries in the output part
of
the original truth table, i.e., only one extra input bit
2)
and one
extra output bit
( 2 )
are added. We also assume that the truth tables
are fully expanded, i.e., there are no don't-care terms. In reality,
don't-cares can be assigned in an arbitrary way. We of course will
assign them such that the number of identical output words is as
small as possible (or even disappear). If
N
is a feasible assignment
of values for the entries of the augmented truth table, then
c y u
(&
resp.) denotes cy confined to the input (output resp.) variable v (6
resp.), i.e.,
cyu (&
resp.) assigns only the values for
v
(6 resp.).
The assignment
cy
confined to the upper half of the table is denoted
no
he assignment confined to the lower half is
cy1.
An assignment
au
for an input or output variable
ZI
is said to be
reflexive
if in
the augmented truth table, the values assigned by cy: are one-to-
one corresponding to those assigned by
ab
It is
complementarily
reflexive,
or simply
complementary.
if the assigned values by CY: are
one-to-one corresponding to the complement of those assigned by
at .
On the augmented truth-table, each input variable
v
# z always
has a reflexive assignment, while
z
has a complementary one.
We therefore are mainly concerned with the assignment for the
output variables. In what follows, w denotes the word length of
the modiJied cell, i.e., the original cell word length
is
w
-
1.
The cell input is assumed to be represented by the w-bit word
uU,--1vw--2
. .VIZ while the cell output is represented by the word
vW-1v
w-2...v1z.
Also,
cy;_-1
and
Ci.
E
o:w l
. . .
a:,.
The following observation describes a
necessary condition which must be true for any feasible assignment.
Observation:
In the augm ented truth table, each column contains
Pro03
Since
no
don't-cares are allowed in the table, there are
2 rows wh ich, in the input part, represent all of the
2
possible
words. And the fact that the modified cell function is a bijection
results in the appearance of all possible
2 words at the output part
of the augmented truth table. The observation follows directly.
Our first step is an initial assignment of
& '
(and hence
):
V i
=
I r 2 , . . . , w - 1,
if the number of
1 's
equals the number of
0's
in
then assign
cy:%
exactly as
a:,,
(reflexive), else assign
akt
as the complement of
cy:,
(complementary). This initial assignment
of
Ci.
conforms to the condition stated in the above observation.
The reason for a reflexive or complementary assignment is clearly
illustrated in the following example. It ends up with a very small
amount of hardware overhead. A reflexive assignment
cyc,
implies
that the output function
6,
remains the same as in the original cell,
so no
extra device is required.
We apply the algorithm to the 2-D systolic-array multipliers, and
it gives a very good result-only two extra transistors, or 5.88%
overhead. A 2-D array for pipelined carry-save multiplication is
shown in Fig.
7
[2O], [21]. The cell function is given as follows
-
. . * ^
iy t w _ ,
1's and
2 - l
0's.
w 1
= a
b = b
i e c 6 a . b
E = s . c + c . a . b + s . a . b
where
a
and
b
represent the multiplier and multiplicand bits, s is the
s um m an d b it , F d c is the carry bit. Their respective output bits are
denoted as
, b , i
and
e
respectively, which are propagated to the
next stage. From the truth table we see that the cell function is not
bijective. For example, the inputs
0,
O,O, 1) and O , O , 1 , O ) map to
the same output O , O , 1 , O ) . We add an extra input
z
(in the third
8/11/2019 00365462
5/7
15
(b)
Bit-parallel pipelined multiplier
array
and the cell function.
ig.
7.
dimension) and a corresponding output to the cell, and modify
the cell function as given in Fig. 7.The modified function clearly is
bijective, and is given as follows
& = a
b = b
i = s @ c @ a . b
i
= s. +
c
.
a .
b
+
s.
a .
)
.,z
The function modification is based
on
the procedure described
above, where ,
b ,
i re reflexive assignments, and is complemen-
tary. The extra output
i
an be assigned any element in
2 = {s,e} .
A
typical CMOS implementation is shown in Fig. 8.Fig. 8(a)
shows the original cell with 34 transistors. Fig. 8(b) is the m odified
cell which has 36 transistors-an overhe ad
of
only 5.88 in terms
of transistor count. In the modified function, there are only one extra
input bit and one extra output bit need to be added. The reason is
C
i
C
b a
C
b
(b)
Fig. 8.
CMOS
cell circuits: (a) before and (b) after function modification.
that no three different inputs map to the same output in the original
function. The word length of the modified cell function is
5.
The
resulting num ber of test patterns is 32 for the e ntire array, regardless
of its size.
The truth-table augmentation technique is general. For the array
multiplier, we propose yet another technique to m ake the cell function
bijective in test mode. There is no extra input or output needed,
so
the resulting number of test patterns is only 16. The output column
violating bijection is i.. We modify a;-and obtain the modified cell
function as shown in Fig. 9(a). We use the CMOS implementation
as shown in Fig. 9(b), where a multiplexer (M) is inserted. This
multiplexer is controlled by a mode selection signal that indicates
whether the
ILA
is in test or normal m ode. If it is in test mode, the
multiplexer takes its input from s, and
= s,
so the cell function
is bijective, and the multiplier is C-testable according to Theorem
1. When it is in normal operation mode, the multiplexer takes the
normal input.
The highlighted line segment in Fig. 9(b) is not tested in test mode.
In order to increase the fault coverage, we test this line by applying
the pattems (0,
0, 0, 0)
and (I , 1, 1,
I )
to the cell, which detect
stuck-at-1 and stuck-at-0 faults on the line, respectively. Parallel
testing of the cells and automatic fault propagation by these two
tests are guaranteed. Only 18 patterns are required to test the w hole
multiplier array, as compared to 32 using the original method. The
area overhead is only slightly higher than the original method (Fig.
8),
since no extra
2
input and output are required. The pin number and
8/11/2019 00365462
6/7
IEEE TRANSACTIONS ON
VERY
LARGE
SCALE INTEGRATION
(VLSI)
SYSTEMS,
VOL. 3, NO
I ,
MARCH 1995
151
(b)
Fig. 9.
modification.
Alternative CMOS cell circuits: (a) before and (b) after function
word length are reduced, which results in an actually lower hardware
overhead.
We now describe our built-in self-test schemes. Based on the
test pattern tessellation shown in Fig. 1, a BIST structure is given
in Fig. 10, where the array is assumed to be C-testable. In the
figure, extra circuit elements and wires are highlighted, and only
the test pattern generation and routing mechanism is shown. The test
generator is marked
G,
which is simply a binary counter that counts
from 0 to 2 - 1. Note that the counters length is w 4 or the
above example), which is very small as compared to the conventional
approach (in which case the pseudorandom pattern generators size
grows with respect to the array size). The multiplexers
are
marked
Ai
which are controlled by a mode-selection signal that indicates
whether the circuit is in test or normal mode. Conside r the ILA show n
in Fig.
10.
If it is in test mode, all multiplexers take the inputs which
are highlighted. Therefore, if the pattern generator (G) generates a
minimal complete input sequence I I , 1 for
c e l l l l ,
all other cells
subsequently receive their own minimal complete input sequences.
When it is in normal mode, all multiplexers take the inputs which
are drawn in thin line segments, i.e., the test paths are disabled, and
the array returns to normal operation.
IV. CONCLUSIONS
We propose
DFT
techniques based on our C-testability concept.
Our techniques apply to ILAs with an arbitrary dimension, and arrays
Fig.
IO.
BIST structures for a C-testable 2-D L A .
with various other connection types, e.g., hexagonal or octagonal
ones. We can make non-C-testable arrays C-testable by using a truth-
table augmentation technique. We give a systolic array multiplier as
an example, and show that an overhead of no more than
5.88%
is
sufficient to make it C-testable. With our approach , design automation
of C-testable ILAs and their BIST structures can be done easily.
Judged from the test time and the hardware overhead, our approach
is better than the scan-path approach.
Our approach
also
may be applied to VLSI data paths. Built-in
testing and testable design of VLSI data paths are other important
issues. Some work has been done in this area (see, e.g., [22]-[26]).
Since data paths are usually heterogeneous and irregular, their testing
is difficult in general.
No
single approach has been found that
effectively and efficiently applies to the whole data path of a
VLSI processor chip. A more feasible way of doing this is to
adopt different approachs or methodologies for different modules
in the data path [23]. The divide-and-conquer strategy resembles
the pseudoexhaustive technique [27], in which the whole circuit is
partitioned into modules-each being verified exhaustively. In the
data path, certain modules
are
inherently of, or can be p artitioned into,
array structures, e.g., arithmetic arrays in the ALU. The techniques
presented in this paper can be used in conjunction with the I-path
[23], [24], the T-p ath [25], and the F -pa th [26] approaches to make
BIST of VLSI data paths much easier.
REFERENCES
H. Fujiwara and
S.
Toida,
The
complexity of fault detection problems
for combinational logic circuits, IEEE Trans. Com put., vol. (2-31, pp.
555-560, June 1982.
W.
H.
Kautz, Testing for faults in combinational cellular logic
ar-
rays, in Proc. 8t h Annu. Symp. Switching. Automata Theory, 1967, pp.
P. R. Menon and A. D. F riedman, Fault detection in iterative arrays,
IEEE Trans. Comp ut., vol. C-20, pp. 524-535, May 1971.
A.
D .
Friedman, Easily testab le iterative systems,IEEE Trans. Com-
put . ,
vol. C-22, pp. 1061-1064,
Dec.
1973.
T.
Sridhar and J. P. Hayes, Design of easily testable bit-sliced systems,
IEEE Trans. Comp ut., vol. C-30, pp. 842-854, Nov. 1981.
R.
Parthasarathy and
S.
M. Reddy, A testable design of iterative logic
arrays, IEEE Trans. Comput., vol. C-30, pp. 833-841, NO V.1981.
E.
M. Abou lbamid and E. Cerny, Built-in testing of o ne-dimensional
unilateral iterative arrays, IEEE Trans. Comput., vol. C-33, pp.
56G564, June 1984.
A. Vergis and K. Steiglitz, Testability conditions for b ilateral arrays
of
combinational cells, IEEE Trans. Compu t., vol. C-35, pp. 13-26, Jan .
1986.
W.-T. Cheng and
J.
H.
Patel, Testing in two-dimensional iterative logic
arrays, in Proc.
Int.
Symp. Fault Tolerant Computing, 1986 , pp. 76-81.
161-174.
8/11/2019 00365462
7/7
152
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 3, NO.
1
MARCH 1995
H.
Elhuni,
A.
Vergis, and L. Kinney, C-testability of two-dimensional
iterative arrays,
IEEE
Trans. Compur. Aided Design, vol. CAD-5, pp.
A. Chatterjee and
J.
A. Abraham, CUBE: An automatic test gen-
eration program for iterative logic arrays, in Proc. IEEE
Inr. Con
Compuf.-AidedDesign (Santa Clara, CA), Nov. 1988, pp. 428-431.
W.-K. Huang and F. Lombardi, On an improved design approach
for C-testable orthogona l iterative arrays,
IEEE
Trans.
Comput.
Aided
Design,
vol.
7, pp. 609-615, May 1988.
F. Lombardi, On a new class of C-testable systolic arrays,
Inregratioh,
C.-W. Wu and P. R. Cappello, Easily testable iterative logic arrays,
IEEE
Trans. Compur., vol. 39, pp. 64 M 52 , May 1990.
D. Sc iuto, Testability conditions for two-dimen sional bilateral arrays,
Inregration, vol. 11, pp. 251-278, 1991.
C.-Y. Su and C.-W. Wu, Testing iterative logic arrays for sequential
faults with a constant number
of
patterns,
IEEE
Trans.
Compur.,
vol.
43, pp. 495-501, A pr. 1994.
S. Rawat and M. J. Irwin, C-testab ility of unilatera l and bilateral
sequen tial arrays, in Proc.
Inr.
Test Con , 1987, pp. 181-188.
T. W. Ku and M. Soma, Minimal overhead modification of iterative
logic arrays for C-testability, in Proc. Inr. Tesr Con , 1990, pp.
964969.
573-581, Oct. 1986.
vol. 8, pp. 269-283, 1989.
[I91 S. Devadas, N.-K. Ma, A. R. Newton, and A. Sangiovanni-Vincentelli,
MUSTANG: State assignment of finite state mac hines targeting multi-
level logic implementations,
IEEE
Trans. Comput. Aided Design, vol.
7, pp. 1290-1300, Dec. 1988.
[20]
J.
V. McCanny and
J. G.
McWhirter, Completely iterative, pipelined
multiplier array suitable for VLSI, in
IEE
Proc., vol. 129, Apr. 1982,
pp. 4046.
[21]
P.
R. Cappello and C .-W. Wu, Comp uter-aided design of VL SI FIR
filters, Proc.
IEEE,
vol. 75, pp. 1260-1271, Sept. 1987.
[22] C. R. Kime,
H. H.
Kwan, J.
K.
Lemke, and
G.
B. Williams, A built-in
test methodology for VLSI data paths, in Proc. Int. Tesr Con , 1984,
pp. 327-337.
[23] M.
S.
Abadir and M. A. Breu er, A know ledge-based system for
designing testable VLSI chips, IEEE Design, Tesr Compur., pp. 56-68.
Aug. 1985.
[24] -, Constructing optimal test schedules for VLSI circuits having
built-in test hardware, in
Proc. Inr. Symp. Fault Toleranf Compufing
[25] -, Test schedules for VLSI circuits having built-in test hardware,
IEEE
Trans.
Comput.,
vol. C-35, pp. 361-367, Apr. 1986.
[26]
S.
Freeman, Test generation for data-path logic: the f-path method,
IEEE
J. Solid-Stare Circuits, vol. 23, pp. 421-427, Apr. 1988.
[27] E. J. McCluske y, Verification testing-A pseudoexha ustive test tech-
nique, IEEE Trans.
Compur.,
vol. C-33, pp. 541-546, June 1984.
(FTCS), 1985, pp. 165-170.