The present invention relates generally to design automation, and relates more particularly to the at-speed structural test (ASST) of integrated circuit (IC) chips.
When IC chips come off the manufacturing line, the chips are tested “at-speed” to ensure that they perform correctly (and to filter out chips that do not perform correctly). In particular, the chips are tested at a specified voltage level (Vtest). In addition, the chips must meet a specified frequency level (Ftest) to be qualified as “good” chips.
The determination of Vtest and Ftest directly impacts the yield (i.e., the percentage of the chips that are shipped to customers) and the shipped product quality loss (i.e., the percentage of the chips that are shipped to customers that are “bad” chips). More stringent test conditions will improve shipped product quality loss but worsen yield. More relaxed test conditions will improve yield but worsen shipped product quality loss.
Conventionally, Vtest and Ftest are determined in a heuristic manner based on empirical hardware characterization. This approach is performed manually using engineering judgment. Thus, inherently, this approach has no mathematical formulation or statistical basis and requires significant human effort. The resulting test conditions are typically highly sensitive to variations in sample chips.
In one embodiment, the invention is a method and apparatus for selecting voltage and frequency levels for use in at-speed testing. One embodiment of a method for selecting a set of test conditions with which to test an integrated circuit chip includes formulating a statistical optimization problem and obtaining a solution to the statistical optimization problem, where the solution is the set of test conditions.
So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
In one embodiment, the present invention is a method and apparatus for selecting voltage and frequency levels for use in at-speed testing of IC chips. Embodiments of the invention provide an automated technique for determining the optimal voltage and frequency levels for testing a set of IC chips. The voltage and frequency levels are then applied by a tester (i.e., a system or device that electronically tests the IC chips under a set of test parameters in order to determine whether their operational characteristics match simulation models or other documentation for the IC chips). The present invention achieves better and more robust testing of IC chips, as well as higher productivity, than is possible with conventional heuristic practices.
The method 100 is initialized at step 102 and proceeds to step 104, where the method 100 obtains a set of k sample chips from the set of N IC chips (where k≦N). The k sample chips can be selected randomly or selected over a set of parametric indicators (for example, over a range of performance-sensitive ring oscillator (PSRO) frequencies over the set of N IC chips).
In step 106, the method 100 shmoos (i.e., plots the response varying over a range of conditions and inputs) the set of sample chips. In one embodiment, shmooing involves, for each of the k sample chips, applying a set of voltages over some range of voltages. At each applied voltage, the frequency of the sample chip is varied until the sample chip fails. Thus, the highest working frequency (i.e., the highest operating frequency at which the sample chip does not fail) is obtained for each sample chip under different voltage levels.
Referring back to
In step 110, the method 100 uses the regression data to solve a statistical optimization problem. The solution to the optimization problem comprises the optimal testing conditions for the frequency and the voltage (i.e., Ftest and Vtest). In particular, the optimization problem attempts to achieve a target scrap rate, Tscrap (i.e., a percentage of the set of N IC chips that is scrapped during ASST) based on the mathematical model obtained in step 108. The scrap rate is typically used by test engineers as an indicator to judge the testing quality. When the scrap rate is too high, too many chips are discarded, and yield suffers. When the scrap rate is too low, too many chips are shipped to customers, and shipped product quality loss may be at risk of being high. In one embodiment, Tscrap is in the range of 0.5 to 2.5 percent.
In one embodiment, the optimization problem seeks to select values for Ftest and Vtest that minimize the deviation from the target scrap rate. Thus, in one embodiment, the optimization problem is formulated as follows:
such that:
Vmin≦Vtest≦Vmax
Fmin≦Ftest≦Fmax
F(PSROk,V),kε[1,N]ε[Vmin,Vmax] (EQN. 1)
where PSRO is the PSRO frequency for all chips in the set of N IC chips, F(PSRO, V) is the modeled highest working frequency for all chips with different PSRO frequencies at any voltage level V, F(PSROk, V) are the shmooed highest working frequencies for the set of k sample chips (e.g., in the case of
The modeled F(PSRO, V) in the statistical optimization problem defined in EQN. 1 comprises a known (analytical) part and an unknown part. The known part has a given functional form, while the unknown part is modeled as one or more random variables. In one embodiment, the unknown part of the optimization problem is modeled as a random variable that represents variation. For example, F(PSRO, V) may be modeled as follows:
F(PSRO,V)=G(PSRO,V)+ΔR (EQN. 2)
where R is the random variable.
The known part of F(PSRO, V) can be any user-selected functional form based on engineering knowledge about the process. For example, the known part of the optimization problem can be modeled as:
G(PSRO,V)=α0+(α1·PSRO)+(α2·V) (EQN. 3)
where the frequency F is a linear function of the voltage V and the PSRO frequency.
The regression performed in step 108 provides the known part of F(PSRO, V), based on the shmoo data. The remaining error or uncertainty is assigned to the unknown random variable.
In one embodiment, the PSRO frequency can be modeled as a distribution. In another embodiment, the random variation ΔR can be adjusted to make the model more comfortably capture model uncertainty. This adjustment can be based on the sample chip data and/or on expert or domain knowledge.
For example, referring back to EQN. 1 by assuming Gaussian random distributions for both PSRO and ΔR, EQN. 1 could be alternatively formulated as:
More specifically, solving EQN. 1 based on a linear regression model, one can obtain:
For the same target scrap rate, one can have multiple choices of Vtest and Ftest within a valid region. These choices fall within a straight line bounded by [Vmin, Vmax] and [Fmin, Fmax]. In one embodiment, Fmin is chosen as Fdomain. Thus, Ftest can be solved as:
The method 100 outputs the optimal testing conditions Ftest and Vtest in step 112. In one embodiment, the optimal testing conditions are output directly to the tester (e.g., by programming the tester), which applies the optimal testing conditions to testing of the set of IC chips. The method 100 then terminates in step 114.
The method 100 therefore provides a framework to systematically examine different effects on chosen testing conditions. Application of the method 100 produces high-quality testing results that are robust to sample variations. Moreover, the automated flow of the present invention enhanced the productivity of the testing.
In one embodiment, a more general formulation of EQN. 8 can be used to extend the present invention to IC chips having multiple clock domains. When there are multiple clock domains, each clock domain would have its own model:
∀iε[1,m]:Fi(PSRO,V)=αi,0+(αi,1·PSRO)+(αi,2·V)+ΔRi (EQN. 9)
The final scrap rate should be a joint scrap rate for all clock domains, i.e.:
P(F1(PSRO,V1,test)≦F1,test, or . . . , or Fm(PSRO,Vm,test)≦Fm,test) (EQN. 10)
The optimization problem can thus be similarly formulated as:
such that
∀iε[1,m]
Vmin≦Vi,test≦Vmax
Fi,min≦Fi,test≦Fmax (EQN. 11)
EQN. 11 can be solved numerically, such that the optimal solution is not unique and may not necessarily form a hyper plane. Alternatively, EQN. 11 can be solved iteratively. In the latter case, the test conditions for each clock domain are independently found to target an adjusted scrap rate that is lower than the target scrap rate. The same procedures described above with respect to
The present invention therefore makes use of all shmoo data generated from a set of sample chips. The end result is thus less sensitive to one particular sample chip. In addition, by statistically targeting the “desired” scrap rate directly, the chances of over-scrapping or under-scrapping can be minimized.
Alternatively, the test condition selection module 305 can be represented by one or more software applications (or even a combination of software and hardware, e.g., using Application Specific Integrated Circuits (ASIC)), where the software is loaded from a storage medium (e.g., I/O devices 306) and operated by the processor 302 in the memory 304 of the general purpose computing device 300. Thus, in one embodiment, the test condition selection module 305 for selecting a voltage and frequency levels for use in at-speed structural testing of an IC chip, as described herein with reference to the preceding Figures, can be stored on a non-transitory computer readable storage medium (e.g., RAM, magnetic or optical drive or diskette, and the like).
It should be noted that although not explicitly specified, one or more steps of the methods described herein may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application. Furthermore, steps or blocks in the accompanying Figures that recite a determining operation or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. Various embodiments presented herein, or portions thereof, may be combined to create further embodiments. Furthermore, terms such as top, side, bottom, front, back, and the like are relative or positional terms and are used with respect to the exemplary embodiments illustrated in the figures, and as such these terms may be interchangeable.
Number | Name | Date | Kind |
---|---|---|---|
7363176 | Patel et al. | Apr 2008 | B2 |
7539893 | Ferguson | May 2009 | B1 |
7620921 | Foreman et al. | Nov 2009 | B2 |
7873925 | Visweswariah et al. | Jan 2011 | B2 |
7880535 | Inoue | Feb 2011 | B2 |
20030204349 | Ando | Oct 2003 | A1 |
20080010032 | Sugiyama | Jan 2008 | A1 |
20090119629 | Grise et al. | May 2009 | A1 |
20090182522 | Visweswariah et al. | Jul 2009 | A1 |
Entry |
---|
Gupta et al., “Simulation Based Multiobjective Schedule Optimization in Semiconductor Manufacturing,” Winter 2002, pp. 1862-1870. |
Number | Date | Country | |
---|---|---|---|
20110191055 A1 | Aug 2011 | US |