Wafer-Probe and Assembled-Package Co-optimization to Minimize Overall Test Cost
2.6. Test algorithm
2.6.2. Core algorithm
During the manufacturing process, as devices are fabricated, there is no way to get
access to the process data unless measurements are made on the device after
manufacturing. Thus, after manufacturing, one does not know the process data and hence
there is no knowledge about the process and circuit parameters. Therefore, we cannot use
a methodology to get the specifications directly from the process and circuit parameters.
The process parameters were varied to generate different instances of the DUT to
mimic the actual manufacturing process. However, in an actual manufacturing process,
all the process parameters vary around the nominal value, with a specific statistical
distribution. In simulation, it is nearly impossible to vary all the process parameters. So,
first a set of critical process parameters was selected. For example, the selected process
parameters included oxide thickness, width, and length of the MOS devices. Initially, k
critical process perturbations are computed for all the specifications, as described in
Section 2.6.1. The algorithm starts with a set of N waveforms and a set of k critical
process vectors. The initial choice of waveforms is random, where several candidate
waveforms, i.e., sine waves, pulses, and piecewise linear waveforms, or a combination of
those, are used as a preliminary guess for both WP and AP tests. These are successively
co-optimized to generate the final test waveform.
First, the test waveforms for the WP test and AP test are constructed independently,
depending on the frequency and current limitations of each test setup. N such pairs of
waveforms, for WP and AP, are constructed, which are treated as the initial population
space for co-optimizing. All the test waveforms are applied to the DUT while the circuit
critical process variations to obtain the corresponding k response waveforms. The
specifications of the DUT under each of the k process variations are already computed
while calculating the critical process vectors. From the data, a MARS model relating the
sampled response waveform to the DUT’s specifications is constructed (given the
response waveform, the model computes the DUT’s specification values). This is done
separately for the WP and AP test waveforms. Let us denote the model relating the WP
responses to the specifications by MWP and the model relating the combined WP and AP
responses to the specifications by Mcomb. For each WP and AP test waveform set, two
such models are created. The process is described in Figure 2.7.
Now, the fitness of each of the models (MWP and Mcomb) is found from a set of
reference process vectors and their corresponding specification values, which are also
computed beforehand. By using these process vectors to perturb the DUT instances, the
test waveforms are applied to the DUT and the response obtained is used as the input to
the model. From the response and the model, estimates of the specifications are obtained.
These are then compared to the actual values, and errors are computed for each model.
The error between the specifications predicted from the model and the actual
specifications obtained from the circuit measurements serve as the fitness of the model.
The error can be obtained as shown in (6).
( )
( )
∑
= − = S j N predicted N actual NN Spec j Spec k j S k Spec 1 , 1 ) ( for ∀k∈{
1,K,N}
(6)where, k indicates the stimulus currently being considered, SpecN
actual(j) is the normalized specification computed for the reference process vectors, and SpecNpredicted
(k,j) is the normalized specification predicted by the model made from the circuit output
response measurements with all the process variations applied for the same stimulus. j
represents the index for normalized specification value, which is computed as shown in
(7). With those error values, the cost is computed, which is described in Section 2.7.
∑
= = P i N Spec i j P j Spec 1 ) , ( 1 ) ( (7)After the cost for all the waveforms is computed, the waveform that gives the least cost
is chosen and is used to evolve the next set of waveforms using a genetic algorithm.
Genetic algorithm comes in handy for optimization [20], [21]. It generates the optimized
waveform for specification prediction and searches the solution space of a function using
simulated evolution, i.e., survival-of-the-fittest strategy. In general, the fittest individuals
improving successive generations through mutation, crossover, and selection operations
applied to individuals in the population. An outline for a generalized genetic algorithm is
shown in Figure 2.8.
a) Supply a population P0 of N individuals and respective function values. b) i Å 1. c) Pi’ Å selection_function (Pi-1) d) Pi Å reproduction_function (Pi’ –1) e) evaluate(Pi) f) i=i+1
g) Repeat step 3 until termination
h) Output the best solution
Figure 2.8. Genetic algorithm framework.
To keep track of the test generation procedure and the fitness of the test, a few past
cost values are stored. More and more time points are added according to the changes in
the cost as the test progresses. The algorithm for modifying the test waveforms is shown
in the following pseudo-code in Figure 2.9.
Backtrack (CostHistory, Cost) /* change the waveforms */ /* Cost is the present cost value */
/* CostHistory is a FIFO vector of k past cost values */ /* CostHistory (1) contains the most recent cost value */ {
if CostHistory(1) > Cost & … & CostHistory(k) > Cost Increment wafer-probe waveform by one time step;
else
/*Cost is not improving by increasing the WP test waveform */ Backtrack 'k' time steps in WP test waveforms;
Increment the AP waveforms by one time step;
end if
Shift CostHistory by one position by discarding the oldest value
CostHistory(1) Å Cost; }
return;