38.1 Formal Description of Test Specification and ATE

FORMAL DESCRIPTION OF TEST SPECIFICATION AND ATE
ARCHITECTURE FOR MIXED-SIGNAL TEST
Baolin Deng, Wolfram Glauert
University of Erlangen-Nuremberg,
Institute for Computer Aided Circuit Design
Paul-Gordan-Str.5, 91052 Erlangen, Germany
[email protected], [email protected]
Abstract
This paper proposes an approach to the formal description
of test specifications and automatic test equipment (ATE) architectures for mixed-signal test. For this purpose, two sets
of standard components are defined. A test specification and
an ATE can then be described using these components and
their properties. In the end, they can be represented by several mathematical matrices. Such a description, because of
its clarity, is suitable for analysis using mathematical methods and, therefore, forms a basis for the automatic generation of an optimal test concept, which is now a particularly
weak spot for the test program and device interface board
development.
1 Introduction
The preparation of the device interface board (DIB) and the
test program for mixed-signal integrated circuit (IC) testing
is an expensive and time-consuming process, and is therefore often one of the main bottlenecks in a product development cycle. In this connection, reducing the cost and the
time to market necessitates the automatic generation of the
DIB and the test program which lead to the shortest testing
time per unit later during testing.
The automatic generation of the test program (sometimes
mentioned under the name of design test integration or virtual test) for mixed-signal test is a hot topic. The previous
efforts usually concentrated on the creation of environments
to facilitate test concept capture, test code generation and
test code simulation. DANTES [1] and TOPS-A [2] were
two well-known examples of these efforts. They improved
the development, however, only in the way that a test engineer is enabled to capture a concept quickly and to modify
it in a more efficient way if required. This is, however, not
a true automation because the concept has to be developed
by the test engineer himself. Consequently, the concept developed largely depends on the intuition and expertise of the
test engineer. It is difficult to guarantee that this concept is
error-free. It is more difficult to guarantee that the utiliza-
tion of the hardware resources is optimized, which affects
the testing time. It is clear that, based on such a hand-written
concept, it is difficult to generate a test code that is error-free
and optimal (with respect to the testing time). As a result,
significant debugging effort is still required.
Virtual test [3] is an approach to debugging the test code
in a simulation environment. Its advantage is that it enables
the debugging without the device under test (DUT) as well
as the ATE hardware, thus reducing the cost and the time
to market. Its use, however, is limited by the availability
of adequate simulators and adequate models for the DUT,
the DIB and the ATE. As a result, it is impossible to use
virtual test for an accurate verification of the whole DUTDIB-ATE system within a reasonable time. For this reason,
the acceptance of the virtual test in industry has been rather
limited [4].
DIB development has recently become a hot topic. There
are many papers dealing with design techniques (e.g. [5]),
simulation environments (e.g. [6]) and the project management (e.g. [7]). In fact, for a concrete application, a successful DIB can only result from a clear design specification.
How to generate such a specification is very important as
well. This aspect, however, has been very seldom addressed
up to now.
In summary, as stated in ITRS [8], the DIB and test program development still remains one of the most difficult
challenges in a product development cycle. To automatically generate a DIB and a test program that result in the
shortest testing time, it is the first priority to automatically
generate an optimal concept for the test code generation and
the DIB development.
The paper is organized as follows. Section 2 gives an
overview on our whole strategy of automatically generating an optimal concept. Sections 3, 4 and 5 deal with our
approach to the description of test specifications and ATE
architectures, which is central to our strategy. Among these,
Section 3 gives an overview on the approach; Sections 4 and
5 describe the approach in detail. Section 6 shows the actual
ITC INTERNATIONAL TEST CONFERENCE
0-7803-8580-2/04 $20.00 Copyright 2004 IEEE
Paper 38.1
1081
results. Section 7 discusses some issues associated with the
strategy. Section 8 concludes the paper.
2 Strategy
The key of our strategy is to find an approach capable of
describing the generation of an optimal test concept mathematically. We assume that if we can describe it this way we
can also automate the generation.
The generation of a test concept is shown in Fig.1. Test
specification refers to the test requirements of a DUT. ATE
architecture refers to the entirety of the resources of an ATE
including their specifications and limitations. A test concept
comprises a test program specification and a DIB specification which, as their names imply, serve as the specification
for the test code generation and the DIB development, respectively. Test conception is a process that produces a test
concept from the test specification and the ATE architecture.
Test Specification
ATE Architecture
Test Conception
Test Concept
Testprogram
Specification
DIB Specification
Fig. 1: Generation of a test concept
In order to describe the generation of a test concept, we
need to describe (1) the test specification and ATE architecture, (2) the test program specification and DIB specification, and (3) the algorithms for test conception.
An optimal test concept is a concept that can optimally
utilize the resources of the available ATE for the given test
specification, thus resulting in the shortest testing time. In
this connection, the generation of an optimal test concept
means using an optimal algorithm for test conception.
Our vision is as follows: based on these descriptions,
a tool can be developed, using which, once a specific test
specification is available, a corresponding test concept can
be generated immediately; the test concept generated is
error-free; it utilizes the ATE resources for all tests specified by the given test specification optimally.
Furthermore, due to the fact that the test program specification produced this way is also described mathematically,
optimizing mapping approaches for the test code generation
can be used. In this way, possible errors contained in the
generated test code can be reduced. The same applies to the
DIB development.
It can be expected that the resulting DIB and test program
is already functional with respect to the whole DUT-DIBATE-system without logical errors and that only a small
Paper 38.1
1082
amount of bugs still exist. Therefore, it is possible to isolate the critical parts of the ATE, the DIB and the DUT from
the whole system for accurate verification using the virtual
test, for which commercial simulators are available. So, the
virtual test will eventually become attractive to industry.
From the discussion above we see that the description of
the test specification and ATE architecture is the basis for
our strategy. So, the next three sections deal with this issue.
3 Approach
3.1 Problem Statement
In practice, data sheet [9, 10], test plan [9] and simulation
file [10] are used as test specification. As a data sheet and
a test plan are written in plain text, such a test specification
is inadequate for the automation and optimization. Another
possibility is a file written in STIL (IEEE Std 1450) [11],
TSDL [12], ATLAS (IEEE Std 716, IEEE Std 771) [13],
TeRM (IEEE P1598) [14] or in other general description
languages. Such a test specification is also inadequate because the test content is only implicitly defined in the file.
To obtain it, an extraction is needed. Therefore, for the automation and optimization, we need a way that describes
the test specification at a level between the documentation
written in plain text and the files represented in general description languages.
As for the description of the ATE architecture, just like
the test specification, documents such as operating manuals
(on-line or off-line) and instrument panels (on-line) as well
as files written in any description languages are also inadequate for the automation and optimization. We need a way
of description, which corresponds to that for the description
of the test specification. Compared to the test specification,
the description of an ATE architecture is particularly critical.
Typically, ATE has an irregular, historically or evolutionally
grown architecture. Modern ATE may also have to use existing structures or instruments of various concepts because
of time, cost or technical reasons. In publications associated
with the virtual test only some typical instruments have been
addressed. In addition, today only coarse models are available for the virtual test environment. Therefore, the problem
of accurate description of an ATE architecture has not been
properly formulated yet.
3.2 Formulation of a Test Specification
To develop a DIB and a test program, the following information should be given:
1. What components or circuits should be connected to
what pins of a DUT? What signals should be applied
to/observed from what pins of the DUT?
2. What parameters should be directly measured? What
calculations should be done?
Item 1 is to provide a defined condition so that the DUT
assumes a specific ”state”. So, we can use ”states” to de-
scribe the components or circuits to be connected and the
signals to be applied or observed. We distinguish between
pin state, DUT state and basic state. A pin state means a
state at a pin, and a DUT state means a state at all pins. A
basic state is used as a standard component to represent a
pin state and a DUT state. To describe them in detail, two
properties will be assigned to a basic state. The properties
for a pin state and a DUT state will be represented by the
properties of the basic states.
Item 2 is to describe any ”actions” that occur in a specific DUT state. First, we distinguish between a measurement parameter and a test parameter. The former refers
to a parameter that is contained in a signal related to a pin
of the DUT. The latter is a parameter specified in a test requirements document. Then we assume that a measurement
parameter is determined by a measurement using an instrument of an ATE. A test parameter will be determined by a
calculation from the measurement parameters. The formulas or an algorithm to calculate a test parameter is called a
test function. An action can then be defined as several measurements and one calculation.
serves to transmit signals. A cINST typically is a transmission line system, multiplexer, demultiplexer, matrix, bus as
well a hard-wired network.
Second, we consider a set of so-called basic functions to
be standard components to represent the functions of an instrument (both fINST and cINST). Each basic function will
be defined to have certain properties. The properties describe the technical data, the ports, the commands for programming and other information. Both the set of basic functions and their properties will be standardized. For each basic function, an instrument may have several so-called basic modules. All basic modules performing the same basic
function have the same type of the properties. An instrument
(both fINST and cINST) can then be described by a set of
basic modules and the corresponding properties.
Finally, we introduce the so-called signal paths for each
basic module of a fINST. A signal path means a possibility to transmit a signal from the ”original” port of the basic module to its port at the ATE interface-to-DUT or vice
versa. As the signal transmission is performed by cINSTs,
it is clear that a signal path is a chain of basic modules of
cINSTs.
Basic modules of cINSTs
Basic states and
their properties
Pin State
Pin Properties
A DUT State
T signalPath T signalPath T signalPathni j 1
Measurement
Parameter
Test
Function
Test
Parameter
ni j 11
A basic
module of
fINSTs
A test process can then be viewed as a sequence of the
DUT states and the corresponding actions. A test specification can be represented by a set of the DUT states and the
corresponding actions. Fig.2 shows this scheme.
3.3 Formulation of an ATE Architecture
To develop a DIB and a test program, the following information is necessary:
1.
2.
3.
4.
5.
6.
What functions does the ATE have?
How many modules are available for one function?
What are the technical data of each module?
What commands can be used for its programming?
What are its ports at the ATE interface-to-DUT?
How can a signal be transmitted from each module to
the ATE interface-to-DUT or vice versa?
7. What modules can be used simultaneously?
First, we distinguish between functional instrument
(fINST) and connection instrument (cINST). A fINST is an
instrument that generates signals or/and records signals (and
takes some measurements if necessary). It involves all types
of sources and meters. A cINST is an instrument that simply
Tni j 1B
Tni j aB
ni j a
An Action
Fig. 2: Scheme for formulation of a test specification
Tni j 1b
Mni j
ni j a1
ni j A
ni j A1
Tni j ab
Tni j Ab
Tni j AB
Fig. 3: Scheme for formulation of an ATE architecture
So far, we can now model an ATE as a set of basic modules of fINSTs and their signal paths consisting of basic
modules of cINSTs (Fig. 3).
4 Test Specification
4.1 Definition of a Set of Basic States
A basic state is defined as a combination of the following
items: (1) the type of a pin variation; (2) a basic component,
circuit or signal; (3) the purpose (connection, stimulation or
acquisition).
A pin variation means an arrangement of DUT pins.
There are four types of such arrangements that are usually
used (Fig.4):
(a) Two pins for one component, circuit or signal
(b) Three pins for two signals (one pin is common)
Paper 38.1
1083
(c) Four pins for two separate signals
(d) Four pads for one signal (Kelvin connection)
H
H1
H2
f v i v t i t v1 t v2 t i1 t i2 t L
(a) Pin−Pin
HF
HS
H1
L1
v1 t v2 t i1 t i2 t Table 2: Groups of basic states
v t
LF
H2
LS
L
L2
(b) Pin−Pin−Pin (c) Pin-Pin ( 2) (d) Pin−Pin (FS)
Fig. 4: Types of a pin variation
A basic component/circuit means a component (e.g., resistor, capacitor) or a circuit (e.g., pull-up, pull-down) to be
connected to the DUT pins (one pin variation). Open and
short are two special cases. A basic signal is a signal to be
applied to or observed from the DUT pins (one pin variation). The usually used basic signals are listed in Table 1.
Table 1: Basic signals
Signal
Note
DC
RECTp
TRIp
RAMPp
SINp
AWp
RECTnp
TRInp
RAMPnp
SINnp
AWnp
Clock
Pattern
DC
Rectangular, periodic
Triangular, periodic
Ramp, periodic
SIN, periodic
Arbitrary-Waveform, periodic
Rectangular, non-periodic
Triangular, non-periodic
Ramp, non-periodic
SIN, non-periodic
Arbitrary-Waveform, non-periodic
Clock
Pattern
Paper 38.1
1084
Pin-Pin
Pin-Pin
Pin-Pin
Pin-Pin
Pin-Pin
Pin-Pin-Pin
Pin-Pin-Pin
Pin-Pin ( 2)
Pin-Pin ( 2)
Pin-Pin (FS)
Connection
Stimulation
Stimulation
Acquisition
Acquisition
Acquisition
Acquisition
Acquisition
Acquisition
Stimulation
v2 t i2 t v2 t i2 t If ΓPi , the number of BDPs of si , is smaller than ΓP , ΓP ΓPi
symbols φ should be inserted, so that each Pi has the same
dimension. The same applies to Qi . φ denotes ”don’t care”.
s1 si sI T
(3)
T
P1 Pi PI T
Q1 Qi QI (2)
sv1 SV
PV
QV 1
QV 2
(4)
(5)
svi svI T
(6)
T
PV 1 PV i PV I T
QV 11 QV 1i QV 1I (7)
(8)
QV 21 QV 2i QV 2I T
(9)
The following definitions hold:
svi
qiγ qiΓQ T
qi1 f v i v t i t v t i t v1 t i1 t v1 t i1 t v t Obviously, a pin state and its properties can then be described using values of S, P and Q. Let SV be the value for
S and PV for P. Contrary to P, two types of values, namely
QV 1 and QV 2, will be assigned to Q. QV 1 is a binary vector
to indicate which BMPs should be measured. QV 2 is a decimal vector to store the measurement results of the BMPs.
(1)
G1
G 2V
G 2I
G 3V
G 3I
G 4V
G 4I
G 5V
G 5I
G 6V
P
Q
pi1 piγ piΓP T
Qi
Purpose
S
To describe a basic state in detail, two properties, namely
basic description parameter (BDP) and basic measurement
parameter (BMP), are introduced. A BDP is a parameter
that characterises a basic state, and a BMP is a parameter
that is attached to a basic state and may have to be measured.
Suppose si is a basic state. Let piγ and qiγ be one of its
BDPs and BMPs, respectively. All BDPs and BMPs associated with si can then be represented by a ΓP dimensional
vector Pi and a ΓQ dimensional vector Qi , respectively.
Type of a
Pin Variation
All basic states si i 1 I as well as their BDPs
1 I and their BMPs Qi i 1 I can be
Pi i arranged in a vector (S) or matrix (P and Q), respectively.
4.2 Definition of Properties for a Basic State
Basic Component,
Circuit or Signal(s)
4.3 Representation of a Pin State and its Properties
Table 2 shows 6 groups of basic states. f v i denotes
a basic component or circuit. v t , v1 t and v2 t denote
a basic voltage signal. i t , i1 t and i2 t denote a basic
current signal. G 2V , G 2I and G 6V mean the stimulation
with one basic signal. G 3V , G 3I, G 4V , G 4I, G 5V and G 5I
mean the acquisition of one or two basic signals.
Pi
Group
1
0
PV i
if si exists;
if si does not exist.
Value of Pi ΓP
φ
if svi
if svi
1;
0
QV 1i
qv1i1 qv1iγ qv1iΓQ T
QV 2i
qv2i1 qv2iγ qv2iΓQ T
qv1iγ
1
0
φ
qv2iγ
if svi
if svi
if svi
1, qiγ is to be measured;
1, qiγ is not to be measured;
0
Measurement result of qiγ φ
if qv1iγ
if qv1iγ
1;
1
k
1
2
3
4
4.4 Representation of a DUT State and its Properties
Suppose SV m k , PV m k , QV 1 m k and QV 2 m k are
SV , PV , QV 1 and QV 2 that refer to a test step with index m
and a pin variation with index k, respectively. The SV , PV ,
QV 1 and QV 2 for all pin variations in the test step m can
then be represented by the following matrices:
SV T S m PV
TS
QV 1T S m QV 2
TS
(10)
PV m K T
(11)
QV 1 m 1 QV 1 m k QV 1 m K T
(12)
QV 2 m 1 QV 2 m k QV 2 m K T
(13)
m m SV m 1 SV m k SV m K T
PV m 1 PV m k where K is the number of pin variations of the DUT.
4.5 Representation of an Action
Suppose y m u is a test parameter in the test step m, and
λ m u is the algorithm needed for calculating y m u . All
the test parameters and their algorithms in the test step m
can be represented by two U dimensional vectors Y T S m and ΛT S m :
Y T S m
ΛT S m y
m 1
λ m 1
y m u y m U T (14)
T
(15)
λ m u λ m U If Um , the number of the test parameters to be tested in the
test step m, is smaller than U, U Um symbols φ should
be inserted, so that each Y T S m and ΛT S m have always
the same dimension. Here, ΛT S m and λ m u are only a
notation. By these we mean:
ΛT S m : Y T S m λ m u : y m u
ΛT S m PV T S m QV 2T S m λ m u PV T S m QV 2T S m Table 3: A set of basic states and their properties
Basic State
s4 :=
S
Properties
Pull-down
via R to Ground
Stimulation with
v t V0
Stimulation with
v t V0 sin2πF t t0 Observation of
v t V0 sin2πF t t0 s3 :=
s1
s2
s3
s4
4
2 IN
GND
3
Last, take the test requirements listed in Table 4 (They
have been formulated in the way presented in Section 3.2).
Table 4: Test requirement for test step m
Test Parameter: A10k (the frequency response at 10kHz)
k 1 Power supply with 15V
k 2 Stimulation with v1 t A1 cos 2π10kt V
k 3 Observation of v2 t A2 cos 2π10k t t0 V ,
Pull-down via R 1kΩ
k 4 None
Measurement parameter: A2 in v2 t for k 3
Test function: A10k A2 A1 (A1 2V )
The pin states can then be represented by
SV m 1 0 1
0 0
SV m 2 0 0
1 0
SV m 3 1 0
0 1
SV m 4 0 0
0 0
Due to space limitation, we will just give the properties for
k 2 and k 3. For the meaning of ”Actual”, ”Min” and
”Max” see Table 5.
Table 5: Structures of PV m k and QV 2 m k First, let us define a set of basic states and their properties
(Table 3). To keep the dimension of matrices small, we
choose I 4 and ΓP ΓQ 4.
s2 :=
OUT
Fig. 5: DUT and its pin variations
4.6 An Example
s1 :=
1 VS
Meaning
VS−GND
IN−GND
OUT−GND
OUT−VS
P
R
V0
V0
V0
φ
φ
F
F
φ
φ
t0
t0
φ
φ
φ
φ
P1 := R φ φ φ T
Q1 := φ φ φ φ T
P2 := V0 φ φ φ T
Q2 := φ φ φ φ T
P3 := V0 F t0 φ T
Q3 := φ φ φ φ T
P4 := V0 F t0 φ T
Q4 := V0 F t0 φ T
Q
φ
φ
φ
V0
φ
φ
φ
F
φ
φ
φ
t0
φ
φ
φ
φ
min
Connection
Stimulation
Acquisition
φ
φ
S
Note
Group
(Purpose in Table 2)
Next, we need to choose a DUT and list its pin variations.
We assume that the DUT has K 4 pins and only K 4 of
its pin variations are to be concerned (Fig.5).
S:
M:
φ:
PV m k act max
S
S
φ
φ
φ
S
QV 2 m k min act max
φ
φ
S
φ
φ
M
φ
φ
S
test specification to be assigned.
measurement result provided by instruments.
”don’t care”.
PV
m 2 φ φ
φ
φ φ
φ
Actual : 2V 10kHz 0s
φ
φ φ
φ φ
φ
φ φ
φ
Min : φ φ
φ
φ
φ
φ
φ φ
φ
φ φ
φ
Max : φ φ
φ
φ φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
PV
m 3 1kΩ φ
φ
φ
φ
φ
φ
φ
φ φ
φ
φ
φ
φ
φ
φ
φ φ
φ
φ
φ
φ
φ
φ
φ φ
φ
φ
1V
10kHz
0s
φ
φ φ
φ
φ
φ
φ
φ
φ
φ φ
φ
φ
3V 10kHz 0 1ms φ
Paper 38.1
1085
QV
1 m 2 0 0 0
0 0 0
0 0 0
0 0 0
QV
2 m 2 φ φ φ
φ φ φ
Actual : φ φ φ
φ φ φ
φ φ φ
φ φ φ
Min : φ φ φ
φ φ φ
φ φ φ
φ φ φ
Max : φ φ φ
φ φ φ
0 0
0 0
QV
1 m 3 0 0 0
0 0 0
0 0 0
1 0 0
QV
2 m 3 φ φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
φ
Table 6 shows five groups of basic functions. v t , v1 t ,
v2 t , i t , i1 t and i2 t are the same as those used in Table
2, namely the basic signals listed in Table 1.
0 0
0 0
Table 6: Groups of basic functions
φ φ φ φ
φ φ φ
φ
φ φ φ qv2 m 3 4 1 φ φ φ φ
φ φ φ φ
φ φ φ
φ
φ φ φ 1 9V
φ φ φ φ
φ φ φ φ
φ φ φ
φ
φ φ φ 2 1V
φ φ φ
Assuming that in one test step maximal U 4 test parameter
will be tested, Y T S m and ΛT S m can be represented by
Y T S m
ΛT S m y m 1
λ m 1
m 1 φ φ φ T
T
λ m 1 φ φ φ
y
:
A10k
y m 1
qv2 m 3 4 1 pv m 2 3 1 where qv2 m 3 4 1 is the measurement value in the fourth
row and first column of QV 2 m 3 act , and pv m 2 3 1 the
value in the third row and first column of PV m 2 act .
5 ATE Architecture
5.1 Definition of a Set of Basic Functions
A basic function is defined as a combination of the following
items: (1) the type of a basic port; (2) a basic signal; (3) the
purpose (stimulation or acquisition).
A basic port means a possible port that the ATE hardware
modules may have. There are four types of such ports that
are usually used (Fig.6):
(a)
(b)
(c)
(d)
Two pins for one signal
Three pins for two signals (one pin is common)
Four pins for two separate signals
Four pins for one signal (Kelvin connection)
H
v t i t H1
L1
H1
H2
v1 t v2 t i1 t i2 t v1 t v2 t i1 t i2 t H2
L2
L
L
(a) Pin−Pin (b) Pin−Pin−Pin (c) Pin-Pin ( 2)
Fig. 6: Types of a basic port
Paper 38.1
1086
Group
Basic Signal(s)
Type of a
Basic Port
Purpose
G 2V
G 2I
G 3V
G 3I
G 4V
G 4I
G 5V
G 5I
G 6V
v t i t
v t i t
v1 t i1 t v1 t i1 t v t Pin-Pin
Pin-Pin
Pin-Pin
Pin-Pin
Pin-Pin-Pin
Pin-Pin-Pin
Pin-Pin ( 2)
Pin-Pin ( 2)
Pin-Pin (FS)
Stimulation
Stimulation
Acquisition
Acquisition
Acquisition
Acquisition
Acquisition
Acquisition
Stimulation
v2 t i2 t v2 t i2 t Notice that the basic functions for fINSTs and for cINSTs
are different. In Table 6, G 2V , G 2I and G 6V are noted by
”stimulation” and the others (G 3V , G 3I, G 4V , G 4I, G 5V
and G 5I) by ”acquisition”. For the fINSTs, ”stimulation”
means the generation of a basic signal, while ”acquisition”
means the acquisition of a basic signal. For the cINSTs,
”stimulation” means the transmission of a basic signal to be
stimulated, while the ”acquisition” means the transmission
of a basic signal to be acquired.
5.2 Definition of Properties for a Basic Function
A number of properties are used for describing a basic function in detail. The properties are divided into 5 groups (Table 7). Fig.7 shows the assignment of these groups for different basic modules.
Function
(Generation)
Range
Port
(Output) (Output)
(a) fINST module (used
as
source)
Port
Range
Function (Input) (Input) (Measurement)
(b) fINST module (used as meter)
Port
(Input)
Range
(Input)
Function
Range
Port
(Processing) (Output) (Output)
(c) cINST module (used for transmission of a signal)
Fig. 7: A basic module
HF
HS
v t
LF
LS
(d) Pin−Pin (FS)
The properties E1-E7 describe the input and/or output
port of a basic module: Name is the port name; Type indicates the type of the port (Fig.6); Pin contains the names
of the port pins and Connector the names of their corresponding electrical nodes in the ATE; Relay provides the
information about if the port is controllable; switchCmd and
switchPar contain the commands to switch the port on and
off and their parameters (e.g. swiching time).
Table 7: Properties of a basic module
Group
Port
(E1-E7)
Range
(E8-E12)
Function
(Generation)
(E13-E17)
Property
1
1
4
4
4
2
2
1
1
1
1
1
1
1
rangePName
rangePPar
rangeP2Par
rangePSetCmd
rangePSetPar
1
2
2
2
2
1
1
1
1
1
PPar
PVSetCmd
PVSetPar
PStartCmd
PStartPar
ΓP
2
2
2
8
QV1
rangeQName
rangeQPar
QV1SetCmd
Function
(Measurement) QV1SetPar
(E18-E29)
QModeName
QModeType
QModePar
QModeSetCmd
QModeSetPar
QStartCmd
QStartPar
Function
(Processing)
(E30-E34)
Size of Matrix
Name
Type
Pin
Connector
Relay
switchCmd
switchPar
SModeName
SModeType
SModePar
SModeSetCmd
SModeSetPar
1
1
1
1
1
1
1
1 RP
Γ P RP
ΓP2 RP
1 RP
1 RP
ΨP
1
1
1
1
1
1
1
1
1
1 1
1 1
2 1
2 1
2 1
1 1
1 1
Π Q ΨQ 2 1
2 1
1 1
4 1
ΓQ
ΓQ
ΓQ
ΓQ
ΓQ
ΓQ
ΓQ
ΓQ
ΓQ
ΓQ
ΓQ
ΓQ
1
1
ΠS
2
2
MS
MS
MS
MS
MS
1
1
ΨS
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
RQ
RQ
RQ
RQ
MQ
MQ
MQ
MQ
MQ
MQ
MQ
1
1
1
1
1
The properties E8-E12 describe the input and/or output ranges of a basic module. rangePName contains the
names of the ranges. Each range uses two parameter blocks:
rangePPar stands for parameters of the signal to be generated or measured and rangeP2Par for the other parameters, for example input impedance. rangePSetCmd and
rangePSetPar contain the commands for setting the ranges
and their parameters (e.g. setting time).
The properties E13-E17 describe the function of a basic
module used as source. PPar describes the possible values
of the parameters of the signal to be generated. PVSetCmd
and PVSetPar contain the commands and their parameters to
set PPar. PStartCmd and PStartPar contain the commands
and their parameters to start/stop a signal run.
The properties E18-E29 describe the function of a basic module used as meter. QV1 contains the measurement
parameters. Each measurement parameter may have some
measurement ranges. rangeQName contain the names of
the measurement ranges for all measurement parameters.
rangeQPar contains their limiting values. QV1SetCmd and
QV1SetPar contain the commands and their parameters to
choose a measurement parameter and its range. Each measurement parameter may have some measurement modes
(QMode). SINGLE and MULTIPLE are for example names
of two modes contained in QModeName. These two modes
can be represented by one standard waveform whose index
and parameters are contained in QModeType and QModePar, respectively. QModeSetCmd and QModeSetPar contain the commands and their parameters to set the modes.
QStartCmd and QStartPar contain the commands and their
parameters to start/stop the measurement.
The properties E30-E34 describe the function of a basic
module used for the transmission of a signal. During the
transmission, the signal may be ”processed” in some ways
called processing modes (SMode). SModeName, SModeType and SModePar describe the names, types (e.g., amplifier, comparator) and parameters (e.g., gain for amplifier,
reference voltage for comparactor) of the modes, respectively. SModeSetCmd and SModeSetPar contain the commands and their parameters to set the modes.
5.3 Representation of an Instrument and its Properties
Let Fi i 1 I, be a basic function. Let Mni j j 1 J, be a basic module of Fi for an instrument instn
and Eni j E1 E2 E34 Table 7 denote a property of
Mni j . Suppose that I is the number of basic functions of a
description system and J is the number of basic modules for
each basic function in the description system. The instrument instn can be described by two matrices MVn (module
value) and EVn (property value):
MVn
EVn
evni j where
mvni j
evni j
I J
mvni j (16)
I J
(17)
1 if Mni j exists;
0 if Mni j does not exist.
Value of Eni j if mvni j
Φ (”don’t care”) if mvni j
(18)
1
0
(19)
5.4 Signal Path
Fig.3 shows the signal paths of a basic module (fINST).
Suppose that each basic module (fINST) Mni j has A signal
paths signalPathni j a a 1 2 A, and each signal path
signalPathni j a has B basic modules Tni j ab b 1 2 B.
Let Wni j ab denote a property of Tni j ab . All signal paths of
Mni j can then be described by two matrices TVni j (module
value) and WVni j (property value):
TVni j
WVni j
tvni j ab A B
wvni j ab A B
(20)
(21)
where
Paper 38.1
1087
tvni j ab
ñ j˜ if one Mñi j˜ exists;
φ φ
if no Mñi j˜ exists.
Value of Eñi j˜ if tvni j ab
φ (”don’t care”) if tvni j ab
wvni j ab
ñ j˜ ;
φ φ The matrices MVn , EVn and PaMVn h are used to represent an instrument, including fINST and cINST. The matrices TVni j , WVni j and PaTVni j g are used to represent
the signal paths of a basic module (fINST). Together, all
these matrices describe an ATE architecture. These matrices could, for example, be provided by ATE vendors as
online documents together with their ATEs.
Note that ñ is the index of a cINST and j˜ the index of a basic
module of the cINST. Eñi j˜ E1 E2 E34 Table 7 .
5.5 Concurrency of Instruments
To describe the concurrency of basic modules, a so-called
functional pattern is introduced.
For an instrument, a functional pattern is defined by
PaMVn h
pamvni j h I
J
h 1 Hn
(22)
where Hn is the number of the functional patterns.
For the signal paths of a basic Module Mni j (fINST), a
functional pattern is defined by
(23)
PaTVni j g patvni j ab g A B g 1 Gni j
where Gni j equals the number of the functional patterns.
For pamvni j h and patvni j ab g, the following holds:
1 Mni j (Tni j ab ) can be used in parallel;
0 Mni j (Tni j ab ) can not be used in parallel;
pamvni j h
R Mni j (Tni j ab ) can be used in parallel,
patvni j ab g and this is switchable;
φ Mni j (Tni j ab ) does not exist.
5.6 An Example
We begin by defining a set of basic functions. To keep the
dimension of matrices small, we choose I 4 and assume
that each basic function has maximal J 4 basic modules.
F1 : DC voltage source F3 : DC voltage meter
F2 : DC current source F4 : DC current meter
Now consider a PMU that can perform all these basic
functions (F1 , F2 , F3 and F4 ) and has only one basic module for each basic function (Mn11 , Mn21 , Mn31 and Mn41 ).
As an example, two matrices are given in the following:
1 0 0 0
1 0 0 0
1 0 0 0
0 0 0 0
MVn PaMVn h 0 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
The left matrix shows all its basic modules. The right matrix
shows one of its functional patterns. It says that the PMU
can provide the basic functions F1 and F4 simultaneously.
The properties EVn have the same form like MVn above.
The difference is that their elements are not 0s or 1s, but
block matrices listed in Table 7.
6 Actual Results
6.1 Theoretical Part
The matrices SV T S m , PV T S m , QV 1T S m , QV 2T S m ,
Y T S m and ΛT S m are used to represent the test specification of a DUT. The input of the test specification means
assigning values to these matrices.
Paper 38.1
1088
fINST−Module
fINST−Module
fINST−Module
4
4
4
(1)
Signal Path
Signal Path
Signal Path
4
DIB Channel
4
DIB Channel
4
DIB Channel
(2)
SIV m k sivib I FIV m k f ivi I
(3)
B
FMV m k f mvi I SMV m k smvib I FEV m k f evi I
SEV m k sevib I Pin
Variation
4
k
B
B
DMV m k dmvi I
DEV m k devi I
Fig. 8: Test configuration
The test concept is a set of so-called test configurations.
A test configuration (Fig.8) is a realization for SV m k ,
PV m k and QV 1 m k and consists of three parts: (1)
FIV m k , FMV m k and FEV m k denote the used fINSTs, their basic modules and the properties of these modules, respectively; (2) SIV m k , SMV m k and SEV m k describe the corresponding signal paths up to the ATE
interface-to-DUT and denote the used cINSTs, their basic
modules and the properties of these modules, respectively;
(3) DMV m k and DEV m k describe the corresponding
signal paths on the DIB and denote the needed basic functions and their properties, respectively.
Based on the above descriptions, generating a test concept means creating the test configurations for all pin variations and all test steps. More precisely, it is the following
(Fig.8): (1) select a basic module (fINST) for each basic
state; (2) select a corresponding signal path; (3) select a corresponding basic channel (DIB). The basic states and basic
functions have been defined in such a way that every basic
function is used to realize one basic state. Thus, determining
if a basic module is suitable for a basic state means comparing the corresponding properties of both. So, in general, it
is not difficult to obtain a set of suitable basic modules and
a set of suitable signal paths for each basic state.
Generating an optimal test concept means distributing
the suitable basic modules and the corresponding signal
paths according to some optimal criteria. Our approach
makes a contribution to this in such a way that the information about the test specification and the ATE architecture can be ”operated” mathematically and the results
can be used for the optimization, independent of the used
criteria. For example, the binary addition M
m 1 SV m k produces a matrix that indicates which basic states are
desired for one pin variation during all test steps; The
decimal addition ∑M
m 1 SV m k produces a matrix that
gives the frequencies with which the basic states are de-
sired for one pin variation during all test steps; The
operations Min Max PV m k m 1 M produce
two matrices that give the boundary values of the property of the basic states for one pin variation during all
test steps. Similarly, Kk 1 SV m k , ∑Kk 1 SV m k and
Min Max PV m k k 1 K produce the matrices
that give the desired basic states, their frequencies and the
boundary values of their property for all pin variations in
one test step, respectively. Similar operations can be used
for the matrices representing the ATE architecture.
6.2 Practical Part
We have defined 239 basic states for describing test specifications (their properties are defined at a higher level). Considering AD1674 (12bit ADC, 28 pins) as example, five
representative tests (power supply current, input resistance,
logic input voltage, input output delay and a functional test)
are selected from the device data sheet and represented by
matrices (using a subset of defined basic states).
We have defined 231 basic functions for describing ATE
architectures. Considering M3650 as example, the following instruments are analyzed: VM (voltmeter), VIS10 (voltage/current source), HRSG (high resolution signal generator), HRSD (high resolution signal digitizer), PMU, TMU,
BUS, DC MX (matrix), as well as the driver and comparator
of DPINs (pin electronics).
In order to describe a complete test specification and a
complete ATE architecture, a reasonable description system
with, for example, I 512, J 1024, ΓQ 8 and MQ 8
is to be used. This means that the instruments are allowed
to have 512 different basic functions and 1024 basic modules for each basic function. A basic module used as meter
is allowed to measure 8 parameters and have 8 measurement modes for each parameter. In this case the property
QModeName (Table 7) is a 512 1024 8 8 matrix.
So we have started to develop a tool with the following
functions: input a test specification, manipulate the corresponding matrices and output their boundary data. Here,
an adequate method for storing the needed matrices using
sparse matrix techniques is to be applied (see Section 7.4).
As the second step, this tool can be extended with the following functions: input an ATE architecture, manipulate the
corresponding matrices and output their boundary data. So
far, the tool can be used as an online planner for test engineers to manually create their test concepts. On this basis,
integrating algorithms for the generation of a test concept
will be relatively easy.
7 Discussion
7.1 Effect on DIB Development
DMV m k and DEV m k shown in Fig.8 can be used as a
clear specification for DIB development, including circuit
design and DIB testing. The matrices M
m 1 DMV m k ,
∑M
m 1 DMV m k and Min Max PV m k m 1 M can provide the information about the desired basic functions, their frequencies and the boundary values of their
properties for the DIB with respect to the pin variation k,
respectively. For example, the following information can
be given: a DC current signal, a DC voltage signal and a
sine voltage signal should be applied once, twenty times
and twice to a pin, respectively; for the DC voltage signal
two sources will be used (PMU5 and VIS10 1); VIS10 1
is used for the test steps 5 and 6 (two times), the voltage
value ranges from 2.0 V to 4.0V; PMU5 is used for the other
test steps (18 times), the voltage value ranges from 0.0V to
2.0V. How much information can be provided depends on
the properties prepared for the DIB specification.
7.2 Effect on Test Program Development
The test program specification has two forms: (1) matrices
shown in Fig.8; (2) a sequence of standard commands describing the actions of the needed resources, including fINSTs, cINSTs and DIB channels. The commands for a meter
can for example look as follows:
SELECT
< INST n, MODULE i j >
CONNECT < IN >
SET
< IN, range >
SET
< QV, QV >
SET
< QMODE, mode2, mode2Par >
START
< Q, startPar >
This means the following: select the Instrument instn and
its module Mni j ; connect its input port; set its input range
to range; set the instrument to measure the parameter specified by QV (e.g. DC voltage); set the measurement mode to
mode2 (e.g. MULTIPLE) and its parameters to mode2Par
(e.g., four measurements should be done, the first measurement occurs with 20 µs delay and each further measurement
occurs after 30 µs); start the measurement using the parameters contained in startPar.
The properties with the suffix Cmd listed in Table 7 are
designed to be used in mapping the test program specification (presented in the second form) into the test program
(test code). With such a test program, the utilization of the
hardware resources is optimized. However, the optimization
at the code level is still needed.
7.3 Issues about Limitations
The basic states and basic functions defined in this paper
may need to be extended for completeness, since completeness can only be realized in the context of one specific application area.
There is a question of abstraction levels. For example, the
issues like accuracy, repeatability, jitter and noise can only
then be considered, if the corresponding data are contained
in the properties.
The properties of the basic states and the basic functions
have been defined in such a way that they are comparable
Paper 38.1
1089
with each other. But even so there are some parameters that
a basic module possesses and a basic state does not possess,
for example, slew rate. This leads to the fact that either this
parameter is given as a variable in the generated concept
or additional information is requested during the generation
process.
In principle, there is no constraint on how an ATE should
be decomposed into individual instruments. An instrument
can be a voltmeter, a matrix, a transmission line, a switcher,
a connector or the whole pin electronics. In general, the
finer the decomposition, the better for the flexibility and the
reusability. But the more data are needed to represent the
whole ATE.
7.4 Data Amount
According to our approach a large number of data are to
be stored. If we store the matrices directly, the problem of
storage space may arise. For example, with I 512, the
matrices for the test specification per test step and per pin
variation may contain 64 5K data (binary numbers, strings
or values) and with I 512 and J 1024, a fINST may
contain 2838 5M data. However, this problem can be solved
by using sparse matrix techniques, since it was observed that
all these matrices are very sparsely occupied.
For example, for one pin variation in one test step often
only one basic state is used. Replacing I 512 by a mean
value for example I¯
2, the data to be stored will be reduced
from 64 5K to 0 25K. As for the ATE instruments, a PMU,
for example, usually has only four basic functions and one
basic module for each basic function. Using a mean value,
for example I¯
16 and J¯
16 for I 512 and J 1024, the
data to be stored for a fINST can be reduced from 2838 5M
to 1 39M. There are other possibilities to reduce the amount
of data. Here we will not go into detail. To conclude, it is
possible to keep the amount of data to be stored within a
reasonable scope by using sparse matrix techniques.
8 Conclusion
This paper proposed a new approach to describe test specifications and ATE architectures at the electrical level. The
approach is application oriented, since the description is tailored to explicitly provide the information which a test engineer requires for his DIB and test program development.
The test specification and ATE architecture are represented by mathematical matrices. So our approach offers
possibilities to use mathematical algorithms to derive a test
concept for the DIB and test program development.
To implement this approach in a tool, a large number of
data are to be stored. However, it was observed that all these
matrices are very sparsely occupied. So, sparse matrix techniques can be used.
Acknowledgements
This work was supported in part by the German BMBF
Paper 38.1
1090
within the scope of MONARCH (Project Ref: 01M3057C)
References
[1] S. C. Bateman and W. Kao. Simulation of an Integrated Design and Test Environment for Mixed-Signal
Integrated Circuits. In Proc. International Test Conference, pages 405–414, 1992.
[2] E. Sax, G. Krampl, M. Miegler, and S. Sattler. A Common Mixed-Signal Testbench for Design Verfication
and Test. In Proc. IEEE International Mixed Signal
Testing Workshop, pages 35–40, 1999.
[3] H. Grams, E. Eckert, W. Hartl, I. Thorbergsson, and
W. Tenten. Status of Virtual Test and Visions. In
Proc. IEEE International Mixed Signal Testing Workshop, pages 182–186, 2000.
[4] G. Krampl, M. Rona, and H. Tauber. Test Setup Simulation - a High-Performance VHDL-based Virtual Test
Solution Meeting Industrial Requirements. In Proc.
International Test Conference, pages 870–878, 2002.
[5] T. P. Warwhick. What a Device Interface Board Really
Costs: An Evoluation of Technical Consideration for
Testing Products Operating in the Gigabit Region. In
Proc. International Test Conference, pages 555–564,
2002.
[6] K. Helmreich. Test path Simulation and Characterization. In Proc. International Test Conference, pages
415–423, 2001.
[7] D. E. McFeely. The Process and Challenges of a HighSpeed DUT Board Project. In Proc. International Test
Conference, pages 565–573, 2002.
[8] SIA. International technology roadmap for semiconductors: Test and test equipment, 2003.
[9] M. Burns and G. W. Roberts. An Introduction to
Mixed-Signal IC Test and Measurement. Oxford University Press, 2001.
[10] D. Johansen. Definition and Description of an Automated Mixed Signal Test Program Generator. In Proc.
IEEE International Mixed Signal Testing Workshop,
pages 105–109, 1999.
[11] IEEE 1450 - Standard Test Interface Language
(STIL), 2003. URL http://grouper.ieee.
org/groups/1450/.
[12] M. Miegler. Konzeption einer Datenbasis zur Spezifikation und Generierung von Prüfprogrammen für
gemischt analog-digitale integrierte Schaltungen. VDI
Verlag GmbH, 1999.
[13] IEEE SCC20 Test Description SubCommittee, 2003.
URL http://grouper.ieee.org/groups/
scc20/td/.
[14] L. A. Shombert and J. W. Sheppard. A Behavior Model
for Next Generation Test Systems. Journal of Electronic Testing: Theory and Applications, 13(3), December 1998.