CN105303008A - Analog integrated circuit optimization method and system - Google Patents
Analog integrated circuit optimization method and system Download PDFInfo
- Publication number
- CN105303008A CN105303008A CN201510882946.XA CN201510882946A CN105303008A CN 105303008 A CN105303008 A CN 105303008A CN 201510882946 A CN201510882946 A CN 201510882946A CN 105303008 A CN105303008 A CN 105303008A
- Authority
- CN
- China
- Prior art keywords
- population
- yield
- rightarrow
- individual
- generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000005457 optimization Methods 0.000 title claims description 38
- 238000004458 analytical method Methods 0.000 claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 15
- 238000004088 simulation Methods 0.000 claims abstract description 13
- 235000013599 spices Nutrition 0.000 claims abstract 8
- 238000013461 design Methods 0.000 claims description 65
- 238000012549 training Methods 0.000 claims description 47
- 238000009826 distribution Methods 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000013179 statistical model Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003647 oxidation Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
The embodiment of the invention discloses a method and a system for optimizing a simulation integrated circuit, wherein the method adopts a circuit-level simulation program to simulate the new generation population to obtain the circuit performance index of each individual in the new generation population, and adopts an SPICE model and Gaussian process regression to carry out Monte Carlo analysis and estimation on the new generation population by using an SPICE simulator to obtain a yield estimation value; the performance index and the yield of the circuit are used as constraint conditions to participate in the evolutionary algorithm in the population evolution process, so that the problem of low yield in the final decision in the prior art is solved.
Description
Technical Field
The present invention relates to the field of Electronic Design Automation (EDA) technology, and more particularly, to a method and system for optimizing an analog integrated circuit.
Background
As integrated circuit technology continues to advance toward nanoscale advanced node technology, the challenges facing analog integrated circuit design are also more pronounced. On the one hand, the application requirements require analog integrated circuit cells with more complex functionality, superior performance, smaller area and smaller power consumption. For example, a radio frequency circuit unit for 4G communication may need to be compatible with multiple standards such as LTE, GSM, bluetooth, etc., while having a smaller area and lower power consumption. Thus, the designer needs to consider multiple design goals with constraints simultaneously, which may include, for example: circuit performance, power consumption and area (PPA), etc. And it is also possible that some of these objects are mutually exclusive. On the other hand, due to the problems of process fluctuation, layout dependence effect, interconnection parasitic effect and the like in the manufacturing of the nanoscale integrated circuit, a designer needs to consider the influence of the process fluctuation on yield and the influence of the layout dependence effect and the like on circuit performance besides design variables such as gate length (L), gate width (W), bias voltage current and the like of a transistor in the design stage.
Such a complicated design is almost impossible if trying to find an optimal design by a conventional design method based on experience and a large number of iterations, especially in a small-sized nano process, the control of the precision of the manufacturing process (such as photolithography, ion implantation, oxidation, chemical mechanical polishing, etc.) becomes very difficult, and in the case where the process fluctuation is significant and unavoidable, the influence of the process fluctuation on the circuit cannot be correctly evaluated, which causes problems of yield reduction, product marketing delay, etc. The above two challenges can be summarized as how to better and faster solve the constrained multi-objective optimization (MOO) problem based on a large number of design variables and process fluctuations, namely:
minimum or maximum
Constraint conditions
Wherein,andrepresenting a function related to the performance, area, yield, or power consumption of the circuit. x is the number of1...xmRepresenting a design variable.
Through analyzing the paper of ANewAppachynachCombining yield and performance in Behaviouralmodules for analog Integrated circuits and automatic design decision for analog Integrated Circuit Synthesis substrate technology, the fast design and optimization method of analog integrated circuits commonly used in the process of solving the problem of constrained Multi-object optimization (MOO) based on a large number of design variables and process fluctuations can be summarized as steps S101-S108, step 101: acquiring an initial circuit network table and a transistor statistical model; step S102: analyzing the initial circuit grid table and the transistor statistical model to obtain design variables, optimization targets and constraint conditions; step S103: randomly generating an initial population according to the range of the design variables; step S104: changing the design variables, and generating a circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the circuit netlist represents a new generation population; step 105: simulating the first generation population by adopting a circuit level Simulation Program (SPICE) to obtain circuit performance indexes of each individual in the new generation population, such as circuit performance, area, power consumption and other indexes; step S106: evolving the new generation population by adopting an evolutionary algorithm according to the circuit performance index to obtain a next generation population; step S107: judging whether the next generation population evolution is finished or not according to a preset maximum evolution algebra, if so, executing the step S108, otherwise, continuing to execute the step S104; step S108: generating a Pareto optimal solution set corresponding to the current population, and carrying out Monte Carlo analysis on the obtained Pareto optimal solution set to obtain a yield estimation value; step S109: and carrying out decision making and verification according to the Pareto optimal solution set.
When the conventional method is used to optimize a circuit design, the yield on the Pareto optimal solution set is not necessarily optimal in the above process because the yield design does not participate in the evolutionary algorithm, and the obtained decision may have a problem of low yield, so how to participate in the evolutionary algorithm with the yield as an optimization constraint condition or an optimization target in the optimization process becomes one of the technical problems that the skilled person needs to solve urgently.
Disclosure of Invention
The invention aims to provide a simulation integrated circuit optimization method and a simulation integrated circuit optimization system, which are used for enabling yield to be used as an optimization constraint condition or an optimization target to participate in an evolutionary algorithm in an optimization process.
In order to achieve the above purpose, the embodiment of the present invention provides the following technical solutions:
a method of analog integrated circuit optimization, comprising:
acquiring an initial circuit network table and a transistor statistical model;
analyzing the initial circuit grid table and the transistor statistical model to obtain design variables, optimization targets and constraint conditions;
randomly generating an initial population according to the range of the design variables;
changing the design variables, and generating a circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the circuit netlist represents a new generation population;
simulating the new generation population by adopting a circuit-level simulation program to obtain circuit performance indexes of each individual in the new generation population, and carrying out Monte Carlo analysis estimation on the new generation population by adopting an SPICE model and Gaussian process regression and utilizing an SPICE simulator to obtain a yield estimation value, wherein the yield estimation value comprises a to-be-predicted value of the yield on each individual observation point in the population;
evolving the new generation population by adopting an evolutionary algorithm according to the circuit performance index and the yield estimation value to obtain a next generation population;
judging whether evolution is finished or not according to a preset maximum evolution algebra, if so, generating a Pareto optimal solution set corresponding to the current population, making a decision and verifying according to the Pareto optimal solution set, if not, changing the design variables, generating a first circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the first circuit netlist represents a new generation of population until the Pareto optimal solution set corresponding to the current population is generated, and making a decision and verifying according to the Pareto optimal solution set.
Preferably, in the method for optimizing an analog integrated circuit, the performing monte carlo analysis and estimation on the new generation population by using the SPICE model and the gaussian process regression and using the SPICE simulator to obtain the yield estimation value includes:
acquiring a training point set (Y, X) of a current population, wherein Y is an observed value of the yield of each individual observation point in the population, and X is each individual observation point in the population;
calculating according to the training point set (Y, X) by a formula (1) to obtain a value Y to be predicted of the yield of each individual observation point in the group*The posterior distribution of Further determining the average value of the to-be-predicted values of the yield of each individual observation point in the current populationAnd its varianceJudging the varianceWhether the error is within the allowable error range, if not, selecting a new individual x in the current population*Performing Monte Carlo analysis to obtain selected new individuals x*The yield observed value y of (a), (b), (c), (d*Y) adding a training point set (Y, X), and predicting again until the variance of the average value of the yield to be predicted values of each individual observation point Are all within an allowable error range, y*The predicted value is the yield to be predicted;
wherein the formula (1) is: setting prior distribution of the yield observed value Y as Gaussian distribution: Y-N (0, K (X, X)), K (X, X) is a symmetric positive definite covariance matrix, and matrix elementsCorrelation between design variables for individuals to be predicted in a population, y*For the yield to be predicted at each individual observation point in the populationMeasured valueAnd designing variables for the individuals to be predicted in the population.
Preferably, in the method for optimizing an analog integrated circuit, the acquiring a training point set of a current population includes:
judging that the current population is a generation of the second generation;
when the population is a first generation population, carrying out Monte Carlo analysis on all individual observation points of the first generation population, wherein all individual observation points in the first generation population are training point sets of the first generation population, and the training point sets of the first generation population are taken as training point sets (Y, X) of the current population;
and when the population is the Z-th generation population, taking all individual observation points of the Z-1-th generation population as a training point set (Y, X) of the current population.
An analog integrated circuit optimization system, comprising:
the acquisition module is used for acquiring an initial circuit network table and a transistor statistical model input by a user;
the analysis module is used for analyzing the initial circuit grid table and the transistor statistical model to obtain design variables, optimization targets and constraint conditions;
the population generation module is used for randomly generating an initial population according to the range of the design variable;
the first evolution module is used for changing the design variables and generating a circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the circuit netlist represents a new generation of population;
the simulation module is used for simulating the new generation population by adopting a circuit-level simulation program to obtain circuit performance indexes of each individual in the new generation population, carrying out Monte Carlo analysis estimation on the new generation population by adopting an SPICE model and Gaussian process regression and utilizing an SPICE simulator to obtain a yield estimation value, wherein the yield estimation value comprises a to-be-predicted value of the yield on each individual observation point in the population;
the second evolution module is used for evolving the new generation of population by adopting an evolution algorithm according to the circuit performance index and the yield estimation value to obtain a next generation of population;
and the decision verification module is used for judging whether the evolution is finished or not according to a preset maximum evolution algebra, if so, generating a Pareto optimal solution set corresponding to the current population, carrying out decision and verification according to the Pareto optimal solution set, if not, changing the design variables, generating a circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the circuit netlist represents a new generation of population until the Pareto optimal solution set corresponding to the current population is generated, and carrying out decision and verification according to the Pareto optimal solution set.
Preferably, in the analog integrated circuit optimization system, the simulation module includes:
the yield calculation unit is used for acquiring a training point set (Y, X) of the current population, wherein Y is an observed value of the yield of each individual observation point in the population, and X is each individual observation point in the population;
calculating a yield value Y to be predicted according to the training point set (Y, X) by a formula I*The posterior distribution of Obtaining the average value of the to-be-predicted values of the yield of each individual in the current populationAnd its varianceJudging the varianceWhether the error is within the allowable error range, if not, selecting a new individual x in the current population*Performing Monte Carlo analysis to obtain selected new individuals x*The yield observed value y of (a), (b), (c), (d*Y) adding a training point set (Y, X), and predicting again until the variance of the average value of the yield to be predicted of each individualAre all within an allowable error range, y*The predicted value is the yield to be predicted;
wherein, the first formula is: setting prior distribution of the yield observed value Y as Gaussian distribution: y to N (0, K (X, X)), K (X, X) being a symmetric positive definite covariance matrix,for the design variables of the individuals to be predicted in the population,matrix elementCorrelation between design variables for individuals to be predicted in a population, y*The value to be predicted of the yield on each individual observation point in the population is obtained.
Preferably, in the analog integrated circuit optimization system, the simulation module further includes:
the training point set selection module is used for judging that the current population is a generation-th population; when the population is a first generation population, performing Monte Carlo analysis on all individuals of the first generation population, wherein all individuals in the first generation population are training point sets of the first generation population, and the training point sets of the first generation population are taken as training point sets (Y, X) of a current population; and when the population is the Z-th generation population, taking all the individuals of the Z-1-th generation population as a training point set (Y, X) of the current population.
According to the scheme, the simulation integrated circuit optimization method provided by the embodiment of the invention simulates the new generation population by adopting a circuit-level Simulation Program (SPICE) to obtain the circuit performance indexes of each individual in the new generation population, and simultaneously adopts an SPICE model and Gaussian process regression to carry out Monte Carlo analysis estimation on the new generation population by utilizing an SPICE simulator to obtain the yield estimation value; the performance index and the yield of the circuit are taken as constraint conditions to be added into the evolutionary algorithm in the population evolution process, so that the problem of low yield in the final decision-making process in the prior art is solved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a flow chart of a method for optimizing an analog integrated circuit according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of an analog integrated circuit optimization system according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the conventional method for rapidly designing and optimizing the analog integrated circuit, it is difficult to use the yield as an optimization constraint condition or an optimization target in the optimization process. The main reason is that the accurate circuit yield estimation value is obtained by performing monte carlo analysis on an SPICE model (mainly a BSIM model of a CMOS transistor) with process statistical information provided by a chip foundry by adopting a SPICE simulator. The Monte Carlo analysis itself needs a large amount of sampling, and the evolutionary algorithm needs to carry out Monte Carlo analysis on each individual in each generation of population, so that the calculation cost of experimental measurement is greatly increased, and the yield index is added into the simplified algorithm and can hardly be realized. Therefore, the yield can only be verified by performing a monte carlo analysis after the Pareto optimal solution set is obtained.
In view of the above, the present application discloses a method for optimizing an analog integrated circuit with both yield and performance, referring to fig. 1, including:
step S101: acquiring an initial circuit network table and a transistor statistical model;
step S102: analyzing the initial circuit grid table and the transistor statistical model to obtain design variables, optimization targets and constraint conditions;
step S103: randomly generating an initial population according to the range of the design variables;
step S104: changing the design variables, and generating a circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the circuit netlist represents a new generation population and is marked as a first generation population;
step 105: simulating the new generation of population by using a circuit level Simulation Program (SPICE), so as to obtain circuit performance indexes, such as indexes of area, power consumption and the like, of each individual in the new generation of population, and performing Monte Carlo analysis estimation on the new generation of population by using an SPICE model and Gaussian process regression and using an SPICE simulator so as to obtain a yield estimation value;
step S106: evolving the new generation population by adopting an evolutionary algorithm according to the circuit performance index and the yield estimation value to obtain a next generation population, and recording the next generation population as a second generation population, wherein the algebra of the population is added by 1 after each evolution;
step S107: judging whether the next generation population evolution is finished or not according to a preset maximum evolution algebra, if so, executing a step S108, otherwise, executing a step S104;
step S108: and generating a Pareto optimal solution set corresponding to the current population, and making a decision and verifying according to the Pareto optimal solution set.
In the process of optimizing the circuit in the method disclosed in the above embodiment of the present application, in addition to considering the conventional optimization objective, the yield is also taken as one of the optimization objectives, so that the yield on the Pareto optimal solution set can also meet the preset requirement. Meanwhile, Monte Carlo and Gaussian Process Regression (GPR) are combined in the optimization process, and yield evaluation is accelerated.
It is understood that, in the method disclosed in the above embodiment of the present application, the step S105 "obtaining the yield estimation value by performing the monte carlo analysis estimation on the new generation population by using the SPICE model and the gaussian process regression using the SPICE simulator" may specifically include:
acquiring a training point set (Y, X) of a current population, wherein Y is an observed value of the yield of each individual observation point in the population, and X is each individual observation point in the population;
calculating a value Y to be predicted of the yield of each individual in the population according to the training point set (Y, X) by a formula (1)*The posterior distribution of Obtaining the average value of the to-be-predicted values of the yield of each individual in the current populationAnd its varianceJudging the varianceWhether the yield is within the allowable error range or not, if so, predicting the value y to be predicted of the yield*As yield estimate, if not, a new individual x is selected from the current population*Performing Monte Carlo analysis to obtain selected new individuals x*The yield observed value y of (a), (b), (c), (d*Y) adding a training point set (Y, X), and predicting again until the variance of the average value of the yield to be predicted of each individualAre all within an allowable error range, y*In order to obtain the predicted value of the yield,design for individuals to be predicted in a populationA variable;
wherein the formula (1) is: setting prior distribution of the yield observed value Y as Gaussian distribution: y to N (0, K (X, X)), K (X, X) is a symmetric positive definite covariance matrix, matrix elementsCorrelation between design variables for individuals to be predicted in a population, y*The value to be predicted of the yield on each individual observation point in the population is obtained.
The reasoning process for estimating the yield by using monte carlo in combination with GPR in the above embodiment can be described as follows:
wherein,for design variables, y is the observed value of the yield, and the prior distribution of the observed value of the yield is set as Gaussian distribution: y to N (0, K (X, X)) (3)
Wherein Y is (Y)1,y2,…yn)TFor a plurality of individual observation points in a populationAnd (3) obtaining an observed value of the yield, wherein the observed value Y of the yield and the joint prior distribution of the to-be-predicted value Y of the yield are as follows:
wherein K (X, X) is a symmetric positive definite covariance matrix,designing variables and matrix elements for individuals to be predicted in populationCorrelations between design variables for different individuals to be predicted in a population. The posterior distribution of the measured values y of the yield obtained from (4) is: whereinIs composed ofThe average of the predicted yields of the individuals,is the square of its variance.
In the method for optimizing the analog integrated circuit disclosed in the above embodiment of the present application, the number of individuals in each generation is a fixed value in the population evolution process, and since new individuals are continuously added to the training point sets (Y, X), the larger the evolution algebra is, the fewer new training points need to be added, the fewer individuals need to be subjected to monte carlo analysis, and the more accurate the predicted yield value is, the process makes the evolution to a certain generation, and almost no new training points need to be added, that is, no monte carlo analysis needs to be performed, so that the evolutionary algorithm is accelerated.
It is understood that, with respect to the above method, the present application also discloses an analog integrated circuit optimization system, which can be used for reference. Referring to fig. 2, the analog integrated circuit optimization system disclosed in the embodiment of the present application includes:
the acquisition module 10 is used for acquiring an initial circuit network table and a transistor statistical model input by a user;
the analysis module 20 is used for analyzing according to the initial circuit grid table and the transistor statistical model to obtain design variables, optimization targets and constraint conditions;
a population generating module 30, configured to randomly generate an initial population according to the range of the design variable;
a first evolution module 40, configured to change the design variable, and generate a circuit netlist corresponding to each individual in the initial population according to the changed design variable, where the circuit netlist represents a new generation of population;
the simulation module 50 is configured to simulate the new generation population by using a circuit-level simulation program to obtain a circuit performance index of each individual in the new generation population, and perform monte carlo analysis estimation on the new generation population by using a SPICE model and gaussian process regression and using a SPICE simulator to obtain a yield estimation value, where the yield estimation value includes a to-be-predicted value of yield at each individual observation point in the population;
a second evolution module 60, configured to evolve the new generation population by using an evolution algorithm according to the circuit performance index and the yield estimation value to obtain a next generation population;
and a verification decision module 70, configured to judge whether evolution is finished according to a preset maximum evolution algebra, if so, generate a Pareto optimal solution set corresponding to the current population, perform decision making and verification according to the Pareto optimal solution set, if not, change the design variable, generate a circuit netlist corresponding to each individual in the initial population according to the changed design variable, where the circuit netlist represents a new generation of population until a Pareto optimal solution set corresponding to the current population is generated, and perform decision making and verification according to the Pareto optimal solution set.
Corresponding to the above method, the simulation module 50 includes:
a yield calculation unit 51, where the yield calculation unit 51 is configured to obtain a training point set (Y, X) of a current population, Y is an observed value of a yield of each individual observation point in the population, and X is each individual observation point in the population;
calculating a yield value Y to be predicted according to the training point set (Y, X) by a formula I*The posterior distribution of Obtaining the average value of the to-be-predicted values of the yield of each individual in the current populationAnd its varianceJudging the varianceWhether the yield is within the allowable error range or not, if so, predicting the value y to be predicted of the yield*As yield estimate, if not, a new individual x is selected from the current population*Performing Monte Carlo analysis to obtain selected new individuals x*The yield observed value y of (a), (b), (c), (d*Y) adding a training point set (Y, X), and predicting again until the variance of the average value of the yield to be predicted of each individualAre all within an allowable error range, y*The predicted value is the yield to be predicted;
wherein, the first formula is: setting prior distribution of the yield observed value Y as Gaussian distribution: y to N (0, K (X, X)), K (X, X) being a symmetric positive definite covariance matrix,for the design variables of the individuals to be predicted in the population,matrix elementCorrelation between design variables for individuals to be predicted in a population, y*The value to be predicted of the yield on each individual observation point in the population is obtained.
Corresponding to the above method, the simulation module 50 may further include:
a training point set selection module 52, wherein the training point set selection module 52 is configured to determine that the current population is a generation-th population; when the population is a first generation population, performing Monte Carlo analysis on all individuals of the first generation population, wherein all individuals in the first generation population are training point sets of the first generation population, and the training point sets of the first generation population are taken as training point sets (Y, X) of a current population; and when the population is the Z-th generation population, taking all the individuals of the Z-1-th generation population as a training point set (Y, X) of the current population.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (6)
1. A method for analog integrated circuit optimization, comprising:
acquiring an initial circuit network table and a transistor statistical model;
analyzing the initial circuit grid table and the transistor statistical model to obtain design variables, optimization targets and constraint conditions;
randomly generating an initial population according to the range of the design variables;
changing the design variables, and generating a circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the circuit netlist represents a new generation population;
simulating the new generation population by adopting a circuit-level simulation program to obtain circuit performance indexes of each individual in the new generation population, and carrying out Monte Carlo analysis estimation on the new generation population by adopting an SPICE model and Gaussian process regression and utilizing an SPICE simulator to obtain a yield estimation value, wherein the yield estimation value comprises a to-be-predicted value of the yield on each individual observation point in the population;
evolving the new generation population by adopting an evolutionary algorithm according to the circuit performance index and the yield estimation value to obtain a next generation population;
judging whether evolution is finished or not according to a preset maximum evolution algebra, if so, generating a Pareto optimal solution set corresponding to the current population, making a decision and verifying according to the Pareto optimal solution set, if not, changing the design variables, generating a first circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the first circuit netlist represents a new generation of population until the Pareto optimal solution set corresponding to the current population is generated, and making a decision and verifying according to the Pareto optimal solution set.
2. The method of claim 1, wherein the performing a monte carlo analysis estimation on the new generation population using SPICE model and gaussian process regression with SPICE simulator to obtain the yield estimation value comprises:
acquiring a training point set (Y, X) of a current population, wherein Y is an observed value of the yield of each individual observation point in the population, and X is each individual observation point in the population;
according to the training point set (Y, X), the posterior distribution of the yield to be predicted value Y of each individual observation point in the group is calculated by a formula (1) and is as Further determining the average value of the to-be-predicted values of the yield of each individual observation point in the current populationAnd its varianceJudging the varianceWhether the yield is within the allowable error range or not, if not, selecting a new individual X in the current population, carrying out Monte Carlo analysis to obtain the yield observed value Y of the selected new individual X, adding (X, Y) into the training point set (Y, X), and carrying out prediction again until the variance of the average value of the yield to be predicted values of each individual observed point is within the allowable error rangeAll are within the allowable error range, and y is the predicted value to be predicted of the yield;
wherein the formula (1) is: setting prior distribution of the yield observed value Y as Gaussian distribution: Y-N (0, K (X, X)), K (X, X) is a symmetric positive definite covariance matrix, and matrix elementsFor the correlation between the design variables of the individuals to be predicted in the population, y is the value to be predicted of the yield on the observation point of each individual in the population And designing variables for the individuals to be predicted in the population.
3. The method of claim 2, wherein the obtaining the set of training points for the current population comprises:
judging that the current population is a generation of the second generation;
when the population is a first generation population, carrying out Monte Carlo analysis on all individual observation points of the first generation population, wherein all individual observation points in the first generation population are training point sets of the first generation population, and the training point sets of the first generation population are taken as training point sets (Y, X) of the current population;
and when the population is the Z-th generation population, taking all individual observation points of the Z-1-th generation population as a training point set (Y, X) of the current population.
4. An analog integrated circuit optimization system, comprising:
the acquisition module is used for acquiring an initial circuit network table and a transistor statistical model input by a user;
the analysis module is used for analyzing the initial circuit grid table and the transistor statistical model to obtain design variables, optimization targets and constraint conditions;
the population generation module is used for randomly generating an initial population according to the range of the design variable;
the first evolution module is used for changing the design variables and generating a circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the circuit netlist represents a new generation of population;
the simulation module is used for simulating the new generation population by adopting a circuit-level simulation program to obtain circuit performance indexes of each individual in the new generation population, carrying out Monte Carlo analysis estimation on the new generation population by adopting an SPICE model and Gaussian process regression and utilizing an SPICE simulator to obtain a yield estimation value, wherein the yield estimation value comprises a to-be-predicted value of the yield on each individual observation point in the population;
the second evolution module is used for evolving the new generation of population by adopting an evolution algorithm according to the circuit performance index and the yield estimation value to obtain a next generation of population;
and the decision verification module is used for judging whether the evolution is finished or not according to a preset maximum evolution algebra, if so, generating a Pareto optimal solution set corresponding to the current population, carrying out decision and verification according to the Pareto optimal solution set, if not, changing the design variables, generating a circuit netlist corresponding to each individual in the initial population according to the changed design variables, wherein the circuit netlist represents a new generation of population until the Pareto optimal solution set corresponding to the current population is generated, and carrying out decision and verification according to the Pareto optimal solution set.
5. The analog integrated circuit optimization system of claim 4, wherein the simulation module comprises:
the yield calculation unit is used for acquiring a training point set (Y, X) of the current population, wherein Y is an observed value of the yield of each individual observation point in the population, and X is each individual observation point in the population;
the posterior distribution of the yield to be predicted value Y is calculated by a formula I according to the training point set (Y, X) and is as follows Obtaining the average value of the to-be-predicted values of the yield of each individual in the current populationAnd its varianceJudging the varianceWhether the yield is within the allowable error range or not, if not, selecting a new individual X in the current population, carrying out Monte Carlo analysis to obtain the observed yield value Y of the selected new individual X, adding (X, Y) into the training point set (Y, X), and carrying out prediction again until the variance of the average value of the values to be predicted of the yield of each individual is within the allowable error rangeAll are within the allowable error range, and y is the predicted value to be predicted of the yield;
wherein, the first formula is: setting prior distribution of the yield observed value Y as Gaussian distribution: y to N (0, K (X, X)), and K (X, X) are defined symmetricallyThe covariance matrix is then used to determine the covariance matrix,for the design variables of the individuals to be predicted in the population,matrix elementAnd (5) the correlation between the design variables of the individuals to be predicted in the population, and y is the value to be predicted of the yield on each individual observation point in the population.
6. The analog integrated circuit optimization system of claim 5, wherein the simulation module further comprises:
the training point set selection module is used for judging that the current population is a generation-th population; when the population is a first generation population, performing Monte Carlo analysis on all individuals of the first generation population, wherein all individuals in the first generation population are training point sets of the first generation population, and the training point sets of the first generation population are taken as training point sets (Y, X) of a current population; and when the population is the Z-th generation population, taking all the individuals of the Z-1-th generation population as a training point set (Y, X) of the current population.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510882946.XA CN105303008B (en) | 2015-12-03 | 2015-12-03 | A kind of optimization method for analog integrated circuit and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510882946.XA CN105303008B (en) | 2015-12-03 | 2015-12-03 | A kind of optimization method for analog integrated circuit and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105303008A true CN105303008A (en) | 2016-02-03 |
CN105303008B CN105303008B (en) | 2019-02-05 |
Family
ID=55200276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510882946.XA Active CN105303008B (en) | 2015-12-03 | 2015-12-03 | A kind of optimization method for analog integrated circuit and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105303008B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463725A (en) * | 2017-06-25 | 2017-12-12 | 浙江大学 | A kind of Parameters design for being applied to simulation and RF IC |
CN107679282A (en) * | 2017-09-05 | 2018-02-09 | 珠海博雅科技有限公司 | The emulation mode and simulator of charge pump |
CN108614904A (en) * | 2016-12-11 | 2018-10-02 | 复旦大学 | Parametric Yield of VLSI IC rapid analysis method based on emulation data dependence |
CN108614903A (en) * | 2016-12-11 | 2018-10-02 | 复旦大学 | Integrated circuit simulating data dependence modeling method and device |
CN109426698A (en) * | 2017-08-30 | 2019-03-05 | 三星电子株式会社 | Predict the device of semiconductor integrated circuit yield and the manufacturing method of semiconductor devices |
CN109657364A (en) * | 2018-12-24 | 2019-04-19 | 北京华大九天软件有限公司 | A method of circuit optimization is realized using quick monte carlo method |
CN110489842A (en) * | 2019-08-09 | 2019-11-22 | 上海集成电路研发中心有限公司 | A kind of aided design system and analysis method of analog cell circuit |
CN113779915A (en) * | 2021-08-03 | 2021-12-10 | 深圳天狼芯半导体有限公司 | Integrated circuit performance analysis method and device, simulation equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289549A (en) * | 2011-08-11 | 2011-12-21 | 复旦大学 | Optimization method for analog integrated circuit |
CN102314522A (en) * | 2010-06-30 | 2012-01-11 | 中国科学院微电子研究所 | Design optimization method for analog integrated circuit |
-
2015
- 2015-12-03 CN CN201510882946.XA patent/CN105303008B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314522A (en) * | 2010-06-30 | 2012-01-11 | 中国科学院微电子研究所 | Design optimization method for analog integrated circuit |
CN102289549A (en) * | 2011-08-11 | 2011-12-21 | 复旦大学 | Optimization method for analog integrated circuit |
Non-Patent Citations (5)
Title |
---|
ALI S 等: "A New Approach for Combining Yield and Performance in Behavioural Models for Analogue Integrated Circuits", 《CONFERENCE ON DESIGN》 * |
DEYATI S 等: "An automated design methodology for yield aware analog circuit synthesis in submicron technology", 《12TH INT’L SYMPOSIUM ON QUALITY ELECTRONIC DESIGN》 * |
FELDMANN P 等: "Integrated Circuit Quality Optimization using Surface Integrals", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 * |
李亨: "模拟集成电路优化方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陈晓: "模拟集成电路多目标遗传算法优化设计", 《物联网技术》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614904A (en) * | 2016-12-11 | 2018-10-02 | 复旦大学 | Parametric Yield of VLSI IC rapid analysis method based on emulation data dependence |
CN108614903A (en) * | 2016-12-11 | 2018-10-02 | 复旦大学 | Integrated circuit simulating data dependence modeling method and device |
CN108614903B (en) * | 2016-12-11 | 2021-10-01 | 复旦大学 | Correlation modeling method and device for simulation data of integrated circuit |
CN108614904B (en) * | 2016-12-11 | 2021-10-12 | 复旦大学 | Method for rapidly analyzing yield of integrated circuit parameters based on simulation data correlation |
CN107463725A (en) * | 2017-06-25 | 2017-12-12 | 浙江大学 | A kind of Parameters design for being applied to simulation and RF IC |
CN109426698A (en) * | 2017-08-30 | 2019-03-05 | 三星电子株式会社 | Predict the device of semiconductor integrated circuit yield and the manufacturing method of semiconductor devices |
CN109426698B (en) * | 2017-08-30 | 2024-02-02 | 三星电子株式会社 | Apparatus for predicting yield of semiconductor integrated circuit and method for manufacturing semiconductor device |
CN107679282A (en) * | 2017-09-05 | 2018-02-09 | 珠海博雅科技有限公司 | The emulation mode and simulator of charge pump |
CN109657364A (en) * | 2018-12-24 | 2019-04-19 | 北京华大九天软件有限公司 | A method of circuit optimization is realized using quick monte carlo method |
CN110489842A (en) * | 2019-08-09 | 2019-11-22 | 上海集成电路研发中心有限公司 | A kind of aided design system and analysis method of analog cell circuit |
CN113779915A (en) * | 2021-08-03 | 2021-12-10 | 深圳天狼芯半导体有限公司 | Integrated circuit performance analysis method and device, simulation equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN105303008B (en) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105303008B (en) | A kind of optimization method for analog integrated circuit and system | |
TWI559156B (en) | Method and system for identifying rare-event failure rates | |
Maricau et al. | Efficient variability-aware NBTI and hot carrier circuit reliability analysis | |
US7243320B2 (en) | Stochastic analysis process optimization for integrated circuit design and manufacture | |
CN101685476B (en) | Apparatus, method and system for rapid simulation of manufacturing effects during integrated circuit design | |
US6910025B2 (en) | Modeling behavior of an electrical circuit | |
US20040167756A1 (en) | Apparatus and method for statistical LSI delay simulation | |
Lin et al. | IR drop prediction of ECO-revised circuits using machine learning | |
US10740525B2 (en) | Semiconductor device simulation | |
US20110055781A1 (en) | Non-invasive timing characterization of integrated circuits using sensitizable signal paths and sparse equations | |
CN102314522B (en) | Design optimization method for analog integrated circuit | |
US7240304B2 (en) | Method for voltage drop analysis in integreted circuits | |
CN109145389A (en) | integrated circuit model multiplexing method and device | |
Wang et al. | Machine learning in simulation-based analysis | |
CN105447222B (en) | The method that technique change for integrated circuit is analyzed | |
Stratigopoulos et al. | Multidimensional analog test metrics estimation using extreme value theory and statistical blockade | |
JP2009543240A (en) | A method for modeling the switching activity of digital circuits. | |
US7036096B1 (en) | Estimating capacitances using information including feature sizes extracted from a netlist | |
TW202139049A (en) | Method for designing context aware circuit | |
Chang et al. | Flexible chip placement via reinforcement learning: late breaking results | |
US20040015787A1 (en) | Method and apparatus for efficient semiconductor process evaluation | |
US20040236559A1 (en) | Statistical approach for power estimation | |
US10331823B2 (en) | Method and system of fast nested-loop circuit verification for process and environmental variation and hierarchical circuits | |
Canelas et al. | Yield-aware analog IC design and optimization in nanometer-scale technologies | |
Xie et al. | Adjustment-based modeling for statistical static timing analysis with high dimension of variability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190116 Address after: 266101 Songling Road 169, Laoshan District, Qingdao City, Shandong Province Applicant after: Zhongke Xinyun Microelectronics Technology Co.,Ltd. Address before: 100029 Microelectronics Institute, Chinese Academy of Sciences, 3 north earth road, Chaoyang District, Beijing Applicant before: Institute of Microelectronics of the Chinese Academy of Sciences |
|
TA01 | Transfer of patent application right |