Disclosure of Invention
The invention aims to provide an integrated circuit simulation method and system, which are used for solving the problems in the prior art, and solving the simulation precision problem caused by the influence of a non-electrical domain on the electrical performance of an integrated circuit and the simulation speed problem caused by large circuit scale or more circuit simulation times.
In order to achieve the purpose, the invention provides the following scheme:
an integrated circuit simulation method, comprising the steps of:
s1, the integrated circuit comprises a non-electrical domain and an electrical domain;
performing a first simulation based on the non-electrical domain of the integrated circuit, obtaining a first parameter value based on the first simulation, the first parameter value comprising a first electrical domain parameter value affecting an electrical domain, updating the electrical domain parameter value for the electrical domain of the integrated circuit based on the first electrical domain parameter value;
s2, performing second simulation of the electrical domain after updating, obtaining second parameter values based on the second simulation, wherein the second parameter values comprise second non-electrical domain parameter values influencing a non-electrical domain, and updating the non-electrical domain parameter values of the integrated circuit for the non-electrical domain based on the second non-electrical domain parameter values;
s3, based on the S1 and the S2, carrying out simulation until the simulation is finished, and solving the problem of simulation precision and simulation speed caused by the influence of the non-electrical domain on the electrical performance of the integrated circuit;
wherein the end conditions of the simulation include, but are not limited to:
(1) the non-electrical domain parameter value of the integrated circuit is not changed;
(2) no change in the integrated circuit node signal;
(3) and reaching the preset electrical simulation end time point.
Preferably, the specific process of the first simulation in S1 is:
only when the first simulation is performed for the first time:
s1.1, dividing the integrated circuit into a plurality of first circuits based on the layout of the integrated circuit;
s1.2, constructing a non-electrical domain macro model based on the first circuit;
s1.3, realizing non-electrical domain simulation of the integrated circuit based on the non-electrical domain macro model;
and when the first simulation is executed for the second time to the Nth time:
s1.3 is directly carried out;
the simulation in said S1.3 is,
in the first circuits, if the change of the electrical domain parameter value can affect the non-electrical domain simulation, the non-electrical domain simulation is carried out, otherwise, the non-electrical domain simulation is not carried out.
Preferably, the specific process of the second simulation in S2 is:
only when the second simulation is first performed:
s2.1, dividing the integrated circuit into a plurality of second circuits based on the netlist of the integrated circuit;
s2.2, determining simulation driving relations and simulation sequences among a plurality of second circuits based on signal flow;
s2.3, constructing an electrical domain macro model based on the second circuit;
s2.4, realizing the electrical domain simulation of the integrated circuit based on the electrical domain macro model;
and when the first simulation is executed for the second time to the Nth time:
s2.4 is directly carried out;
the simulation in said S2.4 is,
in the second circuits, if the non-electrical domain parameter value changes or the signal driving the input end of the second circuit changes, the electrical domain simulation of the integrated circuit is realized on the second circuit, otherwise, the non-electrical domain simulation is not performed.
Preferably, in the second simulation, the dividing method is a signal flow analysis technology; the division is to divide the connection relation in the circuit netlist, the signal flow analysis technology is applied between the signal input end of the integrated circuit and the signal output end, and the sequence of the device or the second circuit through which the signal is transmitted is determined based on the signal flow analysis technology.
Preferably, the macro model is constructed by the following method: constructing by adopting machine learning; and models can be built in parallel between different partitions.
Preferably, the voltage waveforms of part of the nodes of the integrated circuit can be obtained by performing simulation based on the electrical domain macro model, and the voltage waveforms of other nodes and the currents on the ports or physical wires of related devices can be calculated based on the voltage waveforms of part of the nodes and the netlist of the integrated circuit.
Preferably, the non-electrical domain first simulation comprises one or more of:
(1) thermal simulation of an integrated circuit;
(2) aging simulation of devices and connecting lines of the integrated circuit;
(3) photoetching simulation of an integrated circuit;
(4) ray or particle radiation integrated circuit simulation.
An integrated circuit simulation system, comprising: the system comprises a first simulation module, a first parameter value obtaining module, a second simulation parameter value updating module, a second simulation module, a second parameter value obtaining module, a first simulation parameter value updating module, a cross-domain simulation scheduling control module, a node voltage calculating module and a current calculating module; wherein,
the first simulation module is used for performing first simulation of a non-electrical domain;
the first parameter value obtaining module is used for obtaining a first electrical domain parameter value influencing an electrical domain according to a first simulation result;
the second simulation parameter value updating module is used for updating the electrical domain parameter value of the integrated circuit according to the first electrical domain parameter value;
the second simulation module is used for carrying out second simulation of the electrical domain;
the second parameter value obtaining module is used for obtaining a second non-electrical domain parameter value influencing a non-electrical domain according to a second simulation result;
the first simulation parameter value updating module is used for updating the non-electrical domain parameter value of the integrated circuit according to the second non-electrical domain parameter value;
the cross-domain simulation scheduling control module is used for controlling the alternate execution of the first simulation module and the second simulation module and updating simulation parameter values of the first simulation module and the second simulation module before the simulation is executed;
the node voltage calculation module is used for obtaining voltage waveforms of partial nodes of the integrated circuit obtained by the second simulation module and calculating voltage waveforms of other nodes based on the voltage waveforms of the partial nodes;
the current calculation module is used for obtaining voltage waveforms of partial nodes of the integrated circuit obtained by the second simulation module and calculating currents on ports or physical connecting lines of related devices based on the voltage waveforms of the partial nodes;
the first simulation module is connected with the second simulation parameter value updating module through the first parameter value obtaining module, and the cross-domain simulation scheduling control module of the second simulation parameter value updating module is connected with the second simulation module;
the second simulation module is connected with the first simulation parameter value updating module through the second parameter value obtaining module, and the first simulation parameter value updating module is connected with the first simulation module through the cross-domain simulation scheduling control module.
Preferably, the first simulation module includes:
the first dividing module is used for dividing the layout of the integrated circuit;
the first modeling submodule is used for constructing a non-electrical domain macro model for the division of the integrated circuit;
the first model simulation submodule is used for realizing the non-electrical domain simulation of the integrated circuit based on the non-electrical domain macro model;
the first modeling submodule comprises a first machine learning submodule and is used for establishing a non-electrical domain macro model by adopting a machine learning method.
Preferably, the first model simulation submodule includes:
the thermal simulation submodule of the integrated circuit is used for carrying out random simulation on the integrated circuit according to the power consumption of each part in the integrated circuit to obtain the temperature distribution of a chip and providing the temperature of devices and connecting lines in the integrated circuit for the second simulation module;
the device and connecting line aging simulation submodule of the integrated circuit is used for carrying out aging analysis on the device and the connecting line of the integrated circuit according to the temperature of each part in the integrated circuit, signals on the device, working time and the like, determining the aging state of the device and the connecting line and providing the aging state to the second simulation module;
the photoetching simulation submodule of the integrated circuit is used for carrying out photoetching simulation according to layout data of the integrated circuit, determining graphs after photoetching of key graphs such as gates, connecting lines and the like, and providing the graphs to the second simulation module;
and the ray or particle radiation integrated circuit simulation submodule is used for carrying out simulation under the ray or particle radiation environment according to layout data of the integrated circuit, calculating parameter values such as threshold voltage drift of the device and the like, and providing the parameter values to the second simulation module.
Preferably, the second simulation module includes:
the second division submodule is used for dividing the netlist of the real-time integrated circuit;
the second driving relation and simulation sequence determining module is used for determining the simulation driving relation among the partitions and the simulation sequence among the partitions according to the signal flow;
the second modeling submodule is used for constructing an electrical domain macro model for the division of the integrated circuit;
the second model simulation submodule is used for realizing the electrical domain simulation of the integrated circuit based on the electrical domain macro model;
the second modeling submodule comprises a second machine learning submodule and is used for establishing the electrical domain macro model by adopting a machine learning method.
The invention discloses the following technical effects:
according to the invention, the parameter values influencing the electrical domain or the non-electrical domain are obtained through simulation, and the parameters of the electrical domain or the non-electrical domain are updated, so that the next simulation is more accurate, and the simulation precision is improved; in the simulation process, modeling is carried out through division, the modeling complexity is effectively reduced, and modeling can be carried out in parallel among different divisions, so that the modeling speed is greatly improved; the macro model is adopted, so that the number of nodes for circuit simulation is obviously reduced, and the circuit simulation speed is improved; compared with the prior art, the method greatly improves the simulation precision and the simulation speed caused by the influence of the non-electrical domain on the electrical performance of the integrated circuit, and the simulation speed is high in circuit scale or circuit simulation times.
Detailed Description
Reference will now be made in detail to various exemplary embodiments of the invention, the detailed description should not be construed as limiting the invention but as a more detailed description of certain aspects, features and embodiments of the invention.
It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Further, for numerical ranges in this disclosure, it is understood that each intervening value, between the upper and lower limit of that range, is also specifically disclosed. Every smaller range between any stated value or intervening value in a stated range and any other stated or intervening value in a stated range is encompassed within the invention. The upper and lower limits of these smaller ranges may independently be included or excluded in the range.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Although only preferred methods and materials are described herein, any methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present invention. All documents mentioned in this specification are incorporated by reference herein for the purpose of disclosing and describing the methods and/or materials associated with the documents. In case of conflict with any incorporated document, the present specification will control.
It will be apparent to those skilled in the art that various modifications and variations can be made in the specific embodiments of the present disclosure without departing from the scope or spirit of the disclosure. Other embodiments will be apparent to those skilled in the art from consideration of the specification. The specification and examples are exemplary only.
As used herein, the terms "comprising," "including," "having," "containing," and the like are open-ended terms that mean including, but not limited to.
The "parts" in the present invention are all parts by mass unless otherwise specified.
Example 1
The invention discloses an integrated circuit simulation method, which comprises the following specific steps:
s1, the integrated circuit comprises a non-electrical domain and an electrical domain;
performing a first simulation based on the non-electrical domain of the integrated circuit, obtaining a first parameter value based on the first simulation, the first parameter value comprising a first electrical domain parameter value affecting an electrical domain, updating the electrical domain parameter value for the electrical domain of the integrated circuit based on the first electrical domain parameter value;
s2, performing second simulation of the electrical domain after updating, obtaining second parameter values based on the second simulation, wherein the second parameter values comprise second non-electrical domain parameter values influencing a non-electrical domain, and updating the non-electrical domain parameter values of the integrated circuit for the non-electrical domain based on the second non-electrical domain parameter values;
s3, based on the S1 and the S2, carrying out simulation until the simulation is finished, and solving the problem of simulation precision and simulation speed caused by the influence of the non-electrical domain on the electrical performance of the integrated circuit;
wherein the end conditions of the simulation include, but are not limited to:
(1) the non-electrical domain parameter value of the integrated circuit is not changed;
(2) no change in the integrated circuit node signal;
(3) and reaching the preset electrical simulation end time point.
Preferably, the specific process of the first simulation in S1 is:
only when the first simulation is performed for the first time:
s1.1, dividing the integrated circuit into a plurality of first circuits based on the layout of the integrated circuit;
s1.2, constructing a non-electrical domain macro model based on the first circuit;
s1.3, realizing non-electrical domain simulation of the integrated circuit based on the non-electrical domain macro model;
and when the first simulation is executed for the second time to the Nth time:
s1.3 is directly carried out;
the simulation in said S1.3 is,
in the first circuits, if the change of the electrical domain parameter value can affect the non-electrical domain simulation, the non-electrical domain simulation is carried out, otherwise, the non-electrical domain simulation is not carried out.
Preferably, the specific process of the second simulation in S2 is:
only when the second simulation is first performed:
s2.1, dividing the integrated circuit into a plurality of second circuits based on the netlist of the integrated circuit;
s2.2, determining simulation driving relations and simulation sequences among a plurality of second circuits based on signal flow;
s2.3, constructing an electrical domain macro model based on the second circuit;
s2.4, realizing the electrical domain simulation of the integrated circuit based on the electrical domain macro model;
and when the first simulation is executed for the second time to the Nth time:
s2.4 is directly carried out;
the simulation in said S2.4 is,
in the plurality of second circuits, electrical domain simulation is preferentially carried out on the second circuit which is sequenced in the front according to the simulation sequence of the second circuits, and then electrical domain simulation is carried out on the second circuit which is driven by the second circuit in the front and is sequenced in the back;
if the non-electrical domain parameter value corresponding to the second circuit changes or the signal driving the input end of the second circuit changes, the electrical domain simulation of the integrated circuit is realized for the second circuit according to the corresponding non-electrical domain parameter value and the signal driving the input end of the second circuit; otherwise, the electrical domain simulation of the integrated circuit is not realized for the second circuit.
Preferably, in the second simulation, the dividing method is a signal flow analysis technology; the division is to divide the connection relation in the circuit netlist, the signal flow analysis technology is applied between the signal input end of the integrated circuit and the signal output end, and the sequence of the device or the second circuit through which the signal is transmitted is determined based on the signal flow analysis technology.
Preferably, the macro model is constructed by the following method: constructing by adopting machine learning; and models can be built in parallel between different partitions.
Preferably, the voltage waveforms of part of the nodes of the integrated circuit can be obtained by performing simulation based on the electrical domain macro model, and the voltage waveforms of other nodes and the currents on the ports or physical wires of related devices can be calculated based on the voltage waveforms of part of the nodes and the netlist of the integrated circuit.
Preferably, the non-electrical domain first simulation comprises one or more of:
(1) thermal simulation of an integrated circuit;
(2) aging simulation of devices and connecting lines of the integrated circuit;
(3) photoetching simulation of an integrated circuit;
(4) ray or particle radiation integrated circuit simulation.
An integrated circuit simulation system, comprising: the system comprises a first simulation module, a first parameter value obtaining module, a second simulation parameter value updating module, a second simulation module, a second parameter value obtaining module, a first simulation parameter value updating module, a cross-domain simulation scheduling control module, a node voltage calculating module and a current calculating module; wherein,
the first simulation module is used for performing first simulation of a non-electrical domain;
the first parameter value obtaining module is used for obtaining a first electrical domain parameter value influencing an electrical domain according to a first simulation result;
the second simulation parameter value updating module is used for updating the electrical domain parameter value of the integrated circuit according to the first electrical domain parameter value;
the second simulation module is used for carrying out second simulation of the electrical domain;
the second parameter value obtaining module is used for obtaining a second non-electrical domain parameter value influencing a non-electrical domain according to a second simulation result;
the first simulation parameter value updating module is used for updating the non-electrical domain parameter value of the integrated circuit according to the second non-electrical domain parameter value;
the cross-domain simulation scheduling control module is used for controlling the alternate execution of the first simulation module and the second simulation module and updating simulation parameter values of the first simulation module and the second simulation module before the simulation is executed;
the node voltage calculation module is used for obtaining voltage waveforms of partial nodes of the integrated circuit obtained by the second simulation module and calculating voltage waveforms of other nodes based on the voltage waveforms of the partial nodes;
the current calculation module is used for obtaining voltage waveforms of partial nodes of the integrated circuit obtained by the second simulation module and calculating currents on ports or physical connecting lines of related devices based on the voltage waveforms of the partial nodes;
the first simulation module is connected with the second simulation parameter value updating module through the first parameter value obtaining module, and the cross-domain simulation scheduling control module of the second simulation parameter value updating module is connected with the second simulation module;
the second simulation module is connected with the first simulation parameter value updating module through the second parameter value obtaining module, and the first simulation parameter value updating module is connected with the first simulation module through the cross-domain simulation scheduling control module.
Preferably, the first simulation module includes:
the first dividing module is used for dividing the layout of the integrated circuit;
the first modeling submodule is used for constructing a non-electrical domain macro model for the division of the integrated circuit;
the first model simulation submodule is used for realizing the non-electrical domain simulation of the integrated circuit based on the non-electrical domain macro model;
the first modeling submodule comprises a first machine learning submodule and is used for establishing a non-electrical domain macro model by adopting a machine learning method.
Preferably, the first model simulation submodule includes:
the thermal simulation submodule of the integrated circuit is used for carrying out random simulation on the integrated circuit according to the power consumption of each part in the integrated circuit to obtain the temperature distribution of a chip and providing the temperature of devices and connecting lines in the integrated circuit for the second simulation module;
the device and connecting line aging simulation submodule of the integrated circuit is used for carrying out aging analysis on the device and the connecting line of the integrated circuit according to the temperature of each part in the integrated circuit, signals on the device, working time and the like, determining the aging state of the device and the connecting line and providing the aging state to the second simulation module;
the photoetching simulation submodule of the integrated circuit is used for carrying out photoetching simulation according to layout data of the integrated circuit, determining graphs after photoetching of key graphs such as gates, connecting lines and the like, and providing the graphs to the second simulation module;
and the ray or particle radiation integrated circuit simulation submodule is used for carrying out simulation under the ray or particle radiation environment according to layout data of the integrated circuit, calculating parameter values such as threshold voltage drift of the device and the like, and providing the parameter values to the second simulation module.
Preferably, the second simulation module includes:
the second division submodule is used for dividing the netlist of the real-time integrated circuit;
the second driving relation and simulation sequence determining module is used for determining the simulation driving relation among the partitions and the simulation sequence among the partitions according to the signal flow;
the second modeling submodule is used for constructing an electrical domain macro model for the division of the integrated circuit;
the second model simulation submodule is used for realizing the electrical domain simulation of the integrated circuit based on the electrical domain macro model;
the second modeling submodule comprises a second machine learning submodule and is used for establishing the electrical domain macro model by adopting a machine learning method.
Example 2
Referring to fig. 1, an integrated circuit simulation method includes reading in an integrated circuit design, first simulating a non-electrical domain based on the integrated circuit design, then obtaining a parameter value affecting an electrical domain according to a first simulation result, then updating the parameter value affecting the electrical domain for a second simulation, and finally performing a second simulation of the electrical domain based on the integrated circuit design.
Parameter values influencing the electrical domain are obtained through the first simulation of the non-electrical domain and are transmitted to the second simulation of the electrical domain, so that the second simulation of the electrical domain can be more accurate.
As shown in FIG. 2, an integrated circuit simulation method is based on the foregoing method, after a second simulation, obtaining parameter values affecting a non-electrical domain according to the second simulation result, then updating the parameter values affecting the non-electrical domain for a first simulation to perform a new first simulation, and thus alternately performing the first simulation and the second simulation.
And transmitting the parameter value which affects the electrical domain and is obtained by the first simulation of the non-electrical domain to the second simulation of the electrical domain, so that the second simulation of the electrical domain can be more accurate.
As shown in fig. 3, to accelerate the first simulation speed of the non-electrical domain, the integrated circuit layout is divided first, and when the integrated circuit layout is divided, the integrated circuit layout is divided on a two-dimensional plane or a three-dimensional space; a non-electrical domain macro model is established for each partition of the integrated circuit, and then a first simulation of the non-electrical domain of the integrated circuit is achieved based on the non-electrical domain macro model. Modeling is carried out after division, so that the modeling complexity can be effectively reduced, and parallel modeling can be carried out among different divisions, so that the modeling speed can be increased. The macro model can be adopted to obviously reduce the number of nodes for circuit simulation, thereby obviously improving the circuit simulation speed. In order to further improve the simulation speed, if the divided electrical domain parameter value changes and the change affects the non-electrical domain simulation, the non-electrical domain simulation is performed on the divided integrated circuit, otherwise, the non-electrical domain simulation is not performed on the divided integrated circuit.
As shown in fig. 4, to accelerate the second simulation speed of the electrical domain, the integrated circuit netlist is divided first; and establishing an electrical domain macro model for each division of the integrated circuit, and then realizing the electrical domain simulation of the integrated circuit based on the electrical domain macro model. Modeling is carried out after division, so that the modeling complexity can be effectively reduced, and parallel modeling can be carried out among different divisions, thereby improving the modeling speed. In the simulation process, the number of nodes for circuit simulation is reduced, the dimension of a sparse matrix is reduced, and the simulation speed can be obviously improved.
For integrated circuit a, it is divided into a0, a1, a2, A3, a4, a5, where the output of a0 is connected to the input of a1, the output of a1 is connected to the input of a2 and the input of A3, the output of a2 is connected to the input of a4, and the input and output of A3 are connected to the input of a 5.
The conditions that enable the second simulation of a1 are a change in the input signal of a1 or a change in the value of the electrical domain parameter (e.g., temperature) that affects the second simulation of a 1. If the input signal of A1 changes or the value of the electrical domain parameter (such as temperature) influencing the A1 second simulation changes, the A1 is subjected to the second simulation. According to the sequence determined by signal flow analysis, one is A1-A2-A4, the other is A1-A3-A5, on the premise that A1 meets the enabling simulation condition, according to the enabling simulation conditions of subsequent partitions A2, A3, A4 and A5, on the premise that all the partitions meet the simulation enabling condition, simulating A2 first and then simulating A4; simulation A3 first, and simulation A5 second. Note that the output of a0 is connected to the input of a1, in the drive relationship a0 drives a1, a1 is driven by a0, and a0 precedes a1 in signal flow order.
The non-electrical domain macro model is established based on integrated circuit design, the macro model mostly comprises parameter expression models, the modeling needs to determine the expressions and the parameter values, and the non-electrical domain macro model can be established by adopting a machine learning method. And the automatic modeling speed can be obviously improved by adopting machine learning.
In addition to electrical factors, other non-electrical factors, such as temperature, aging, lithography, radiation or particle radiation, affect the performance of integrated circuits. Thus, the first simulation of the non-electrical domain comprises at least any one of the following simulations: thermal simulation of integrated circuits, device and wire burn-in simulation of integrated circuits, lithography (lithography) simulation of integrated circuits, radiation or particle radiation integrated circuit simulation.
The voltage waveforms of partial nodes of the integrated circuit can be directly obtained based on the macro model simulation, and the voltage waveforms of other nodes cannot be directly obtained because the nodes appear in the equation of the circuit simulation, after partial node voltage waveforms are obtained by the second simulation of the integrated circuit, the voltage waveforms of other related nodes can be calculated according to the voltage signal waveforms of the partial nodes and the netlist information of the integrated circuit, and the current on ports or physical connecting lines of related devices can also be calculated according to the voltage signal waveforms of the partial nodes of the integrated circuit.
As shown in fig. 5, an integrated circuit simulation system comprises: the first simulation module is used for carrying out first simulation of a non-electrical domain based on integrated circuit design; the first parameter value obtaining module is used for obtaining parameter values influencing the electrical domain according to the first simulation result and transmitting the parameter values to the second simulation parameter value updating module; the second simulation parameter value updating module is used for updating the parameter value influencing the electrical domain for the second simulation module by using the obtained parameter value of the electrical domain; and the second simulation module is used for carrying out second simulation of the electrical domain based on the integrated circuit design under the updated parameter value.
As shown in fig. 6, on the basis of the foregoing integrated circuit simulation system, there are added: the second parameter value obtaining module is used for obtaining parameter values influencing the electrical domain according to a second simulation result and transmitting the parameter values to the first simulation parameter value updating module; the first simulation parameter value updating module is used for updating the parameter value influencing the non-electrical domain by using the obtained parameter value of the non-electrical domain as the first simulation; and the cross-domain simulation scheduling control module controls the alternate execution of the first simulation module and the second simulation module and updates the simulation parameter values of the first simulation module and the second simulation module before the simulation is executed.
The above-described embodiments are merely illustrative of the preferred embodiments of the present invention, and do not limit the scope of the present invention, and various modifications and improvements of the technical solutions of the present invention can be made by those skilled in the art without departing from the spirit of the present invention, and the technical solutions of the present invention are within the scope of the present invention defined by the claims.