This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2010-125218, filed on May 31, 2010, the entire contents of which are incorporated herein by reference.
This technique relates to a technique for correcting parameters or the like used in a simulation.
As illustrated in
Recently, because the microfabrication of the semiconductor advances, the influence of the variability of the device characteristic on the yield is increasing. Therefore, as schematically depicted in
Then, there is a case where the statistics of the measurement values are used as the distribution of the device characteristic to be inputted to the simulator. However, even if such data is used, the deviation between the predicted yield value and the yield measurement value is not cancelled due to some reasons, for example, there are conditions and/or characteristics, which are not measured, and/or the number of measurement samples is very small. Especially, as for the number of measurement samples, in case of a Static Random Access Memory (SRAM) having a capacity of 10M bits, in order to predict whether or not the yield is equal to or greater than 99%, the device characteristic has to be measured 10M*100=109 times. This is not a realistic value.
Therefore, as schematically depicted in
According to a first aspect of this technique, a parameter correction method includes: (A) obtaining, from a variability-aware simulation, a simulation result value of a predetermined product performance with respect to a reference candidate value set concerning statistics of predetermined product characteristics, and storing the obtained simulation result value into a data storage device; (B) calculating a likelihood by substituting the reference candidate value set, the obtained simulation result value, statistics of measurement values of the predetermined product characteristics and a measurement value of the predetermined product performance, which are stored in the data storage unit, into a likelihood function that is defined from a probability density function for the statistics of the predetermined product characteristics and a probability density function for the predetermined product performance, and is a function to calculate a combined likelihood of the statistics of the predetermined product characteristics and the predetermined product performance, and storing the calculated likelihood into the data storage unit; and (C) searching for a reference candidate value set in case where the calculated likelihood becomes maximum, by carrying out the obtaining and storing and the calculating and storing a plurality of times while changing the reference candidate value set.
According to a second aspect of this technique, a parameter correction method includes: (A) first calculating, for each of a plurality of manufacturing measurement condition sets stored in a data storage unit, each candidate value of each parameter among a plurality of parameters that are statistics of predetermined product characteristics, based each of relational expressions, each the relational expression representing a relationship between the corresponding manufacturing measurement condition set and one parameter of the plurality of parameters, and storing the candidate values of the plurality of parameters, which are calculated for the corresponding manufacturing measurement condition set, into the data storage unit; (B) obtaining, from a variability-aware simulation, a simulation result value of a predetermined product performance with respect to the candidate values of the plurality of parameters, which are stored in the data storage unit in association with each of the manufacturing measurement condition sets, and storing the simulation result values into the data storage unit; (C) second calculating a likelihood by substituting the candidate values of the plurality of parameters for the respective manufacturing measurement condition sets, the simulation result values of the respective manufacturing measurement condition sets, the statistics of measurement values of the predetermined product characteristics for the respective manufacturing measurement condition sets and measurement values of the predetermined product performance for the respective manufacturing measurement condition sets into a likelihood function that is defined by unifying, for the plurality of manufacturing measurement condition sets, respective probability density functions for the respective parameters and a probability density function for the predetermined product performance and is a function to calculate a combined likelihood of the respective parameters and the predetermined product performance for the plurality of manufacturing measurement condition sets, and storing the calculated likelihood into the data storage unit; and (D) searching for respective relational expressions for each of the manufacturing measurement condition sets in case where the likelihood becomes maximum by carrying out the first calculating and storing, the obtaining and storing and the second calculating and storing a plurality of times, while changing the respective relational expressions for each of the manufacturing measurement condition sets.
The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed.
The yield prediction unit 105 and correction value generator 108 cooperate with a simulator 200 that carries out a variability-aware simulation, to carry out a processing described below. This simulator 200 is a well-known SPICE simulator, for example, and circuit data is also inputted. However, further explanation is omitted. In addition, the correction value generator 108 further cooperates with the likelihood calculation unit 109, to carry out a processing described below. The controller 106 controls the aforementioned units by using data stored in the likelihood data storage unit 110 and search data storage unit 107 in response to outputs from the input unit 101.
Next, a processing of the parameter correction apparatus will be explained by using
The user inputs measurement data Dij of the device characteristics, a measurement value y′ of the yield, the standard deviation σk of the errors for the statistics p′k of the measurement data Dij and the standard deviation σy of the errors for the measurement values y′ of the yield into the input unit 101, and the input unit 101 accepts and stores such data into the input data storage unit 102 (
Next, the statistics calculation unit 103 calculates average values μ(Di) and standard deviations σ(Di) of the measurement data Dij of the device characteristics, which is stored in the input data storage unit 102, and stores the calculated data into the statistics data storage unit 104 (step S3). For example, data as depicted in
Then, the yield prediction unit 105 sets the statistics of the measurement values, which are stored in the statistics data storage unit 104, as initial correction values, causes the simulator 200 to carry out a simulation for the initial correction values, and obtains and stores the yield y0 that is a simulation result into the search data storage unit 107 (step S5). First, the yield prediction unit 105 stores data as depicted in
After that, the likelihood calculation unit 109 calculates a combined likelihood of the statistical parameters and yield from the statistics of the measurement values of the device characteristics, the measurement value of the yield, error standard deviations for the statistics of the measurement, error standard deviation for the yield, initial correction values of the statistical parameters and yield value of the simulation result, and stores the calculated likelihood into the likelihood data storage unit 110 (step S7).
The likelihood L(S, ys(S)) calculated here is defined as follows. Incidentally, S={p1, . . . , pn} (n=12 in the aforementioned example), and pi is a true value of p′i, and when an error is represented by “ei”, p′i=pi+ei. Incidentally, the average value of ei is “0” and the standard deviation of ei is σi described above. In addition, ys(S) represents the yield of the simulation result for S.
Incidentally, L(pi) is represented as follows:
In addition, as for the yield, the measurement value y′ is also represented by a sum of the true yield y and an error ey, and the average value of the error ey is “0”, and the standard deviation of the error ey is σy as described above. Then, the likelihood of the yield y is represented as follows:
At the step S7, the initial correction values are substituted into pi, and the yield y0 of the simulation result is substituted into ys(S). Moreover, other variables are described above.
When the likelihood is calculated according to the expression (1), the first likelihood L0 is stored in the likelihood data storage unit 110 as depicted in
Moving to a processing of
For example, as depicted in
Such slopes are calculated for all of the statistical parameters and stored into the search data storage unit 107 as depicted in
After that, the correction values pix for the next generation x are calculated as follows:
pix=pix-1+(∂L/∂pi)*Δs
Incidentally, Δs is a predetermined constant. In addition, (x−1) represents a generation immediately before the next generation x.
Then, data as depicted in
Next, the yield prediction unit 105 causes the simulator 200 to carry out the simulation for the new correction values, obtains the yield yx of the simulation result from the simulator 200, and stores the obtained yield into the search data storage unit 107 (step S11). At this stage, as depicted in
Then, the likelihood calculation unit 109 calculates the combined likelihood of the statistics of the device characteristics and the yield from the statistics of the measurement values of the device characteristics, yield measurement value, error standard deviations of the statistics of the measurement values and yield, correction values calculated at the step S9 and yield value of the simulation result, and stores the calculated likelihood into the likelihood data storage unit 110 (step S13). The likelihood is calculated according to the expression (1). Then, the likelihood L1 calculated this time is stored into the likelihood data storage unit 110 as depicted in
Then, the controller 106 judges whether or not a termination condition for the iteration is satisfied (step S15). For example, it is determined whether or not a predetermined termination condition is satisfied such as a case where the processing is carried out the predetermined number of iterations, case where the likelihood stored in the likelihood data storage unit 110 becomes equal to or greater than a predetermined value, case where the likelihood, which was increasing up to the previous iteration, decreased in this iteration, or the like.
When it is determined that the termination condition is not satisfied, the processing returns to the step S9. On the other hand, when the termination condition is satisfied, the controller 106 reads out the correction values used when the likelihood stored in the likelihood data storage unit 110 is maximum, and outputs the correction values (step S17).
As depicted in
This will be further explained by using
However, in this embodiment, the aforementioned processing is carried out to adjust the statistical parameter values so that the entire likelihood becomes maximum while balancing the probability densities of the statistical parameters and the probability density of the yield. In the example of
Although an example with respect to the circuit was described, this embodiment can be applied to any other product fields in which the variability-aware simulation is carried out. In addition, this embodiment can be applied to not only the yield but also other product performance which can be obtained by the simulation.
In the first embodiment, the aforementioned processing is carried out for each manufacturing measurement condition. This embodiment shows an example that the statistical parameter values or relational expressions for calculating the statistical parameter values are identified in a form that plural manufacturing measurement conditions are unified.
The coefficient correction value generator 309 cooperates with the simulator 400 and likelihood calculation unit 311 and stores the processing results into the search data storage unit 308. In addition, the yield prediction unit 306 includes a statistical parameter value calculation unit 3061. In addition, the simulator 400 is the same as the simulator 200 in the first embodiment.
Next, a processing of the parameter correction apparatus relating to this embodiment will be explained by using
Incidentally, the controller 307 controls the entire parameter correction apparatus so that the processing is carried out according to the processing flow described below. Therefore, the explanation for the operation of the controller 307 is eliminated except portions that the controller 307 judges something.
The user inputs PTV condition sets Cj (=(Pj, Tj, Vj)), measurement data sets D(Cj) of the device characteristics with respect to the respective PTV condition sets Cj, measurement value sets y′ (Cj) of the yield with respect to the respective PTV condition sets Cj, error standard deviation sets σk(Cj) for the statistics p′k(Cj) of the measurement data D(Cj) with respect to the respective PTV condition sets Cj and error standard deviation sets σy(Cj) of the measurement value sets y′(Cj) of the yield with respect to the respective PTV condition sets Cj into the input unit 301, and the input unit 301 accepts inputs of such data, and stores such data into the input data storage unit 302 (
For example, data as depicted in
Next, the statistics calculation unit 303 calculates, for each of the PTV condition sets, average values μj(Di) and standard deviations σj(Di) of the measurement data D(Cj) of the device characteristics, which is stored in the input data storage unit 302, and stores the calculated data into the statistics data storage unit 304 (step S23).
For example, data as depicted in
Then, the initial coefficient calculation unit 305 calculates initial correction values of coefficients included in PTV model expressions of the statistical parameters by the least square method based on the statistics sets of the measurement values of the device characteristics, which are calculated at the step S23, and the PTV condition sets stored in the input data storage unit 302, and stores the calculated values into the search data storage unit 308 (step S25).
The PTV model expression of the statistical parameters are defined as follows:
pi(P,T,V)=fi(P,T,V)=ki1*P+ki2*T+ki3*V+ki4 (2)
As also depicted in
By carrying out such a processing, the initial coefficient value sets as depicted in
Next, the statistical parameter value calculation unit 3061 of the yield prediction unit 306 calculates the statistical parameter values for each PTV condition set, from the initial coefficient correction values and PTV model expressions and PTV condition sets, and stores the calculated data into the search data storage unit 308 (step S27).
First, the statistical parameter value calculation unit 3061 stores data as depicted in
Then, for each of the PTV condition sets and for each of the statistical parameters, when the initial coefficient values and PTV condition set as depicted in
p10=k110*P1+k120*T1+k130*V1+k140
Thus, when also calculating other statistical parameters, the calculated statistical parameter values are stored into the search data storage unit 308 as depicted in
After that, the yield prediction unit 306 causes the simulator 400 to carry out, for each PTV condition set, a simulation with respect to the statistical parameter value sets calculated at step S27, obtains the yield y0 of the simulation result, and stores the simulation result into the search data storage unit 308 (step S29). When causing the simulator 400 to carry out the variability aware simulation, the yield prediction value y0 is obtained for each PTV condition set as the simulation result, and is stored into the search data storage unit 308, as depicted in
Then, the likelihood calculation unit 311 calculates a combined likelihood of the statistical parameter value sets and yields for all PTV condition sets from the statistics sets of the measurement values of the device characteristics, yield measurement values, error standard deviation sets (for the statistics of the measurement values of the device characteristic and for the yield), the statistical parameter value sets calculated at the step S27, predicted yield values calculated at the step S27 and the yield prediction values of the simulation results, and stores the calculated likelihood into the likelihood data storage unit 312 (step S31).
The likelihood calculated here is calculated by multiplying the likelihoods L(S, ys(S)) in the first embodiment for all of the PTV condition sets. However, S is expanded to S(Cj), and ys(S) is also expanded to ys(S(Cj)). Therefore, the likelihood of pi(Cj) is represented as follows:
Incidentally, σij represents the error standard deviation of p′i(Cj). In addition, as described above, pi(Cj) can be disassembled by the expression (2), however, because it is calculated at the step S27, the disassembling does not have any meaning.
Furthermore, the likelihood of the yield y(Cj) is represented as follows:
Incidentally, σyj represents the error probability distribution of y′(Cj).
Therefore, the entire likelihood in the second embodiment is represented as follows:
The likelihood L0 calculated according to the expression (3) is stored in the likelihood data storage unit 312 as depicted in
Moving to a processing of
At this step, the processing carried out for each statistical parameter in the first embodiment is carried out for each coefficient correction value.
For example, as depicted in
Thus, the slope is calculated for all of the coefficient correction values and is stored into the search data storage unit 308, for example, as depicted in
After that, the coefficient correction values kihx for the next generation x are calculated as follows: h is an integer from 1 to 4.
kihx=kihx-1+(∂L/∂kih)*Δs
Incidentally, Δs is a predetermined constant. (x−1) represents the generation immediately before the next generation x.
Then, the coefficient correction value sets as depicted in
After that, the statistical parameter value calculation unit 3061 of the yield prediction unit 306 calculates new parameter value sets for each PTV condition set according to the expression (2) from the coefficient correction value sets for the next generation and PTV condition sets, and stores the calculated values into the search data storage unit 308 (step S35). Although the used coefficient correction value sets are different, the similar processing to the step S27 is carried out. When carrying out this step, data in the line of the statistical parameter value 1 as depicted in
Then, the yield prediction unit 306 causes the simulator 400 to carry out the simulation for the statistical parameter value sets calculated at the step S35, obtains the yield y1 of the simulation result, and stores the yield y1 into the search data storage unit 308 (step S37). When causing the simulator 400 to carry out the variability-aware simulation, the yield prediction value y1 is obtained as the simulation result and stored into the search data storage unit 308 as depicted in
Furthermore, the likelihood calculation unit 311 calculates a combined likelihood of the statistical parameter value sets and yields for all of the PTV condition sets from the statistic sets of the measurement values of the device characteristics, yield measurement values, error standard deviation sets (for the statistics of the measurement values of the device characteristics and for the yield), the statistical parameter value sets calculated at the step S35 and the yield predicted values of the simulation results, and stores the calculated likelihood into the likelihood data storage unit 312 (step S39). At this step, the likelihood is calculated according to the expression (3). For example, data as depicted in
Then, the controller 307 judges whether or not a termination condition of the iteration is satisfied (step S41). For example, it is judged whether or not a predetermined termination condition is satisfied such as a case where the iteration processing is carried out the predetermined number of times, a case where the likelihood stored in the likelihood data storage unit 312 is equal to or greater than a predetermined value, a case where the likelihood, which was increasing up to this iteration, firstly decreased, or the like.
When the termination is not satisfied, the processing returns to the step S33. On the other hand, when the termination condition is satisfied, the controller 307 reads out and outputs the coefficient correction value set used when the likelihood became maximum from the search data storage unit 308 (step S43). Incidentally, the corresponding statistical parameter value set may be outputted.
As depicted in
Although an example concerning the circuit was explained, this embodiment can be applied to fields of other products for which the variability-aware simulation is carried out. In addition, this embodiment can be applied to not only the yield but also other product performances which can be obtained from the simulation.
Although the embodiments of this technique were explained above, this technique is not limited to those. For example, the functional block diagrams of the parameter correction apparatuses do not always correspond to actual program module configurations. The data formats of the data storage units do not always correspond to actual file configurations.
Furthermore, as for the processing flow, as long as the processing results do not change, the order of the steps may be exchanged or the steps may be executed in parallel.
In addition, the search of the maximum likelihood can be implemented by various algorithms. Therefore, the processing flow illustrated in the processing flow may be changed.
Moreover, the simulators 200 and 400 may be included in the parameter correction apparatus, or may be included in another apparatus connected to the parameter correction apparatus. In the latter, a request is outputted to another apparatus every time when the simulation is required.
In addition, the parameter correction apparatus is a computer device as shown in
The embodiments described above are outlined as follows:
A parameter correction method relating to a first aspect of the embodiments includes: (A) obtaining, from a variability-aware simulation, a simulation result value of a predetermined product performance with respect to a reference candidate value set concerning statistics of predetermined product characteristics, and storing the obtained simulation result value into a data storage device; (B) calculating a likelihood by substituting the reference candidate value set, the obtained simulation result value, statistics of measurement values of the predetermined product characteristics and a measurement value of the predetermined product performance, which are stored in the data storage unit, into a likelihood function that is defined from a probability density function for the statistics of the predetermined product characteristics and a probability density function for the predetermined product performance, and is a function to calculate a combined likelihood of the statistics of the predetermined product characteristics and the predetermined product performance, and storing the calculated likelihood into the data storage unit; and (C) searching for a reference candidate value set in case where the calculated likelihood becomes maximum, by carrying out the obtaining and storing and the calculating and storing a plurality of times while changing the reference candidate value set.
By carrying out such a processing, the reference candidate value of the statistics of the predetermined product characteristics is identified so as to maximize a combined likelihood of the statistics of the predetermined product characteristics and the predetermined product characteristics. Namely, it becomes possible to obtain an entirely appropriate reference candidate value.
Moreover, the aforementioned searching may include: calculating a slope of the likelihood at a neighborhood of the reference candidate value set; and generating a new reference candidate value set by modifying the reference candidate value set so as to increase the likelihood according to the slope of the likelihood. By adopting such a method, it becomes possible to search for the maximum likelihood at high speed.
A parameter correction method relating to a second aspect of the embodiment includes: (A) first calculating, for each of a plurality of manufacturing measurement condition sets stored in a data storage unit, each candidate value of each parameter among a plurality of parameters that are statistics of predetermined product characteristics, based each of relational expressions, each the relational expression representing a relationship between the corresponding manufacturing measurement condition set and one parameter of the plurality of parameters, and storing the candidate values of the plurality of parameters, which are calculated for the corresponding manufacturing measurement condition set, into the data storage unit; (B) obtaining, from a variability-aware simulation, a simulation result value of a predetermined product performance with respect to the candidate values of the plurality of parameters, which are stored in the data storage unit in association with each of the manufacturing measurement condition sets, and storing the simulation result values into the data storage unit; (C) second calculating a likelihood by substituting the candidate values of the plurality of parameters for the respective manufacturing measurement condition sets, the simulation result values of the respective manufacturing measurement condition sets, the statistics of measurement values of the predetermined product characteristics for the respective manufacturing measurement condition sets and measurement values of the predetermined product performance for the respective manufacturing measurement condition sets into a likelihood function that is defined by unifying, for the plurality of manufacturing measurement condition sets, respective probability density functions for the respective parameters and a probability density function for the predetermined product performance and is a function to calculate a combined likelihood of the respective parameters and the predetermined product performance for the plurality of manufacturing measurement condition sets, and storing the calculated likelihood into the data storage unit; and (D) searching for respective relational expressions for each of the manufacturing measurement condition sets in case where the likelihood becomes maximum by carrying out the first calculating and storing, the obtaining and storing and the second calculating and storing a plurality of times, while changing the respective relational expressions for each of the manufacturing measurement condition sets.
Thus, even when the plural manufacturing measurement conditions exist, the aforementioned relational expressions maximizing the likelihood, which takes into account all of the manufacturing measurement conditions, can be identified. Then, it becomes possible to determine appropriate parameter values for each manufacturing measurement condition from the relational expressions.
Incidentally, the aforementioned relational expression may include a sum of a first coefficient and products of corresponding second coefficients and manufacturing measurement condition values included in the manufacturing measurement condition set. In such a case, the searching may include, for each of the manufacturing measurement condition sets, (d1) calculating, for each of the first coefficient and the second coefficients, the slope of the likelihood at a neighborhood; and (d2) generating a new first coefficient and new second coefficients by modifying the first coefficient and the second coefficients so as to increase the likelihood according to the slope of the likelihood. By adopting such a method, it becomes possible to search for the maximum likelihood at high speed.
A simulation parameter correction apparatus (
A simulation parameter correction apparatus (
Incidentally, it is possible to create a program causing a computer to execute the aforementioned processing, and such a program is stored in a computer readable storage medium or storage device such as a flexible disk, CD-ROM, DVD-ROM, magneto-optic disk, a semiconductor memory, and hard disk. In addition, the intermediate processing result is temporarily stored in a storage device such as a main memory or the like.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2010-125218 | May 2010 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6000833 | Gershenfeld et al. | Dec 1999 | A |
7177783 | Wu et al. | Feb 2007 | B2 |
7383128 | Chandler | Jun 2008 | B2 |
7449946 | Hoover | Nov 2008 | B1 |
7921402 | He | Apr 2011 | B2 |
8010535 | Taylor et al. | Aug 2011 | B2 |
8037430 | Papanikolaou et al. | Oct 2011 | B2 |
8204714 | Lu | Jun 2012 | B2 |
20020095273 | Tanizawa | Jul 2002 | A1 |
20040237061 | Kahng et al. | Nov 2004 | A1 |
20050108254 | Zhang | May 2005 | A1 |
20060111844 | Chandler | May 2006 | A1 |
20080005707 | Papanikolaou et al. | Jan 2008 | A1 |
20090248767 | Moriya | Oct 2009 | A1 |
20090299704 | Kozma et al. | Dec 2009 | A1 |
20100037192 | Sugiyama | Feb 2010 | A1 |
20110213587 | Lu | Sep 2011 | A1 |
20110296361 | Tanaka | Dec 2011 | A1 |
20120151422 | White et al. | Jun 2012 | A1 |
20130054207 | Souche et al. | Feb 2013 | A1 |
Number | Date | Country |
---|---|---|
04286905 | Oct 1992 | JP |
2001-291778 | Oct 2001 | JP |
Entry |
---|
Taiwanese Office Action issued Oct. 15, 2013 in corresponding Taiwanese Application No. 100109709. |
Number | Date | Country | |
---|---|---|---|
20110295403 A1 | Dec 2011 | US |