Gate-level Test Generation utilizing Register

advertisement
Gate-level Test Generation using
Spectral Methods at Register-Transfer Level
PhD Thesis Proposal,
Nitin Yogi
Abstract - A growing problem in VLSI testing nowadays is the exponential rise in the test
generation complexity, due to the ever growing design complexity of the digital circuits. Another
problem coming to the forefront is the difficulty of dealing with the testability issues in digital
circuits, which is generally left for the end of the design cycle. Test generation at the RegisterTransfer Level (RTL) has been seen with great hopes to alleviate some of these problems. This
research advances a new approach of RTL test generation using spectral methods. By
interpreting the test generation information in the spectral or frequency domain, our method
attempts to achieve reduced test generation times with enhanced gate-level fault coverages. We
also propose a RTL Design-for-Testability (DFT) method to address the issues of testability early
in the design cycle. This proposal explains the method and some preliminary results. Further it
also sketches the research work to be conducted in the near future and a plan for completion of
the thesis.
1. Introduction
With the increase in the integration and the design complexity of the digital circuits, motivated by
the chip cost reduction from the scaling down of the CMOS technology, testing faces several
problems. Two main challenges that VLSI testing has always wrestled with are; reducing the test
generation complexity and generating high quality test sets. With the exponential increase in the
design size nowadays, these problems have only gone from bad to worse.
Several gate level techniques have been developed. Majority of the circuits in the digital world
are sequential. Testability of sequential circuits is affected by low combinational controllability
1
and observability of the memory elements. As a means to increase the testability of the circuits
and also to reduce the automatic test pattern generation (ATPG) complexity, design-for-testability
(DFT) techniques like scan are widely used. Scan-based DFT simplifies the test generation of
sequential circuits to combinational test generation. However, there are downsides to using scan.
There is an area overhead and performance penalty associated with it. Also, there are some issues
with the generation and application of at-speed scan tests, which detect delay faults. Launch-onshift (LOS) and launch-on-capture (LOC) are two methods used for at-speed scan testing. Each
method has its pros and cons. LOS has good transition delay fault coverage, but requires
additional hardware for a fast scan enable signal. LOC requires no special scan hardware but it
achieves lower coverage. Since scan test vectors are non-functional tests, the problem of false
paths and multi-cycle paths needs to be considered in the generation of at-speed scan tests, as the
tests can cause unacceptable yield loss by failing functionally good circuits. This requires analysis
of paths using static and dynamic timing analysis tools, which makes the problem complex.
On the other extreme, we have sequential test generation i.e. test generation for sequential circuits
without any DFT technique. With sequential test generation, at-speed functional tests can be
generated as it does not modify the state machine of the circuit. Different works [Maxwell00,
McCluskey00, Nigh97] have attempted to show the effectiveness of functional tests over
structural scan tests in detecting chip faults and hence having a better defect coverage. Thus
functional tests can be said to have better quality that non-functional tests. However, the
complexity of sequential test generation is very high as compared to combinational test
generation. Hence on one end we have scan-based combinational test generation with reduced
complexity, but with low defect coverage and on the other end we have sequential test generation
with high test complexity, but with higher defect coverage. So the challenge in obtaining
affordable high quality (high defect coverage) test vectors is in reducing the complexity of
sequential test generation.
Testing at the Register-Transfer Level (RTL) or higher levels of abstraction has been viewed with
great hope in the past for reducing some of the problems in testing of digital circuits. One main
advantage is the significant reduction in test generation complexity as the amount of information
to be processed is far lower as opposed to that at the gate-level, which consists of millions or
billions of gates and interconnects. Hence RTL test generation seems to offer promise in dealing
with the challenge of reducing sequential test generation complexity. Another advantage of doing
test generation at levels higher than the gate-level is that it becomes possible to deal with the
2
testability issues early in the design cycle as opposed to struggling with them later at the gatelevel where the complexity is large.
Although RTL test generation alludes to low test generation complexity, an established method of
test generation does not exist. Several research works have been published on fault models and
test generation at the behavioral level and RTL. Ravi and Jha [Ravi01], Ghosh and Fujita
[Ghosh99], Kim and Hayes [Kim98] and Goloubeva et al. [Goloubeva02] use pre-computed test
sets for RTL constructs like adders, multiplexers, etc., and derive test vectors for the whole
circuit. Pre-computed test sets either make some assumptions about the gate-level synthesis of the
design or use a superset of the actually required test vectors. They use some kind of data structure
or metrics to derive the RTL test sets, which have implications of large memory and computation
overheads. Thaker et al. [Thaker03] show that a set of stuck-at faults of variables in high-level
synthetic operators and at the boundaries of RTL modules serve as a statistical sample for the
gate-level coverage analysis. Recent work by Kang et al. [Kang07] uses a set of stuck-at faults
called the sensitization faults whose detection is implied by the detection of primary input stuckat faults at primary outputs. The coverage of sensitization faults is shown to correlate well with
the stuck-at fault coverage in any gate-level implementation. However test generation effort is
higher for such faults as compared to ordinary stuck-at faults. Many of these methods have
difficulties either in closing the gap between the high level coverage and the fault coverage at the
gate level or suffer from high test generation effort. Hence we need an efficient method of test
generation, which effectively utilizes the RTL information for high fault coverage at the gatelevel with the least effort and complexity.
For several years, research has being conducted on the nature and characteristics of test vectors,
which will provide high quality, high defect coverage test sets. Initially, experiments were
performed using random vectors and were found to give good results. Later a class of random
pattern resistant circuits were discovered [Eichelberger83], which made it difficult to use random
vectors. Research then shifted towards weighted random [Brglez90, Ha92, Wunderlich97] and
other types of property based test generation [Guo99]. Some of these methods did work, but not
satisfactorily for all circuits. In the quest to determine appropriate characteristics of test vectors
with high defect coverage and to find a method of test generation, the proposed research in this
thesis attempts to look at the periodicities required for the test vectors by analyzing information in
the frequency or the spectral domain. We allege that good quality test vectors, which give high
3
fault coverage, exhibit certain frequency related characteristics. By preserving these
characteristics good quality high defect coverage test vectors can be generated.
Spectral methods for test generation have a long history since the development of complex VLSI
circuits. In 1983, Susskind [Susskind83] showed that Walsh spectrum can be used for testing a
digital circuit. General properties and applications of digital spectra can be found in the published
literature [Beauchamp84, Falkowski02, Hurst85, Thornton01]. Hsiao and Seth [Hsiao84] further
expanded that work to compact testing. More recently, Giani et al. [Giani01a, Giani01b] have
reported spectral techniques for sequential ATPG and built-in self-test. Hsiao's group at Virginia
Tech has published further work on spectrum-based self test and core test [Chen02, Chen06,
Kasturirangan02]. Khan and Bushnell [Khan06] have designed hardware signature analyzers
using spectral components. Zhang et al. [Zhang04] further refined the method of extracting the
spectra from a digital signal using a selfish gene algorithm. Recent work suggests that wavelet
transforms can also be used for similar application [Devanathan06].
2. Background
In this proposal we describe a method of test generation for gate-level faults utilizing relevant
RTL information. To obtain this RTL information, we define faults at the RTL and generate
vectors to detect these faults. Our method of test generation for the gate-level faults is based on
the premise that the vectors that detect RTL faults reflect important characteristics of the circuit.
These characteristics may include spatial and temporal correlations among the bits of primary
input vector sequences and the necessary sequence length to sensitize paths between primary
inputs and outputs of a sequential circuit. However, any high level test sequence has, besides
containing the relevant information, some amount of noise, which corresponds to the don't care
bits in the tests for the target faults. We analyze the spectrum or frequency information in the
vectors which detect the RTL faults, analyze the noise level, and generate new vectors using the
spectrum to which noise samples are added. We use frequency decomposition, in which any bitstream or signal can be projected on to or represented using a set of orthogonal functions.
We use Walsh functions [Weisstein] for frequency decomposition because they have been used
for testing with effective results. Walsh functions are a set of orthogonal functions. They consist
of trains of square pulses having +1s and -1s as the allowed states and can only change at fixed
4
intervals of a unit time step. The Walsh functions include patterns with varying periodicities
which can be likened to the sine and cosine functions in the analogue domain. Hence Walsh
functions can be thought of as digital counterparts of analog frequencies. Figure 2.1 shows the
schematic diagram of Walsh functions of order eight. Any digital bit-stream can be uniquely
represented as a linear combination of the orthogonal Walsh functions. This is analogous to the
analog domain where any continuous signal can be uniquely represented as a linear combination
of the sine and the cosine functions. Thus, by analyzing the digital signals using Walsh functions,
we are actually looking into the frequency or sequency characteristics of the digital waveforms.
Frequencies refer to periodicities for analog signals, while sequencies refer to bit-flipping along
with their periodicities for digital waveforms [Weisstein].
For an order n, i.e., for a sequence of n time steps, there are 2n Walsh functions given by the rows
of a 2n x 2n Hadamard matrix H(n) [Weisstein], when arranged in the so-called didactic order
[Weisstein]. The Hadamard matrix is a symmetric matrix with each row being a unique Walsh
orthogonal function, also called as the basis function bit-streams. Since it consists of only +1s and
-1s, it is a good choice for the signals in VLSI testing (+1 = logic 1, -1 = logic 0). Also,
Time period
Figure 2.1: Walsh functions of order eight
5
multiplications can essentially be computed using integer additions and subtractions. Hadamard
matrices can be generated using the following recurrence relation:
 H (n  1) H (n  1) 
H ( n)  

 H (n  1)  H (n  1)
… (1)
where H(0) = 1 and 2n is the dimension of the nth order Hadamard matrix, H(n). For example, for
n = 1 and n = 2, we have:
 1  1
H (1)  

 1  1
… (2)
 1
 1
H (1)  
 1

 1
… (3)
 1  1  1
 1  1  1
 1  1  1

 1  1  1
The Hadamard matrix is an orthogonal matrix, which gives H(n) x H(n)T = n x In, where
superscript
T
means transpose of the matrix and In is the 2n x 2n identity matrix. This simplifies
reconstruction of the test vectors from the spectral domain. Any bit-stream of k bits can be
represented as a linear combination of the basis bit-streams from the Hadamard matrix, H(log2 k).
The multiplicands used are the projections of the object bit-stream on the basis bit-streams. We
shall refer to them as Hadamard coefficients. By analyzing these Hadamard coefficients we will
be able to determine the major contributing basis bit-streams in an original signal, which we shall
regard as important basis bit-stream functions.
3. Spectral RTL Test Generation
In this section we explain the proposed Spectral RTL test generation approach [Yogi06b]. Our
approach consists of the following steps:
1. Spectral characterization
2. Spectral vector generation
3. Test set minimization
6
3.1 Spectral Characterization
In this step we retrieve important test related information from the circuit at the RTL. For this we
define faults at the RTL called RTL faults. These faults can be defined as faults from
conventional fault models like stuck-at, transition delay, etc. or can be any other user-defined
fault model. We have experimented with both stuck-at and transition delay faults and have
achieved satisfactory results as our results section will exhibit. The RTL faults are defined as
faults on primary inputs and outputs of the circuit and on inputs and outputs of all RTL modules
which include the memory elements like flip-flops. This RTL fault model is very similar to the
fault model proposed in [Thaker03] by Thaker et. al. except that their fault model also includes
behavioral constructs like variables. Such constructs if available can be incorporated in our fault
model. However behavioral constructs do not always align well with the gate-level
implementation, sometimes losing their identity in the gate-level netlist.
Figure 3.1: RTL faults modeled in a typical sequential circuit
Figure 3.1 shows the modeled RTL faults in a typical sequential circuit. These faults remain
invariant through logic synthesis and thus represent true RTL or higher level faults. We obtain
test vectors which detect these RTL faults at the primary output of the circuit. An RTL ATPG
would be required to generate tests for these faults. In our case, we did not have access to a RTL
ATPG tool. Hence as a substitute, we used a gate-level sequential ATPG tool and used a
synthesized netlist of the RTL circuit as its input. Only the RTL faults, as defined earlier, were
7
given to the sequential ATPG tool for test generation. Throughout this proposal, we will use this
substitute methodology to show the efficacy of the proposed technique.
We will refer to the vectors generated for these RTL faults as RTL vectors. When these RTL
vectors are applied to the gate-level netlist, only a fraction of the total gate-level faults are
detected. Hence there is a need to generate more vectors which will have similar characteristics as
the RTL vectors. To determine these characteristics, the RTL vectors are analyzed in the
frequency domain using Hadamard matrix to find the major spectral components. When the RTL
vectors are being applied to the circuit, a different set of bit-streams are being applied to each of
the inputs. Since we are dealing with sequential circuits, there is correlation or periodicity
information among the bits entering each of the inputs and it needs to be extracted. Hence we
shall analyze the bit-streams entering each of the inputs separately.
To analyze a bit-stream, initially the 0s and 1s in a bit-stream are changed to -1s and +1s,
respectively. To find the coefficients for the bit-stream corresponding to an input, the bit-stream
is multiplied with the Hadamard matrix. The multiplication operation is basically a projection of
the bit-stream onto each of the basis bit-streams. A high value of the coefficient corresponds to a
high correlation of the bit-stream to the corresponding basis bit-stream and vice-versa.
Figure 3.2: Spectral analysis of a stream of 8-bits. The essential Walsh component in this bit-stream
has magnitude 6 and is represented by the second row of Hadamard matrix, H(3).
8
Figure 3.3: Power spectrum of an input bit-stream obtained from RTL vectors for a test circuit.
Hence basis bit-streams exhibiting high coefficient values are considered as important or essential
components and others are treated as noise.
Figure 3.2 shows an example of generation of coefficients by projecting a bit-stream onto the
basis bit-streams and determining the essential component(s). In this example, a bit-stream of 8
bits (0s and 1s in the original sequence being changed to -1s and +1s) is analyzed by multiplying
by a third order 8 x 8 Hadamard matrix H(3). The resulting matrix gives the Hadamard
coefficients. In this example, we obtained a single coefficient with high correlation, which we
shall treat as an essential component and others will be treated as noise. The determination of a
threshold which separates the essential components from the noise is crucial in retrieving the
required characteristics of the bit-stream. Figure 3.3 shows the normalized power spectrum for a
input signal in a test circuit. The power spectrum was obtained by squaring the spectral
coefficients. The high rising bars show high correlation of the bit-stream with the corresponding
basis bit-streams and these are considered essential. For an arbitrary random bit-stream we would
expect the total power to be distributed equally among all the coefficients. This is represented by
a dotted line in figure 3.3 and is the average noise level. If we use this noise level or a few
multiples of this level as a threshold, then we shall be able to differentiate between the essential
and the noise components.
9
The above described spectral analysis is performed for each of the input bit-streams and a
corresponding spectra i.e. a set of spectral coefficients is obtained for each input. For each spectra
corresponding to an input of the circuit, the essential and the noise components are determined
using the threshold level.
3.2 Spectral Vector Generation
As discussed in the previous section, the RTL test vectors detect only a fraction of the total gatelevel faults. Hence we need to generate new test vectors replicating some of the essential
characteristics of the RTL vectors. New test vectors for gate-level faults are generated essentially
by generating new bit-streams entering each of the inputs of the circuit from the respective
spectras of the RTL input bit-streams. The essential spectral coefficients having magnitudes
above some threshold are retained and others, considered noise, are perturbed in terms of
magnitude and/or in phase to generate new coefficients. The amount of perturbation corresponds
to the amount of randomness to be added. Bit-streams can easily be generated from the
coefficients by multiplying the coefficient matrix with the Hadamard matrix again.
Figure 3.4 shows an example of reconstruction of a bit-stream. By generating a new bit-stream
for each input we get a new set of bit-streams or a vector sequence V, different from the original
RTL vector sequence. Suppose the number of spectral components obtained for each input is ‘n’.
We generate ‘M’ different vector sequences, V1, V2, .., VM, each of length n, such that their
coverage as determined by fault simulation of the gate-level circuit either reaches some target
value or simply saturates.
Figure 3.4: Bit-stream generation by perturbing the spectra. Note that the essential component
having a magnitude 6 is not perturbed.
10
3.3 Test Set Minimization
From the spectral vector generation step we generate a set of M perturbed vector sequences, V1,
V2, .., VM by adding random noise samples, such that the fault coverage of the combined set for
the gate-level circuit either reaches some target value or simply saturates. However, all of these
sequences are not required as some sequences may be detecting faults already covered by other
sequences. Hence we need to perform a test set minimization step. Given a set of test vector
sequences { V1, V2, … VM}, our goal is to obtain a minimized set of vector sequences {V1, V2, …
VK) such that the fault coverage of the minimized set is equal to the original set. We perform
minimization using an integer linear programming (ILP) formulation, in a similar way as has
been reported in the literature [Drineas03, Kantipudi06, Marques98].
3.3.1 Integer Linear Programming (ILP)
An integer linear programming (ILP) problem is a special case of a linear programming (LP)
problem. An LP problem [Noyes] is an optimization problem in which we minimize or maximize
an objective function for a given a set of constraints. The objective function and constraints are
both expressed as linear functions of a set of variables. A LP problem formulation consists of
three parts: a set of real valued variables are defined, a set of constraints on those variables are
specified and an objective function consisting of a linear function of variables is defined to be
minimized or maximized. The solution consists of values assigned to the variables which satisfy
the constraints and meet the objective function goals. An ILP problem is one, in which the
variables are integers as opposed to being real numbers. LP problems are less complex to solve as
compared to the ILP. The complexity of LP is P class while for ILP, it is NP-hard [Kantipudi07].
An ILP can be converted to an LP, known as relaxed LP, by redefining integer variables as real
numbers. The relaxed LP [Kantipudi07], then leads to an approximate but polynomial time
solution of ILP.
3.3.2 ILP Test Minimization
To perform test set minimization we first do fault simulation of all the generated sequences to
determine the faults detected by each. During fault simulation, at the beginning of each vector
11
sequence the complete fault list is restored and the circuit is set to an unknown state. Thus, the
coverage obtained for a sequence remains valid irrespective to the order in which it is applied.
The fault simulator identifies the set of vector sequences that detects each fault.
Next, the ILP formulation for test minimization consists of three parts:
1. Integer variables {xi}; i = 1 to M (total number of sequences). Variables {xi} have the
following properties:
a. One variable is defined for each sequence {Vi}
b. Variables {xi} can take values {0,1}
c. A value ‘0’ signifies that the sequence is to be dropped from the minimized set,
while a value ‘1’ signifies that the sequence is selected.
2. A set of constraints {yj}; j = 1 to F (total number of faults). Constraints {yj} have the
following properties:
a. One constraint is defined for each fault {Fj}
b. To illustrate the constraint, say the fault Fk is detected by sequences V3, V4, and
V11.
Then the corresponding ILP constraint yk is: x3 + x4 + x11 ≥ 1
This constraint means that at least one sequence among V3, V4, and V11 is needed
to detect the fault Fk.
3. An objective function given by:
iM
Minimize  xi
… (5)
i 1
where M is the total number of vector sequences generated. This objective function
signifies that a minimum number of variables in {xi} need to be assigned the value 1,
which means that the least number of sequences needs to be selected.
We used the ILP software contained in the AMPL mathematical programming package
[Fourer93] to perform the test sequence compaction. In the ILP solution, the smallest possible
number of x's is assigned the value 1 and all others are assigned 0. The sequences with their x's
set to 1 form the minimized test set.
12
3.3.3 Hybrid LP – ILP
As discussed in Section 3.3.1, the ILP problems have very high computation complexity.
Correspondingly, the time complexity of solving ILP problems is higher than LP problems. Much
research work has been published on reducing the complexity of solving ILP problems by settling
for a sub-optimal solution. As discussed earlier, an ILP can be converted to an LP, known as
relaxed LP, by redefining integer variables as real numbers. The relaxed LP [Kantipudi07], then
leads to an approximate but polynomial time solution of ILP. Here we propose a modified version
of the relaxed LP called the hybrid LP-ILP method [Yogi07b]. The algorithm is as follows:
1.
Formulate the ILP problem
2.
All variables redefined as real [0,1] real variables (LP model)
3.
Loop :
1. Solve the LP
2. Round variables to add constraints
1. Round to 0 if ( 0.0 < variables ≤ 0.1)
2. Round to 1 if ( 0.9 ≤ variables < 1.0)
3. Exit loop if no variables are rounded
4.
Reconvert variables to [0,1] integers and solve ILP
We experimented with this algorithm for minimization of test vectors for multiple fault models on
some combinational and scan-inserted ISCAS’89 benchmark circuits to achieve satisfactory
results. Since we round variables on both sides, i.e., to 0 and to 1, the procedure can lead to an
intermediate solution that may not satisfy all remaining constraints. In such a case, the problem
can be solved by the previously proposed recursive-LP algorithm [Kantipudi07], which
guarantees a solution. We believe that, whenever a solution is possible, the hybrid LP-ILP will be
faster than the recursive-LP.
4. RTL DFT
Test generation for RTL faults has an additional advantage other than characterizing the circuit
for gate-level fault coverage. It reveals the bottlenecks in the testability of the circuit. Analysis of
hard to detect RTL faults gives an idea of the hard to test parts of the circuit. Hence, by
13
improving the testability of such faults, we can expect to increase the testability of the overall
circuit. Furthermore, it helps to introduce testability enhancement in the early stages of the design
and alleviate the possible problems arising toward the end of the design cycle.
The testability of signals can be improved by increasing their controllability and/or observability.
Several methods [Hayes73, Iyengar89] of design for testability add control and observation
points. Adding control points requires adding extra gates in the normal signal paths of the circuit,
which may affect the performance. Also adding control points changes the state machine of the
circuit, thus creating non-functional tests. As discussed in Section 1, we would like to discourage
non-functional vectors to prevent unnecessary yield loss. Hence, we shall constrain ourselves to
addition of observation points because they are less intrusive. One option is to add latches for all
observation points and connect them through a scan-out chain. This structure is often used for
design debugging and can help in improving the fault coverage of tests [Josephson05]. Another
option is to use an XOR tree to condense the logic values at various observation points
[Davidson81, Eichelberger83, Fox77, Rudnick92]. In this case an XOR tree connects together all
hard-to-observe fault sites together and condenses them into a single primary output. Since the
XOR tree requires less hardware, we use it as the RTL design for testability (DFT) methodology
[Yogi07]. Also since it does not modify the state machine of the circuit, it does not create nonfunctional tests. Figure 4.1 shows an example of an XOR tree used to condense hard-to-observe
RTL faults. The hard-to-observe RTL faults are obtained after the RTL test generation and the
analysis of the undetected faults.
Figure 4.1: XOR tree used to condense hard-to-observe RTL faults.
5. Results
We applied our RTL test generation and DFT technique to several benchmark circuits with
satisfactory results. Primarily, we have experimented with the ISCAS’89 sequential benchmark
circuits and the ITC’99 benchmark circuits. The ISCAS’89 benchmark circuits are available as
gate-level netlists. The ITC’99 benchmark circuits are available as high-level behavioral
14
descriptions and we synthesized them using the Mentor Graphics synthesis tool Leonardo
Spectrum.
Another circuit we experimented with was a simple accumulator-based processor named Parwan
[Navabi93] to demonstrate our method's effectiveness. As shown in the schematic diagram of
Figure 5.1, it includes the following components: accumulator (AC), arithmetic logic unit (ALU),
shifter unit (SHU), status register (SR), instruction register (IR), program counter (PC), memory
address register (MAR) and a control unit (CTRL). It has an 8-bit databus with a 12-bit address
bus (addressing 4K memory). The circuit has around 800 gates and 53 flip-flops. Currently our
tools do not handle bidirectional pins. Hence, we split the bidirectional buses into separate input
and output buses. Also, we added a reset signal to initialize the circuit for testing. We modeled a
total of 737 RTL faults, which were all the faults on the inputs-outputs of the different
components (e.g. ALU, SHU, etc.), inputs-outputs of the registers (e.g. IR, PC, etc.) and the faults
on tri-state drivers.
As discussed earlier in Section 3.1, in the absence of a RTL ATPG, we use a gate-level sequential
ATPG tool, Mentor Graphics FlexTest [FlexTest04] and use synthesized gate-level netlists of
RTL descriptions. The RTL faults, defined either using stuck-at fault model or transition delay
fault model, are given to FlexTest [FlexTest04] for test generation. We experimented with the
RTL faults defined using the stuck-at fault model for the ISCAS’89 circuits, ITC’99 circuits and
Parwan processor [Yogi06b]. For the Parwan processor we also experimented with RTL faults
defined using the transition delay fault model [Yogi07a]. The following sections describe the
results of RTL spectral test generation for RTL faults defined using stuck-at fault model and
transition delay fault model.
We applied the spectral technique of RTL-ATPG to four ITC'99 RTL benchmark circuits, four
ISCAS'89 benchmark circuits and the PARWAN processor [Navabi93] using the stuck-at fault
model. Three off the four ITC'99 RTL benchmark circuits were synthesized in two ways, by
optimizing area and by optimizing delay.
15
Figure 5.1: Schematic diagram of PARWAN processor
5.2 RTL Spectral Test Generation using Stuck-at Fault Model
Test vectors for RTL faults were obtained using the Mentor Graphics tool FlexTest [FlexTest04]
which is a sequential ATPG system with a built in fault simulator. Those RTL vectors were
analyzed for their spectrum, new vector sequences were generated using the technique discussed
in Section 3 and finally they were minimized. Results were obtained on Sun Ultra 5 machines
with 256MB RAM. Table 5.1 shows the characteristics of the RTL test vectors generated for the
circuits. Column 1 lists the circuit name. Here b01-A and b01-D are the area and delay optimized
implementations of the b01 ITC'99 benchmark. ISCAS'89 benchmarks are already at the gatelevel. For s5378 and s9234, we created additional versions by adding a global reset input in the
original circuits. These are denoted with an asterisk (*).
Column 3 of Table 5.1 lists the number of RTL stuck-at faults, which are the faults at the primary
inputs, primary outputs, and the inputs and outputs of ip-ops. Next, in Table 5.1 appear the
number of RTL test vectors, test generation time (CPU s) and the number of spectral components.
For the ITC'99 benchmarks this was done for two gate-level versions, one synthesized with area
optimization and the other with delay optimization. The number of spectral components in the
sixth column is the number of RTL vectors rounded off to the nearest power of 2.
16
Table 5.1: Spectral characterization of circuits by RTL vectors.
* global reset added
The last two columns of Table 5.1 show the fault coverages of the RTL vectors. RTL Coverage is
the coverage of just the RTL faults and gate-level coverage is the coverage of all stuck-at faults in
the gate-level implementation. As expected, the gate-level coverage is often lower than the RTL
coverage and falls below the normal requirement of being close to 100%. We will use the RTL
DFT technique to enhance this coverage. The low coverage of the RTL faults, however, may
indicate a testability problem, which could limit our ability to increase the coverage either by the
spectral technique or by gate-level ATPG. As observed in the table, a relatively low RTL
coverage is obtained for the circuit s9234. This was primarily due to the inherent uninitializability
of the circuit. We observe that by adding a global reset signal both the RTL and the gate-level
coverage improved. We further believe that employing the proposed RTL DFT technique for this
circuit will enhance the fault coverages.
Table 5.2: Comparison of RTL ATPG and Sequential gate-level ATPG results
* global reset added
17
Table 5.2 gives a comparison of the proposed RTL ATPG method with gate-level sequential
ATPG. The first two columns give the circuit name and the number of gate level single stuck-at
faults. The circuits with an added global reset input are denoted with an asterisk (*). The
performances of RTL ATPG{spectral tests, gate-level ATPG, and random vectors can be
compared by examining the data in the subsequent columns.
For RTL ATPG, the number of vectors is the total number vectors in the compacted test
sequences. Gate-level test coverage provided by the fault simulator of FlexTest [FlexTest04] is
shown in column 2 of Table 5.2. Note that the test coverage of FlexTest is an upward adjusted
coverage, accounting for faults that are found to be untestable as detected. The ATPG time in
column 5 includes the times for RTL characterization (Table 5.1), perturbed spectral sequence
generation, fault simulation, and ILP compaction. Of these, RTL characterization and fault
simulation are the dominant components, the other two being negligible. As we move down in
Table 5.2, circuits become larger and we observe that RTL ATPG provides about the same test
coverage and vector lengths as the gate-level ATPG, but its time increases slower. Moreover, the
RTL faults used for circuit characterization and vector generation are implementation
independent. Notably, the test coverage of random vectors tends to drop as circuits become
larger. s9234 circuit as discussed earlier has uninitializability and testability issues which are
reflected in the results of Table 5.2.
Figure 5.2: Test coverage of RTL ATPG (spectral vectors) for area optimized b11-A circuit.
Figure 5.2 gives the test coverage against the number of vectors for the circuit b11-A, for RTL
spectral ATPG vectors, gate-level ATPG vectors and random vectors. The gate-level coverage of
RTL vectors (generated to cover RTL faults only) are also shown by a point in the graph. As
18
observed the coverage of RTL ATPG is about 2 to 4% higher, vector lengths about double and
CPU times about 30 to 50% when compared to the gate-level ATPG.
We applied the RTL DFT technique to the Parwan processor. After the RTL test generation step,
we analyzed the undetected RTL faults and found all 10 faults classified as unobservable by
FlexTest. The remaining faults were either untestable or potentially tested. We selected the 10
unobservable fault sites as observation points and inserted a tree of nine XOR gates whose output
was made into an added primary output. Thus, a DFT version of the processor was created. All
RTL faults were now either detected or potentially detected by the same original RTL vectors.
Table 5.3: Spectral RTL ATPG for processor circuits
Table 5.3 gives the results of the RTL spectral ATPG method. In these results, faults in the clock
network were not included. We achieve better test coverage as compared to the gate-level
sequential ATPG in lower test generation time. The coverage is slightly lower than 100% because
some faults were potentially testable and were given 50% credit [Raina97]. Since the RTL ATPG
covered almost all faults in the original circuit, the benefit of DFT was small. However, the
benefits of DFT were more for gate-level ATPG and random vectors. The test coverage plots of
the original circuit and the circuit with DFT are shown in Figures 5.3 and 5.4. Observing the
positive results of the RTL DFT technique, we plan to experiment it on circuits like s9234 where
the RTL fault coverage was low.
5.2 RTL Spectral Test Generation for Transition Delay Fault Model
We applied the RTL spectral test generation method using RTL faults defined for the transition
delay fault model on the Parwan processor [Yogi07]. The test vectors for RTL transition delay
faults were obtained using the Mentor Graphics tool FlexTest [FlexTest04]. Those RTL vectors
were analyzed for their spectrum, new vector sequences were generated using the technique
discussed above and finally they were minimized. Results were obtained on Sun Ultra 5 machines
with 256MB RAM.
19
Figure 5.3: Test coverages for the original Parwan circuit [Navabi93].
Figure 5.4: Test coverages for the Parwan circuit.
Table 5.4: Spectral characterization of Parwan by RTL vectors for transition delay fault model.
20
Table 5.4 shows the characteristics of RTL test vectors. Transition delay faults in the clock and
reset network were not included and a 50% credit was given to potentially testable faults
[Raina97]. Coverage is defined as the ratio of the number of detected faults to the total number of
detectable faults as reported by FlexTest. The last column gives the fault coverage of the 160
RTL vectors for collapsed gate-level faults in the entire circuit, excluding clock and reset faults.
After the RTL test generation for the transition delay faults, an examination of the undetected
RTL transition delay faults of the Parwan processor revealed 24 unobservable faults. The
remaining undetected faults were untestable or potentially testable. The circuit used tri-state
drivers for driving buses and to detect their faults we modeled the high-impedance state as the
previous logic state to improve its testability. It was observed that almost all of the undetected
RTL faults were on the terminals of tri-state drivers. This could be because of the functional
constraints of the processor and such faults could be functionally redundant delay faults. We
applied our RTL DFT method, selected the 24 unobservable fault sites as observation points,
condensed them using a 23 XOR gate tree and fed its output to an added output pin. All RTL
transition delay faults were now either detected or potentially detected by the same original RTL
vectors.
Table 5.5: Spectral RTL ATPG for transition delay faults for processor circuits.
Figure 5.6: Stuck-at fault coverage of transition fault vectors.
Table 5.5 gives the results for transition delay faults for Parwan processor. Table 5.6 gives the
corresponding stuck-at fault coverages of the transition delay test vectors. As observed in the
tables, we achieve better test coverage as compared to the gate-level sequential ATPG in lower
21
test generation time for both stuck-at and transition delay faults. Also the stuck-at fault coverages
obtained are close to what we achieved in the earlier section. In most cases though they are
slightly lower than what we obtained in table 5.3 because the transition delay vectors were not
targeted for the stuck-at faults. Note that the highest achievable test coverage cannot be 100% as
there was a small fraction of undetectable faults due to fault-induced uninitializability. These are
possibly (or potentially) testable faults and were given a detection credit of 50% [Raina97].
6. Future Work
6.1 FFT analysis of digital waveforms
Another way of analyzing the digital bit-streams apart from Walsh function is using Discrete
Fourier Transform (DFT) [Weisstein]. A binary bit-stream can be assumed to be a sampled
waveform of an analog signal and represented in the frequency domain. The bit-stream of ‘n’ bits
can be transformed into the frequency domain by performing an ‘n’ point DFT on the signal. In
the frequency domain, the highest frequency represented will be half of the sampling frequency;
the sampling frequency (fs) being the reciprocal of the time period at which bits are being applied.
For example consider a bit stream of length 8 with consecutive flipped bits. In the frequency
domain it will contain a single frequency component at (fs/2). Similarly a constant bit-stream of
0s or 1s will only have a D.C. component at f=0.
We can use the Discrete Fourier Transform (DFT) in place of the Walsh functions and use a
similar methodology for RTL Spectral test generation as has been discussed in the pervious
sections. There are pros and cons of doing so. An advantage of DFT is that it is invariant to time
shifts whereas Walsh functions are not. This means that a time shift of a signal will have the same
spectral decomposition as the original signal for a DFT, but not for Walsh functions. This is a
significant advantage in retrieving the periodicities and bit flipping probabilities of the signals.
The absence of a time shift relation for Walsh functions has repercussions in the convolution
theorem. For a DFT, the products of DFT transforms represent convolution in time domain.
However for Walsh functions, such straightforward relation does not exist. Hence DFT could be
better utilized in characterizing signals and systems than Walsh functions.
22
A disadvantage of DFT over Walsh functions is that, DFT computations are not easy and their
hardware implementations are consequently complex. This makes Walsh functions and their
computations easier and faster in digital hardware. However, if the use of DFT is constrained at
the algorithmic level of test generation rather than using it at the hardware level, DFT could be
efficiently utilized in spectral information retrieval.
In the proposed work we plan to investigate further the different aspects of the two transforms,
viz. DFT and Walsh. Also we would investigate the use of DFT in the previously proposed RTL
spectral test generation method.
6.2 Spectral BIST
A well known technique of testing of digital circuits with system level test control is Built-In Self
Test or BIST. This technique can apply test vectors at-speed and obtain a better defect coverage.
In a typical BIST scheme, additional hardware is inserted to generate test vectors and to sample
the outputs and decide whether the circuit under test is good or bad. One of the biggest challenges
that BIST faces is of generating good quality test vectors. This is because simple hardware test
generators lack the necessary intelligence and information required to generate test vectors with
particular characteristics which efficiently test the circuit. In the past several BIST techniques
have been implemented, which performed satisfactorily for many circuits, but not all. Random
test vector generation is a popular technique where pseudo random bit-streams are generated and
applied to the circuit under test. However, such a technique does not perform well for random
pattern resistant circuits [Eichelberger83]. The technique was then enhanced to weighted random
test vector generation where random vectors were generated with certain probabilities of being
logic ‘0’ or ‘1’ [Brglez90, Ha92, Wunderlich97]. This technique again had its shortcomings.
A spectral BIST technique can be implemented, in which the test generation logic would have the
information to generate vectors of certain characteristics which would test the circuit efficiently.
The characteristic information would primarily be the spectral information, which would carry
with it the relevant periodicity and the bit-flipping probability information. This spectral
information can be obtained using RTL test generation as discussed in the earlier sections. Test
vectors could be generated to cover the RTL faults, and then these vectors could be analyzed
23
using Walsh spectra or DFT to retrieve the spectral information. Figure 6.1 shows an example
DFT of a RTL test bit-stream generated for a test circuit. The middle point of 0 corresponds to
D.C. value and the positive and negative frequencies spread toward either direction. As can be
seen in the figure, the RTL test bit-stream exhibits certain high magnitude frequency components
represented by tall bars. If we are generate a bit-stream from some arbitrary source with similar
frequency characteristics, then we believe we shall be able to test the circuit efficiently. For this,
Magnitude
we propose a test generation scheme for BIST that will try to imitate the spectral characteristics.
- (fs/2)
+ (fs/2)
DC
-ve frequencies.
+ve frequencies
Figure 6.1: Frequency spectrum of a RTL test bit-stream generated for a test circuit.
A possible test generation scheme is shown in figure 6.2. It consists of a Linear Feedback Shift
Register (LFSR) that generates pseudo-random bit-streams, one for each input of the circuit.
These random bit-streams are then passed through a set of spectral filters, which is designed to
amplify/attenuate frequencies based on the spectral information required for each input. One
spectral filter is designed for each input of the circuit. The filtered bit-streams are then applied to
the circuit under test (CUT).
24
A convenient way of implementing a spectral filter would be to use digital filter design
techniques. Primarily there are two techniques of designing digital filters: Infinite Impulse
Spectral Filter
Circuit
Under
Test
(CUT)
MISR
LFSR
Response (IIR) and Finite Impulse Response (FIR) filter design [Weisstein].
Figure 6.2: Proposed test generation technique for BIST.
Infinite Impulse Response (IIR) filter design:
Mathematically, the IIR transfer function can be represented as:
(
)
y(n) = f y(n-1), y(n-2), ….. y(n-k), x(n), x(n-1),x(n-2), … x(n-p) … (1)
where:
y: output of filter
x: input of filter
n: time period
p: order of the filter
The current output y(n) of the filter is a function of one or more previous time period outputs
and/or one or more previous time period inputs.
Finite Impulse Response (FIR) filter design:
The transfer function for an FIR filter can be represented as:
(
)
y(n) = f x(n), x(n-1),x(n-2), … x(n-p) … (2)
25
where
y: output of filter
x: input of filter
n: time period
p: order of the filter
The current output y(n) of the filter is a function of only the inputs.
FIR and IIR filter design techniques have their own advantages and disadvantages. Since IIR
filter transfer function is a function of both the inputs ‘x’ as well as the outputs ‘y’, more memory
elements would be required to store the data bits than for an FIR filter where only the inputs ‘x’
need to be stored. Hence in the proposed method we use an FIR filter.
From Figure 6.2 we observe that the input ‘x’ from previous time periods can be stored in a
LFSR, if we use an external feedback LFSR which has an in-built shift register. Figure 6.3 shows
a schematic diagram of an external feedback LFSR being used as an input to the FIR filter. The
data bits which are generated by the external feedback network constitute the random bit-stream
and would represent the current value of ‘x’. The previous time period values of ‘x’ would be
stored in the shift register.
External feedback network
x(n-2)
x(n-p)
LFSR ((p-1)-bit shift register)
x(n-1)
x(n)
Generated
Random
bit-stream
FIR Filter
(One filter per input of CUT)
To CUT
Figure 6.3: External feedback LFSR for the use of FIR filter design
26
As an example, we consider an FIR filter with an order 31 designed for the frequency spectrum
Gain, dB
shown in Figure 6.1. The frequency response of the designed filter is as shown in Figure 6.4.
(DC)
Normalized Frequency (0 to fs/2) →
(fs/2)
Figure 6.4: Frequency response of FIR filter of order 31
To demonstrate the filtering properties of the designed filter, we generate a random bit-stream in
software and pass it through the designed filter. Figure 6.5 shows the frequency spectrum of the
random bit-stream. The frequency spectrum of the bits obtained at the output of the filter is
shown in Figure 6.6. By comparing Figure 6.1 and Figure 6.6, we find certain similar
characteristics. Thus using the FIR filter, we obtained a bit-stream which has similar spectral
characteristics as the original bit-stream.
We experimented with two ISCAS’89 benchmark circuits, s382 and s526. We generated test
vectors for the RTL stuck-at faults (as defined in previous sections) and obtained the DFT of the
bit-streams going into each of the inputs. We then designed an FIR filter for each input to imitate
the frequency distributions. We generated a total of 65000 random vectors in software, passed
them through the FIR filters designed for each of the inputs and then applied it to the circuit under
test. Tables 6.1 and 6.2 give the results for the two circuits. We compare the number of faults
detected by this method with those detected by Mentor Graphics sequential ATPG tool FlexTest
27
Magnitude
- (fs/2)
+ (fs/2)
DC
-ve frequencies.
+ve frequencies
Magnitude
Figure 6.5: Frequency spectrum of a random bit-stream.
- (fs/2)
+ (fs/2)
DC
-ve frequencies.
+ve frequencies
Figure 6.6: Frequency spectrum of a random bit-stream after passing through FIR filter.
28
and random vectors. As observed in the tables, the proposed method detects equal or greater
number of faults than those detected by FlexTest. The random vectors exhibit a spectrum with no
particular characteristics. The filtered vectors exhibit spectral characteristics conforming to those
of their respective inputs. Thus by shaping the bit-streams to exhibit certain spectral properties, a
significant enhancement in the number of detected faults can be achieved as compared to random
vectors. Figures 6.7 and 6.8 show test coverages versus number of vectors applied, for both the
proposed method and random vectors, for s382 and s526, respectively. With these encouraging
preliminary results we plan to investigate this method further for larger circuits. Also as described
earlier, the random patterns were generated using software. Experimentation on an LFSR-based
implementation of the method is required.
Test Set
No. of
faults
detected
Total no.
of faults
Flextest vectors
Random vectors
Filtered vectors
364
44
364
485
485
485
Table 6.1 Experimental results for s382
Test Set
No. of
faults
detected
Total no.
of faults
Flextest vectors
Random vectors
Filtered vectors
448
55
450
639
639
639
Table 6.2 Experimental results for s526
s382 - Test Coverage vs No. of Vectors
100
Test Coverage
80
60
40
20
0
1
10
100
1000
10000
100000
No .of Vectors
Random
Filtered Random
Figure 6.7: Test coverage versus number of vectors for s382
29
s526 - Test Coverage vs No. of vectors
100
Test coverage
80
60
40
20
0
1
10
100
1000
10000
100000
No. of vectors
Random
Filtered Random
Figure 6.8: Test coverage versus number of vectors for s382
7. Conclusion
In this work we have presented a new method of RTL test generation using spectral techniques.
Test vectors for RTL faults are analyzed using Hadamard matrix to extract important features and
new vectors are generated retaining those features. We observe improved test coverage and lower
test generation time as compared to a sequential gate-level ATPG tool. Since the method is based
on RTL test generation, it has the advantages of lower memory and test generation time
complexities. It enables the testability appraisal at RTL, and hence efforts can be made to
improve testability when the design is conceptualized at higher levels of abstraction. An XOR
observability tree designed at the RT level improved the gate-level fault coverage. Thus, RTL test
methodology effectively reveals the bottlenecks in the testability of the circuit. Further, RTL
ATPG enables the testing of cores for whom only the functional information is known.
As a future work, we plan to pursue the investigation of FFT analysis of bit-streams for RTL
spectral test generation. We plan to probe the idea of a spectral test generator for BIST. This
would involve comparing the BIST aspects of Walsh, DFT and weighted random vectors.
Furthermore we plan on conducting research on BIST signature analysis using Walsh or DFT.
30
Work Time-table
May
2007
June
2007
July
2007
Aug.
2007
Sept.
2007
Oct.
2007
Nov.
2007
Dec.
2007
Jan.
2008
Feb.
2008
Write dissertation
Defend
FFT analysis
of bit-streams
Spectral BIST research
References:
[Beauchamp84] K. G. Beauchamp, Applications of Walsh and Related Functions with an Introduction to
Sequency Theory. Orlando, FL: Academic Press, 1984.
[Brglez90] F. Brglez, C. Gloster, and G. Kedem, “Built-In Self-Test with Weighted Random-Pattern
Hardware," in Proc. IEEE Int. Conf. Computer Design, Sept. 1990, pp. 161-167.
[Chen02] X. Chen and M. S. Hsiao, “Characteristic Faults and Spectral Information for Logic BIST," in
Proc. Int. Conf. on CAD, Nov. 2002, pp. 294-298.
[Chen06] X. Chen and M. S. Hsiao, “Testing Embedded Sequential Cores in Parallel Using SpectrumBased BIST," IEEE Trans. Computers, vol. 55, no. 2, pp. 150-162, Feb. 2006.
[Davidson81] R. P. Davidson et al., “BELLMAC-32 A Self-Testable 32bit Microprocessor," in Proc.
International Test Conf., 1981, pp. 15-20.
[Devanathan06] S. K. Devanathan and M. L. Bushnell, “Sequential Spectral ATPG Using the Wavelet
Transform and Compaction," in Proc. 19th International Conference on VLSI Design, 2006, pp. 407-412.
[Drineas03] P. Drineas and Y. Makris, “Independent Test Sequence Compaction through Integer
Programming," in Proc. Int. Conf. Computer Design, 2003, pp. 380-386.
[Eichelberger83] E. B. Eichelberger and E. Lindbloom, “Random Pattern Coverage Enhancements and
Diagnosis for LSSD Logic Self-Test," IBM Journal Research and Development, vol. 27, no. 3, pp. 265272, May 1983.
[Falkowski02] B. J. Falkowski, “Spectral Testing of Digital Circuits," VLSI Design, vol. 14, no. 1, pp. 83105, 2002.
[FlexTest04] Mentor Graphics, FastScan and FlexTest Reference Manual, 2004.
[Fourer93] R. Fourer, D. M. Gay, and B. W. Kernighan, AMPL: A Modeling Language for Mathematical
Programming. South San Francisco, California: Scientific Press, 1993.
[Fox77] J. R. Fox, “Test-Point Condensation in the Diagnosis of Digital Circuits," Proc. IEE, vol. 124, no.
2, pp. 89-94, Feb. 1977.
[Ghosh99] I. Ghosh and M. Fujita, “Automatic Test Pattern Generation for Functional RTL Circuits Using
Assignment Decision Diagrams," in Proc. 35th Design Automation Conf., 1999, pp. 43-48.
31
[Giani01a] A. Giani, S. Sheng, M. S. Hsiao, and V. D. Agrawal, “Effecient Spectral Techniques for
Sequential ATPG," in Proc. Design, Autom. & Test in Europe (DATE) Conf., 2001, pp. 204-208.
[Giani01b] A. Giani, S. Sheng, M. S. Hsiao, and V. D. Agrawal, “Novel Spectral Methods for Built-In SelfTest in a System-on-a-Chip Environment," in Proc. 19th IEEE VLSI Test Symp., 2001, pp. 163-168.
[Goloubeva02] O. Goloubeva, G. Jervan, Z. Peng, M. Sonza Reorda, and M. Violante, “High-level and
Hierarchical Test Sequence Generation," in Proc. of HLDVT, 2002, pp. 169-174.
[Guo99] Ruifeng Guo; Reddy, S.M.; Pomeranz, I., “PROPTEST: a property based test pattern generator for
sequential circuits using test compaction”, Design Automation Conference, 1999. Proceedings. 36th, Vol.,
Iss., 1999, Pages:653-659
[Ha92] D. S. Ha and S. M. Reddy, “On the Design of Random-Pattern Testable PLA Based on Weighted
Random-Pattern Testing," J. Electron. Testing: Theory and Applications, vol. 3, no. 2, pp. 149-157, May
1992.
[Hayes73] J. P. Hayes and A. D. Friedman, “Test Point Placement to Simplify Fault Detection," in Proc.
Fault Tolerant Computing Symp., 1973, pp. 73-78
[Hsiao84] T.-C. Hsiao and S. C. Seth, “An Analysis of the Use of Rademacher-Walsh Spectrum in
Compact Testing," IEEE Trans. Comput., vol. 33, pp. 934-938, Oct. 1984.
[Hurst85] S. L. Hurst, D. M. Miller, and J. C. Muzio, Spectral Techniques in Digital Logic. Orlando, FL:
Academic Press, 1985.
[Iyengar89] V. S. Iyengar and D. Brand, “Synthesis of Pseudo-Random Pattern Testable Designs," in Proc.
International Test Conf., 1989, pp. 501-508.
[Josephson05] D. Josephson and B. Gottlieb, “Silicon Debug," in D. Gizopoulos, editor, Advances in
Electronic Testing: Challenges and Methodologies, Springer, 2005. Chapter 3.
[Kang07] Jian Kang, Sharad C. Seth, Vijay Gangaram, "Efficient RTL Coverage Metric for Functional Test
Selection," vts, pp. 318-324, 25th IEEE VLSI Test Symposium (VTS'07), 2007.
[Kantipudi06] K. R. Kantipudi and V. D. Agrawal, “On the Size and Generation of Minimal N-Detection
Tests," in Proc. 19th Int. Conf. VLSI Design, 2006, pp. 425-430.
[Kantipudi07] “A Reduced Complexity Algorithm for Minimizing N-Detect Tests”, Kantipudi, K.R.;
Agrawal, V.D., VLSI Design, 2007. Held jointly with 6th International Conference on Embedded Systems.,
20th International Conference on, Vol., Iss., Jan. 2007 Pages:492-497
[Kasturirangan02] G. Kasturirangan and M. S. Hsiao, “Spectrum-Based BIST in Complex SOCs," in Proc.
20th IEEE VLSI Test Symp., Apr. 2002, pp. 111-116.
[Khan06] O. I. Khan and M. L. Bushnell, “Aliasing Analysis of Spectral Statistical Response Compaction
Techniques," in Proc. 19th International Conference on VLSI Design, 2006, pp. 801-806.
[Kim98] H. Kim and J. P. Hayes, “High-Coverage ATPG for Datapath Circuits with Unimplemented
Blocks," in Proc. International Test Conf., 1998, pp. 577-586.
[Leonardo04] Leonardo Spectrum User’s Guide, 2004.
[Marques98] J. P. Marques-Silva, “Integer Programming Models for Optimization Problems in Test
Generation," in Proc. IEEE Asia-South Pacific Design Automation Conf., 1998, pp. 481-487.
32
[Maxwell00] P. Maxwell, I. Hartanto, and L. Bentz, “Comparing Functional and Structural Test," in Proc.
International Test Conf., 2000, pp. 336-343.
[McCluskey00] E. J. McCluskey, “Stuck-Fault Tests vs. Actual Defects," in Proc. Int. Test Conf., 2000, pp.
336-343.
[Navabi93] Z. Navabi, Analysis and Modeling of Digital Systems. New York: McGraw-Hill, 1993.
[Nigh97] P. Nigh, W. Needham, K. Butler, P. Maxwell, and R. Aitken, “An Experimental Study
Comparing the Relative Effectiveness of Functional, Scan, IDDq and Delay-Fault Testing," in Proc. IEEE
VLSI Test Symp., 1997, pp. 459-464.
[Noyes] J. Noyes and E. W. Weisstein. Linear Programming. From MathWorld-A Wolfram Web Resource.
http://mathworld.wolfram.com/LinearProgramming.html.
[Raina97] R. Raina, C. Njinda, and R. F. Molyneaux, “How Seriously Do You Take Possible-Detect
Faults?,” in Proc. Intnternational Test Conf., Nov. 1997, pp. 819–828.
[Ravi01] S. Ravi and N. K. Jha, “Fast Test Generation for Circuits with RTL and Gate-Level Views," in
Proc. International Test Conf., 2001, pp. 1068-1077.
[Rudnick92] E. M. Rudnick, V. Chickermane, and J. H. Patel, “Probe Point Insertion for At-Speed Test," in
Proc. IEEE VLSI Test Symp., 1992, pp. 223-228.
[Susskind83] A. K. Susskind, “Testing by verifying Walsh coefficients," IEEE Trans. Computers, vol. 32,
no. 2, pp. 198-201, Feb. 1983.
[Thaker03] P. A. Thaker, V. D. Agrawal, and M. E. Zaghloul, “A Test Evaluation Technique for VLSI
Circuits Using Register-Transfer Level Fault Modeling," IEEE Trans. CAD, vol. 22, no. 8, pp. 1104-1113,
Aug. 2003.
[Thornton01] M. A. Thornton, R. Drechsler, and D. M. Miller, Spectral Techniques in VLSI CAD. Boston:
Springer, 2001.
[Weisstein] E. W. Weisstein. From MathWorld-A Wolfram Web Resource. http://mathworld.wolfram.com.
[Wunderlich97] H.-J. Wunderlich, “Self Test using Unequiprobable Random Patterns," in Proc. 17th Int.
Symp. Fault-Tolerant Computing, July 1997, pp. 258-263.
[Yogi06] N. Yogi and V. D. Agrawal, “High-Level Test Generation for Gate-Level Fault Coverage," in
15th IEEE North Atlantic Test Workshop, May 2006.
[Yogi06a] N. Yogi and V. D. Agrawal, “Spectral Characterization of Functional Vectors for Gate-Level
Fault Coverage
Tests," in Proc. 10th VLSI Design and Test Symposium, Aug. 2006, pp. 407-417.
[Yogi06b] N. Yogi and V. D. Agrawal, .Spectral RTL Test Generation for Gate-Level Stuck-at Faults,. in
Proc. 15th Asian Test Symposium, Nov. 2006, pp. 83.88.
[Yogi07] N. Yogi and V. D. Agrawal, “Spectral RTL Test Generation for Microprocessors”, in Proc. 20th
International Conf. VLSI Design, Jan. 2007, pp. 473.478.
[Yogi07a] N. Yogi and V. D. Agrawal, “Transition Delay Fault Testing of Microprocessors by Spectral
Method," in Proc. 39th Southwestern Symp. on System Theory, Mar. 2007, pp. 283-287.
33
[Yogi07b] N. Yogi and V. D. Agrawal, “Optimizing Tests for Multiple Fault Models”, in 16th IEEE North
Atlantic Test Workshop, May 2007.
[Zhang04] J. Zhang, M. L. Bushnell, and V. D. Agrawal, “On Random Pattern Generation with the Selfish
Gene Algorithm for Testing Digital Sequential Circuits," in Proc. International Test Conf., 2004, pp. 617626.
Research Papers :
N. Yogi and V. D. Agrawal, “High-Level Test Generation for Gate-Level Fault Coverage," in 15th IEEE
North Atlantic Test Workshop, May 2006.
N. Yogi and V. D. Agrawal, “Spectral Characterization of Functional Vectors for Gate-Level Fault
Coverage Tests," in Proc. 10th VLSI Design and Test Symposium, Aug. 2006, pp. 407-417.
N. Yogi and V. D. Agrawal, .Spectral RTL Test Generation for Gate-Level Stuck-at Faults,. in Proc. 15th
Asian Test Symposium, Nov. 2006, pp. 83.88.
N. Yogi and V. D. Agrawal, “Spectral RTL Test Generation for Microprocessors”, in Proc. 20th
International Conf. VLSI Design, Jan. 2007, pp. 473.478.
N. Yogi and V. D. Agrawal, “Transition Delay Fault Testing of Microprocessors by Spectral Method," in
Proc. 39th Southwestern Symp. on System Theory, Mar. 2007, pp. 283-287.
N. Yogi and V. D. Agrawal, “Optimizing Tests for Multiple Fault Models”, in 16th IEEE North Atlantic
Test Workshop, May 2007.
34
Download