Parameter exploration method

By using the computer's parameter exploration method, combined with classification model and reinforcement learning technology, the problem of parameter selection of netlist model is solved, automatic parameter exploration and selection is realized, and the adaptability and efficiency of parameters are improved.

CN113348460BActive Publication Date: 2025-06-27SEMICON ENERGY LAB CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080010985.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-04-02
Filing Date
2020-02-04
Publication Date
2025-06-27
Estimated Expiration
2040-02-04

AI Technical Summary

Technical Problem

When processing model parameters of multiple semiconductor elements included in the netlist, it is difficult to determine whether the required characteristics of the netlist are met, and the requirements characteristics of the same netlist may be different, resulting in negligence in the selection of model parameters and failure to meet the requirements.

Method used

A computer-based parameter exploration method is adopted, through classification model and reinforcement learning technology, model parameters are extracted from the data set of semiconductor components, classified and selected, and parameter exploration is used to meet the requirements of the netlist.

Benefits of technology

It realizes the automated exploration and selection of model parameters that meet the requirements of netlists, reduces the dependence of human judgment, and improves the adaptability and efficiency of model parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113348460B_ABST
    Figure CN113348460B_ABST
Patent Text Reader

Abstract

Provide parameter candidates for a semiconductor device. A parameter extraction unit is supplied with measurement data as a data set and extracts model parameters. A circuit simulator is supplied with a first netlist, performs simulation using the first netlist and the model parameters, and outputs a first output result. A classification model learns the model parameters and the first output result and classifies the model parameters. The circuit simulator is supplied with a second netlist and the model parameters. A neural network is supplied with variables to be adjusted, outputs an action value function, and updates the variables. The circuit simulator performs simulation using the second netlist and the model parameters, updates the weight coefficients of the neural network when the output second output result does not satisfy the condition, and determines the variables as the best candidates when the condition is satisfied.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] One aspect of the present invention relates to a learning method, a classification method, a selection method, or a search method for semiconductor parameters using a computer.

[0002] Note that one aspect of the present invention is not limited to the above technical field. As the technical field of one aspect of the present invention disclosed in this specification and the like, for example, exploration of chemical synthesis parameters and the like can be cited.

[0003] In addition, one aspect of the present invention relates to a computer. One aspect of the present invention relates to a method for exploring parameters of an electronic netlist using a computer. One aspect of the present invention relates to a parameter classification method in which model parameters can be extracted from a data set of semiconductor elements, a classification model is learned with a set of model parameters, and the model parameters are classified according to the classification model. One aspect of the present invention relates to a parameter selection method in which model parameters suitable for the required characteristics of an object netlist are selected by using the above parameter classification method. One aspect of the present invention relates to a parameter search method in which reinforcement learning is used for search so that variables of a netlist supplied to a circuit simulator become the best candidates that satisfy the required characteristics of the netlist. Background Art

[0004] A user creates a netlist as circuit information before circuit design. However, the required characteristics of circuit information (hereinafter referred to as a netlist) vary depending on the working environment. In order to satisfy the required characteristics of the netlist, the user performs simulation using a circuit simulator. The user explores the best candidates for model parameters that satisfy the required characteristics of the netlist while updating the model parameters of semiconductor elements included in the netlist.

[0005] Note that, in order to perform simulation using a circuit simulator, it is necessary to extract appropriate model parameters using measurement data and process parameters of semiconductor elements and supply the model parameters to the circuit simulator. In order to select model parameters that are the best candidates for satisfying the required characteristics of the netlist, the user performs circuit simulation using the circuit simulator every time the model parameters are updated. Therefore, in order to explore the model parameters that are the best candidates, the user needs to determine the simulation results of the circuit simulator every time simulation is performed.

[0006] In recent years, a method of adjusting parameters of a physical model of a transistor using a genetic algorithm has been known. Patent Document 1 discloses a parameter adjustment device that adjusts parameters of a physical model of a transistor using a genetic algorithm.

[0007] [Prior Art Documents]

[0008] [Patent Documents]

[0009] [Patent Document 1] Japanese Patent Application Laid-Open No. 2005-038216 Summary of the Invention

[0010] Technical Problem to be Solved by the Invention

[0011] When processing model parameters of a plurality of semiconductor elements included in a netlist, there is a problem that a user needs to determine whether the model parameters satisfy the required characteristics of the netlist.

[0012] For example, when a netlist includes a plurality of semiconductor elements, the model parameters of the semiconductor elements that satisfy the required characteristics of the netlist are not limited to one, and there are sometimes multiple model parameters. When a user determines the simulation result, the user may determine the parameter that satisfies the required characteristics as the optimal value when extracting it. In other words, there is a problem that the user may overlook the existence of other model parameters that may further satisfy the required characteristics. Therefore, there is a problem that the determination of the simulation result of the circuit simulator depends on the experience of the user.

[0013] In addition, even for the same netlist, the required characteristics of the netlist are sometimes different. For example, there are circuits for the purpose of achieving low power consumption, circuits that emphasize the operating frequency, or circuits that operate stably in a specified frequency band. There is a problem that the required characteristics of the netlist cannot be satisfied when the model parameters are fixed.

[0014] In view of the above problems, one of the objects of one aspect of the present invention is to provide a method for a computer to explore parameters of an electronic netlist. In addition, one of the objects of one aspect of the present invention is to provide a parameter classification method in which model parameters can be extracted from a data set of semiconductor elements, a classification model learns a set of model parameters, and the model parameters are classified according to the classification model. In addition, one of the objects of one aspect of the present invention is to provide a parameter selection method in which model parameters suitable for the required characteristics of an object netlist are selected by using the above parameter classification method.

[0015] One of the objects of one aspect of the present invention is to provide a parameter exploration method in which reinforcement learning is used for exploration so that variables of a netlist supplied to a circuit simulator become the best candidates that satisfy the required characteristics of the netlist.

[0016] Note that the description of these objects does not prevent the existence of other objects. In addition, one aspect of the present invention does not need to achieve all of the above objects. Objects other than the above objects can be obviously seen from the description in the specification, drawings, claims, etc., and objects other than the above objects can be extracted from the description in the specification, drawings, claims, etc.

[0017] Means for Solving the Technical Problem

[0018] One aspect of the present invention is a parameter exploration method using a classification model, a neural network, a parameter extraction unit, a circuit simulator, and a control unit. The parameter exploration method includes a step of supplying a data set of semiconductor elements to the parameter extraction unit. Additionally, it includes a step of the parameter extraction unit extracting model parameters of the semiconductor elements. Additionally, it includes a step of the circuit simulator performing simulation using the first netlist and the model parameters and outputting a first output result. Additionally, it includes a step of the classification model learning the first output result, classifying the model parameters, and outputting first model parameters. Additionally, it includes a step of the control unit supplying a second netlist and second model parameters to the circuit simulator. Additionally, it includes a step of the control unit supplying first model parameter variables included in the second model parameters to the neural network. Additionally, it includes a step of the neural network calculating a first action value function Q from the first model parameter variables. Additionally, it includes a step of the control unit updating the first model parameter variables to second model parameter variables using the first action value function Q and outputting third model parameters. Additionally, it includes a step of the circuit simulator performing simulation using the second netlist and the third model parameters and outputting a second output result. Additionally, it includes a step of the control unit determining the second output result using a convergence condition supplied to the second netlist. Additionally, it includes a step of, when the second output result is determined not to satisfy the required characteristics of the second netlist, the control unit setting a reward and updating the weight coefficients of the neural network using the reward. When the second output result is determined to satisfy the required characteristics of the second netlist, the first model parameter variables may be determined as the best candidate for the second netlist.

[0019] One aspect of the present invention is a parameter exploration method using a classification model, a neural network, a parameter extraction unit, a circuit simulator, and a control unit. The parameter exploration method includes steps of supplying measurement data of a semiconductor device and a data set including process parameters to the parameter extraction unit. Additionally, it includes a step of the parameter extraction unit extracting model parameters. Additionally, it includes a step of the control unit supplying a first netlist to the circuit simulator. Additionally, it includes a step of the circuit simulator outputting a first output result using the model parameters and the first netlist. Additionally, it includes a step of the classification model classifying the model parameters by learning the model parameters and the first output result and outputting first model parameters. Additionally, it includes a step of the control unit supplying a second netlist and second model parameters to the circuit simulator. Additionally, it includes a step of the control unit supplying first model parameter variables included in the second model parameters to the neural network. Additionally, it includes a step of the neural network calculating a first action value function Q from the first model parameter variables. Additionally, it includes a step of the control unit updating the first model parameter variables to second model parameter variables using the first action value function Q and outputting third model parameters. Additionally, it includes a step of the circuit simulator performing simulation using the second netlist and the third model parameters and outputting a second output result. Additionally, it includes a step of the control unit determining the second output result using a convergence condition supplied to the second netlist. Additionally, it includes a step of, when determining that the second output result does not satisfy the required characteristics of the second netlist, the control unit setting a higher reward when the second output result is close to the convergence condition and setting a lower reward when the second output result is far from the convergence condition. Additionally, it includes a step of the neural network calculating a second action value function Q using the second model parameter variables. Additionally, it includes a step of the neural network updating the weight coefficients of the neural network using the above reward and an error calculated using the first action value function Q and the second action value function Q. When determining that the second output result satisfies the required characteristics of the second netlist, the first model parameter variables are determined as the best candidate for the second netlist.

[0020] In the above structure, the first netlist preferably includes any one or more of an inverter circuit, a source follower circuit, and a source grounded circuit.

[0021] In the above structure, the number of first model parameter variables is preferably two or more.

[0022] In the above structure, the number of units in the output layer of the neural network is preferably more than twice the number of model parameter variables.

[0023] In the above structure, the first output result extracted using the first netlist preferably includes any one or more of leakage current, output current, rise time of a signal, and fall time of a signal.

[0024] In the above structure, preferably, the semiconductor element for the first netlist is a transistor, and the transistor includes a metal oxide in the semiconductor layer.

[0025] Advantages of the Invention

[0026] One aspect of the present invention can provide a method for exploring parameters of an electronic netlist using a computer. Additionally, one aspect of the present invention can provide a parameter classification method in which model parameters can be extracted from a data set of semiconductor elements, a classification model can learn a set of the model parameters, and the model parameters can be classified according to the classification model. Further, one aspect of the present invention can provide a parameter selection method in which model parameters suitable for required characteristics of an object netlist are selected by using the above parameter classification method. Moreover, one aspect of the present invention can provide a parameter exploration system in which exploration is performed using reinforcement learning so that variables of a netlist supplied to a circuit simulator become the best candidates that satisfy the required characteristics of the netlist.

[0027] Note that the effects of one aspect of the present invention are not limited to the effects listed above. The effects listed above do not prevent the existence of other effects. Other effects are effects not described in this section and described below. Those skilled in the art can derive and appropriately extract the effects not described in this section from the description of the specification, drawings, etc. Note that one aspect of the present invention has at least one of the effects listed above and / or other effects. Therefore, one aspect of the present invention may not have the effects listed above.

[0028] Brief Description of the Drawings

[0029] Figure 1 is a block diagram illustrating a parameter exploration method.

[0030] Figure 2 is a diagram illustrating a data set.

[0031] Figure 3 is a flowchart illustrating a parameter exploration method.

[0032] Figure 4 is a flowchart illustrating a parameter exploration method.

[0033] Figure 5 is a flowchart illustrating a parameter exploration method.

[0034] Figure 6 is a flowchart illustrating a parameter exploration method.

[0035] Figures 7A to 7D is a diagram illustrating an evaluation netlist.

[0036] Figure 8 is a schematic diagram illustrating a neural network.

[0037] Figure 9 is a flowchart illustrating a neural network.

[0038] Figure 10 is a block diagram illustrating a parameter exploration device having a parameter exploration method.

[0039] Figure 11 is a diagram illustrating a netlist of an inverter circuit.

[0040] Figure 12 is a diagram illustrating a user setting document.

[0041] Figure 13A , Figure 13B is a diagram illustrating the exploration result of model parameters.

[0042] Figure 14A , Figure 14B is a diagram illustrating a graphical user interface (GUI).

[0043] Mode of carrying out the invention

[0044] The embodiments will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited to the following description, and those skilled in the art can easily understand the fact that its mode and details can be changed into various forms without departing from the spirit and scope of the present invention. Therefore, the present invention should not be construed as being limited only to the content described in the embodiments shown below.

[0045] Note that in the inventive structures described below, the same reference numerals are used in different drawings to denote the same parts or parts having the same functions, and repeated descriptions are omitted. In addition, when denoting parts having the same functions, the same hatching is sometimes used without particularly attaching reference numerals.

[0046] In addition, for ease of understanding, the positions, sizes, ranges, etc. of the respective components shown in the drawings do not represent their actual positions, sizes, ranges, etc. Therefore, the disclosed invention is not necessarily limited to the positions, sizes, ranges, etc. disclosed in the drawings.

[0047] (Embodiment)

[0048] In one mode of the present invention, Figures 1 to 10 a parameter exploration method is used.

[0049] This parameter exploration method is controlled by a program executed in a computer. Therefore, the computer can also be referred to as a parameter exploration device having a parameter exploration method. Note that the parameter exploration device will be described in Figure 10Detailed description. This program is stored in the memory or storage space included in a computer. Alternatively, it is stored in a computer connected via a network (Local Area Network (LAN), Wide Area Network (WAN), Internet, etc.) or a server computer including a database).

[0050] The parameter exploration method can explore the best candidates for parameters using machine learning or reinforcement learning. As part of the processing of machine learning or reinforcement learning, it is preferable to use artificial intelligence (AI). In the parameter exploration method, an artificial neural network (Artificial Neural Network (ANN), hereinafter simply referred to as neural network) can be particularly used to generate output data. The arithmetic processing of the neural network is executed using a circuit (hardware) or a program (software).

[0051] Note that a neural network refers to all models that determine the connection strength between neurons through learning and have the ability to solve problems. A neural network includes an input layer, an intermediate layer (sometimes including multiple hidden layers), and an output layer. When referring to a neural network, sometimes "determining the connection strength (also called the weight coefficient) between neurons based on existing information" is called "learning".

[0052] First, a method for generating a classification model for machine learning is described. The classification model is generated by learning the model parameters of a semiconductor device. The classification model classifies the model parameters. In addition, the model parameters are extracted by supplying a data set (including measurement data or process parameters) of the semiconductor device to a parameter extraction unit. Note that when only using the model parameters of the semiconductor device, it may not be possible to sufficiently perform classification suitable for the required characteristics of the netlist.

[0053] In one aspect of the present invention, the model parameters are also analyzed. To analyze the model parameters, simulation is performed using the model parameters and an evaluation netlist supplied with the model parameters through a circuit simulator. In this simulation, DC analysis, AC analysis, transient analysis, etc. are performed using the evaluation netlist. The simulation results include any one or more of leakage current, output current, signal rise time, and signal fall time in the evaluation netlist.

[0054] Therefore, in one aspect of the present invention, the model parameters and the simulation results using the evaluation netlist can be referred to as learning content. The method of using the learning content to train the classification model is called the parameter learning method. When using the classification model, it is easy to classify circuits that emphasize low power consumption, circuits that emphasize operating frequency, or circuits that operate stably in a specified frequency band, etc., which cannot be fully performed when only using the parameter extraction unit. Note that for convenience, sometimes the low power consumption, operating frequency, or stability in the frequency band required by the circuit, etc. are collectively referred to as required characteristics for explanation.

[0055] For example, when the user requests the classification model to provide model parameters suitable for a circuit that emphasizes low power consumption, the classification model can provide multiple candidates from the model parameters learned in the past. In addition, multiple candidates can be provided from the model parameters learned within an arbitrarily specified range. In addition, when the classification model is supplied with new model parameters, the classification model represents with probabilities the fitness of the new model parameters for what kind of required characteristics. Thus, the user can obtain information for determining the degree to which the new model parameters are suitable for each required characteristic.

[0056] In other words, the classification model can provide a parameter selection method for selecting model parameters suitable for the required characteristics from the learned model parameters. In addition, the required characteristics, etc. can be added to the learning content.

[0057] As the above classification model, machine learning algorithms such as decision trees characterized by classification, Naive Bayes, K Nearest Neighbor (KNN), Support Vector Machine (SVM), perceptrons, or logistic regression, or neural networks can be used.

[0058] In addition, different classification models can also be generated. For example, a classification model for clustering can be generated using the model parameters and the simulation results using the evaluation netlist. As clustering, machine learning algorithms such as K-means or density-based spatial clustering of applications with noise (BSCAN) can be used.

[0059] As a method for the classification model to select the learning content, random sampling or cross-validation can be used. Alternatively, an arbitrary number specified is selected in the order sorted by the numbers attached to the learning content. Note that the learning content corresponds to a data set of semiconductor elements.

[0060] In addition, the generated classification model can be stored in the main body of the electronic device or an external memory, and can be called and used when classifying new files. Moreover, while adding new learning content, the classification model can be updated according to the above method.

[0061] Next, the neural network for reinforcement learning will be described. Note that in one embodiment of the present invention, Q-learning or the Monte Carlo method can be used. In one embodiment of the present invention, an example of using Q-learning will be described.

[0062] First, Q-learning will be described. Q-learning is a method in which at time t, an agent learns the value of choosing an action a t in a certain environment (represented by variable s t . An agent refers to the entity of an action, and variable s t refers to the object of the action. Through the action a t of the agent, a certain environment changes from variable s t to variable s t+1 , and the agent receives a reward r t+1 . In Q-learning, the action a t is learned in such a way that the total reward that can be obtained ultimately becomes the maximum. The value of choosing the action a t in variable s t can be represented by the action value function Q(s t , a t ). For example, the update formula of the action value function Q(s t , a t ) can be represented by Equation (1). Note that in one embodiment of the present invention, the agent corresponds to the control unit, a certain environment corresponds to the variable s t supplied to the input layer of the neural network, and the action a t is determined according to the action value function Q(s t , a t ) output from the agent to the output layer of the neural network.

[0063] [Equation 1]

[0064]

[0065] Here, α represents the learning rate (α is greater than 0 and less than or equal to 1), and γ represents the discount rate (γ is greater than or equal to 0 and less than or equal to 1). The learning rate α indicates whether to emphasize the current value or the result obtained through actions. The closer the learning rate α is to 1, the more the result obtained is emphasized, and the greater the change in value. The closer the learning rate α is to 0, the more the current value is emphasized, and the smaller the change in value. The discount rate γ indicates whether to emphasize the current reward or the future reward. The closer the discount rate γ is to 0, the more the current reward is emphasized. The closer the discount rate γ is to 1, the more the future reward is emphasized. For example, the learning rate α and the discount rate γ can be set to 0.10 and 0.90, respectively.

[0066] Generally, in Q-learning, the action value function Q(s t , a t ) output by the neural network is pre-stored in a lookup table (Look Up Table (LUT)) for the state s t and the combination data of the action a t . In one aspect of the present invention, the lookup table can be referred to as an action table. In addition, the number of units of the action value function Q(s t , a t ) output by the neural network is preferably more than twice the number of units of the variable s t supplied to the neural network. In addition, it is preferable to set the actions for each combination of the variable s t and the action a t in the action table. In Q-learning, an action associated with the combination in which the action value function Q(s t , a t ) becomes the maximum value is executed. Note that the action value function Qmax1 means the combination of the state s t and the action a t in which the action value function Q(s t , a t ) becomes the maximum value at time t.

[0067] [Equation 2]

[0068]

[0069] In Q-learning, the error E can be expressed by Equation (2). The term r t+1 represents the reward obtained through learning at time t. The term maxQ(s t+1 , a) represents the action value function Qmax2 recalculated by the neural network after updating the variable s t according to the correct label decision. In addition, the term maxQ(s t+1 , a) can also be maxQ(s t+1 , a t+1)。In addition, item Q(s t , a t ) is equivalent to the action value function Qmax1.

[0070] In addition, the loss function L is calculated from the error E. As a calculation method of the loss function L, the mean squared error can be used. The weight coefficients of the neural network can be updated by using Stochastic Gradient Descent (SGD) in such a way that the value of the loss function L becomes smaller. In addition to Stochastic Gradient Descent, Adaptive Moment Estimation (Adam), Momentum, Adaptive SubGradient Methods (AdaGrad), RMSProp, etc. can also be used. That is, the weight coefficients of the neural network are updated according to the loss function L.

[0071] The variable s t is updated to the variable s t+1 and the calculation of the neural network 15 is performed again. In Q-learning, learning is repeated in such a way that the loss function L becomes as small as possible.

[0072] Next, Figure 1 the parameter exploration method will be described. Note that hereinafter, the parameter exploration method may sometimes be referred to as the parameter exploration device 10 for description.

[0073] The parameter exploration device 10 includes a parameter extraction unit 11, a circuit simulator 12, a classification model 13, a control unit 14, and a neural network 15. In addition, the parameter exploration device 10 is supplied with a data set of semiconductor elements and a setting file F1, and the parameter exploration device 10 outputs output data F2. The parameter extraction unit 11, the circuit simulator 12, the classification model 13, the control unit 14, and the neural network 15 are controlled by a program executed in a computer.

[0074] Note that the data set of semiconductor elements, the setting file F1, and the output data F2 are preferably stored in the memory or storage space included in the computer. Alternatively, the data set of semiconductor elements may be stored in the memory or storage space of a computer connected via a network, a server computer including a database, or a measuring device.

[0075] In addition, when exploring parameters using the parameter exploration device 10, the computer in which the control unit 14 operates may be different from the computer (including a server computer) in which the parameter extraction unit 11, the circuit simulator 12, or the classification model 13 operates.

[0076] The parameter extraction unit 11 is supplied with measurement data or process parameters of semiconductor components as a data set. Additionally, the parameter extraction unit 11 can load the data set indicated by the control unit 14. Alternatively, when the parameter extraction unit 11 detects a new data set in the memory or storage space of the computer, the parameter extraction unit 11 can automatically load the new data set. The parameter extraction unit 11 extracts model parameters from the data set.

[0077] The circuit simulator 12 is supplied with an evaluation netlist from the control unit 14. The evaluation netlist will be described in detail in FIG. 7.

[0078] The circuit simulator 12 performs simulation using the evaluation netlist and the model parameters and outputs the simulation result as a first output result. In this simulation, DC analysis, AC analysis, or transient analysis, etc. is performed. Therefore, the first output result includes at least any one or more of leakage current, output current, signal rise time, and signal fall time, etc. in the evaluation netlist. The classification model 13 learns the model parameters and the first output result and classifies the model parameters. Additionally, when there are multiple evaluation netlists, the evaluation netlist is updated sequentially, and the circuit simulator 12 outputs the first output result using the multiple evaluation netlists.

[0079] The circuit simulator 12 is supplied with a netlist and model parameters classified as suitable for the required characteristics of the netlist from the control unit 14. Note that this netlist is circuit information for obtaining model parameters suitable for the required characteristics. Additionally, this netlist is composed of multiple semiconductor components. However, in one aspect of the present invention, model parameter variables to be adjusted can be selected from the semiconductor components included in this netlist as model parameter variables.

[0080] Additionally, the circuit simulator is initialized by the control unit 14. The initialization information is supplied to the control unit 14 from the setting file F1. The setting file F1 includes information such as the magnitude of the power supply voltage required for simulation, the maximum and minimum values of model parameters, and process parameters. Additionally, the initialization information can also be supplied by the user using a keyboard, mouse, or voice through a microphone.

[0081] The neural network 15 is supplied with model parameter variables from the control unit 14. The model parameter variables are the model parameters of semiconductor components for which the neural network 15 is to explore the best candidates. The neural network 15 supplies the supplied model parameter variables as the variable s at time t t to the input layer. The neural network 15 outputs the action value function Q(s t , a t , a t ) from the variable s t , a t)Update the model parameter variables. The circuit simulator 12 performs simulation using the netlist and the model parameters including the updated model parameter variables. The circuit simulator 12 outputs a second output result.

[0082] The control unit 14 determines the second output result. When the second output result does not satisfy the required characteristics of the netlist, the control unit sets a reward for the second output result and calculates a loss function. In the neural network 15, the weight coefficients of the neural network 15 are updated according to the loss function. In addition, when the second output result satisfies the required characteristics of the netlist, the model parameter variables are determined as the best candidates for the netlist. In addition, it is preferable to output the best candidates of the model parameter variables as a list for the output data F2.

[0083] Different from the above method, the circuit simulator 12 may also be supplied with the netlist and the model parameters from the control unit 14. Note that the model parameters at this time do not need to satisfy the required characteristics of the netlist. However, when the second output result does not satisfy the required characteristics of the netlist, the weight coefficients of the neural network are updated using the loss function. In addition, in the circuit simulator 12, the update is any one of the model parameters classified by the classification model as satisfying the required characteristics of the second netlist. The circuit simulator 12 explores the parameters that become the best candidates using a wider range of model parameters.

[0084] Figure 2 It is a diagram showing a data set of semiconductor elements. This data set includes measurement data DS1, measurement data DS2, or process parameters DS3 of the semiconductor elements. For example, the semiconductor element is a transistor, a resistor, a capacitor, or a diode, etc. In addition, the semiconductor element may also be composed of a combination of a transistor, a resistor, a capacitor, or a diode, etc.

[0085] Figure 2 It shows the case where the semiconductor element is a transistor. The measurement data DS1 represents the case where different fixed voltages are supplied to the source and drain of the transistor and the voltage supplied to the gate of the transistor is scanned. Therefore, the measurement data DS1 is the measurement data when the gate voltage VG of the transistor is on the horizontal axis and the drain current ID flowing through the drain of the transistor is on the vertical axis. Note that in Figure 2 the measurement data DS1 is shown using a graph, but the graph is only used to easily understand the measurement data, and the measurement data DS1 in the data set is data recorded numerically.

[0086] The measurement data DS2 is the case where different fixed voltages are supplied to the source and gate of the transistor and the voltage supplied to the drain of the transistor is scanned. Therefore, the measurement data DS2 is the measurement data when the drain voltage VD of the transistor is on the horizontal axis and the drain current ID flowing through the drain of the transistor is on the vertical axis. Note that in Figure 2The measurement data DS2 is shown using a graph in [reference], but the graph is only used for easy understanding of the measurement data, and the measurement data DS2 in the data set is data recorded numerically.

[0087] Note that the measurement data DS1 or the measurement data DS2 preferably includes a plurality of measurement data measured under different conditions. For example, in the measurement data DS1, as the drain voltage VD of the transistor, different fixed voltages are preferably supplied. Additionally, in the measurement data DS2, as the gate voltage VG of the transistor, different fixed voltages are preferably supplied.

[0088] The process parameter DS3 is a process parameter of a semiconductor element. As process parameters, there are the thickness Tox of the oxide film, the dielectric constant ε of the oxide film, the resistivity RS of the conductive film, the channel length L, or the channel width W, etc.

[0089] Figures 3 to 6 It is a flowchart illustrating a parameter exploration method. The parameter exploration method includes a first process and a second process. In the first process, the model parameters of the semiconductor element are extracted by the parameter extraction unit 11, and parameter learning of the model parameters is performed by the classification model 13. In the second process, the optimal candidate of the model parameter variation of the semiconductor element included in the netlist is explored by Q-learning using the model parameters selected by the classification model.

[0090] Figure 3 It is a flowchart illustrating the extraction of the model parameters by the parameter extraction unit 11 and the classification of the model parameters by the classification model 13.

[0091] Step S30 is a step in which the control unit 14 initializes the parameter extraction unit 11. The parameter extraction unit 11 is supplied with the common content in the measurement data to be loaded. Specifically, the parameter extraction unit 11 is supplied with the voltages supplied to the source, drain, or gate of the transistor, process parameters, etc.

[0092] Step S31 is a step in which the parameter extraction unit is loaded with a data set including measurement data and process parameters of the semiconductor element, etc.

[0093] Step S32 is a step in which the parameter extraction unit 11 extracts the model parameters. As an example, the model parameters of the transistor include physical parameters such as the threshold voltage, oxide film thickness, drain resistance, source resistance, junction capacitance, noise figure, mobility, or channel length modulation for the channel length and channel width, and the measurement data is represented by a functional expression. The content managed using the model parameters is preferably set by the user.

[0094] Step S33 includes the step in which the control unit 14 supplies the evaluation netlist to the circuit simulator 12 and supplies the model parameters from the parameter extraction unit 11 to the circuit simulator. Further, the circuit simulator 12 performs simulation using the evaluation netlist. The circuit simulator 12 outputs the simulated result as the first output result.

[0095] Note that the evaluation netlist is not limited to one, and multiple evaluation netlists can also be used. For example, the evaluation netlist includes an inverter circuit, a source follower circuit, a grounded source circuit, a charge pump circuit, a ring oscillator circuit, a current mirror circuit, an amplifier circuit, etc. The first output result corresponding to the characteristics of the circuit can be obtained from the above evaluation netlist.

[0096] For example, leakage current, output current, rise time, fall time, etc. are obtained as the first output result from the inverter circuit. For example, the output current of the circuit is obtained as the first output result from the source follower circuit. Leakage current, sink current, etc. of the circuit are obtained as the first output result from the grounded source circuit. In addition, a charge pump circuit, a ring oscillator circuit, a current mirror circuit, an amplifier circuit, etc. can be used as the evaluation netlist. The charge pump circuit, the ring oscillator circuit, the current mirror circuit, the amplifier circuit, etc. have a circuit structure combining an inverter circuit, a source follower circuit, or a grounded source circuit, and a first output result having characteristics approximate to the required characteristics of the netlist for which the model parameters are to be verified can be obtained.

[0097] As an example, the inverter circuit used as the evaluation netlist is described in detail. The inverter circuit can be composed of a p-type transistor and an n-type transistor, or can be composed of only a p-type transistor or an n-type transistor. For example, when the inverter circuit is composed of only n-type transistors, it is preferable to include metal oxide in the semiconductor layer of the n-type transistor. In addition, in other inverter circuits, metal oxide can also be included in the semiconductor layer of the n-type transistor and silicon can be included in the semiconductor layer of the p-type transistor.

[0098] Step S34 is the step in which the classification model learns by supplying the model parameters and the first output result to the classification model 13. The classification model can classify the model parameters by learning the model parameters and the first output result.

[0099] Step S35 is the step in which the control unit 14 determines whether the classification model 13 has completed learning of the data set. When the control unit 14 determines that the classification model 13 has completed learning of all data sets, it proceeds to step S41, and when it determines that there are still data sets that have not been learned, it returns to step S31 to continue learning of the classification model.

[0100] Figures 4 to 6It is a flowchart illustrating the second process. In the second process of the parameter exploration method, Q-learning is used for parameter exploration. Note that in order to perform Q-learning, it is necessary to initialize the circuit simulator 12 and the neural network 15. Figure 4 It is a flowchart illustrating the initialization for performing Q-learning.

[0101] Step S41 is a step of initializing the neural network 15. The neural network 15 can be initialized by adding a random number to the weight coefficients of the neural network 15. Alternatively, the neural network 15 can also load the weight coefficients during past learning.

[0102] Step S42 is a step of supplying a netlist to the circuit simulator 12. Note that this netlist is the netlist for the user to explore the model parameters.

[0103] Step S43 is a step in which the control unit 14 sets the model parameters and the model parameter variable pt to be explored for the best candidate among the model parameters in the circuit simulator 12. The control unit 14 can select model parameters suitable for the required characteristics of the netlist using the classification results of the classification model.

[0104] Step S44 is a step of setting the model parameter variable pt as the variable s of the neural network 15 t of.

[0105] Step S45 is a step of setting the action table for the action value function Q(s t , a t ) which is the output of the neural network 15. The action value function Q(s t , a t ) includes multiple outputs corresponding to the number of units in the output layer of the neural network 15. Therefore, it is preferable to set the actions corresponding to the outputs of the action value function Q(s t , a t ) in the action table.

[0106] For example, denoting the channel length of the transistor as L and the channel width as W, the case where the variable s t (L, W) is supplied as the model parameter variable is described. When the model parameter variable is the variable s t (L, W), the number of input units of the neural network 15 is preferably the same as the number of model parameter variables. The number of output units of the neural network 15 is preferably more than twice the number of input units. Therefore, the action value function Q can be represented by four outputs of the action value function Q(s t , a t = a1 to a4).

[0107] The action value function Q(s t , a t= a1 to a4) set different actions respectively. As for the action value function Q(s t , a t = a1 to a4), the settings are as follows: As action a1, extend the channel length L; as action a2, shorten the channel length L; as action a3, extend the channel width W; as action a4, shorten the channel width W; etc. In the following description, for a certain variable s t in the action value function Q(s t , a t ), the maximum value of the action value function Qmax1 is set, and the action associated with the action value function Qmax1 is executed. In addition, when the action value function Q(s t , a t ) includes more than four outputs, more detailed action settings can be made.

[0108] In addition, preferably, the user can set the range within which actions can be taken. For example, the channel length L, which is one of the model parameter variables, will be described. The applicable range of the channel length L is determined according to the specifications of the manufacturing device. For example, when the channel length L is set to be 10 nm or more and 1 μm or less, when the action of shortening the channel length L continues, sometimes the channel length L becomes less than 10 nm, which is set as the lower limit. For example, when the channel length L is less than 10 nm, which is the lower limit, the channel length L can be fixed at 10 nm, which is the lower limit. Or, when the channel length L is less than 10 nm, which is the lower limit, the channel length L can be set to be 1 μm or less, which is the maximum value.

[0109] In step S46, the reward for Q-learning is set. This reward is given when the second output result does not satisfy the convergence condition. A higher reward is given when approaching this convergence condition, and a lower reward is given when far from this convergence condition. The level of this reward can be set as a fixed value according to the distance from the convergence condition, or can be set by the user.

[0110] Step S47 is the step of setting the convergence condition for Q-learning.

[0111] Step S48 is the step of calculating the action value function Qmax1 from the variable s t supplied to the neural network 15. Then, it proceeds to Figure 5 step S51.

[0112] Figure 5 is a flowchart showing the reinforcement learning using Q-learning.

[0113] Step S51 is the step of determining the action corresponding to the action value function Qmax1, which is the output of the neural network 15.

[0114] Step S52 is to change the variable s according to the action corresponding to the action value function Qmax1t Update to variable s t+1 and the step of. Additionally, variable s t+1 is supplied to neural network 15.

[0115] Step S53 is the step of updating the model parameter variable pt of the netlist using variable s t+1

[0116] Step S54 is the step in which circuit simulator 12 performs simulation using the netlist and the model parameters of model parameter variable pt that have been updated. Circuit simulator 12 outputs a second output result as a simulation result.

[0117] Step S55 is the step in which control unit 14 determines whether the second output result satisfies the convergence condition supplied to the netlist.

[0118] In step S56, when control unit 14 determines that the second output result satisfies the convergence condition supplied to the netlist, the reinforcement learning using neural network 15 ends. Therefore, at this time, the second output result is one of the best candidates that meet the requirement conditions of the netlist. Additionally, as a method for further exploring the best candidates for parameter variables that meet the requirement conditions of the netlist, it is also possible to continue learning without ending the loop even when the convergence condition is satisfied. In this case, conditions close to the convergence condition can be explored intensively. Or, it is possible to enter step 41 and initialize neural network 15 using different random numbers to perform reinforcement learning. Or, it is possible to enter step S41 and perform reinforcement learning using different random numbers.

[0119] Step S57 is the step of setting the reward for Q-learning. For example, step S57 includes the following steps: when it is determined that the second output result does not satisfy the requirement characteristics of the second netlist, control unit sets a higher reward when the second output result is close to the convergence condition, and sets a lower reward when the second output result is far from the convergence condition.

[0120] Step S58 is the step of calculating action value function Qmax2 from variable s supplied to neural network 15 t+1 Action value function Qmax2 corresponds to variable s t+1 in action value function Q(s t+1 , a t+1 = a1 to a4) of the maximum value.

[0121] Step S59 is the step of initializing the weight coefficients of neural network 15. The weight coefficients are updated according to the loss function calculated from the error E calculated using action value function Qmax1, action value function Qmax2, and the reward.

[0122] Step S5A is using variable s supplied to neural network 15 t+1 ​Steps to calculate the action value function Qmax1. Next, proceed to Figure 5 Step S51 of Figure 5 to determine the action of the action value function Qmax1 corresponding to the output of the neural network 15.

[0123] Figure 6 It is to illustrate the use of Figure 5 A flowchart of reinforcement learning using Q-learning different from Figure 5 . Note that Figure 6 The differences from Figure 5 are described in Figure 5 . In the invention structure (or the structure of the embodiment), the same symbols are used in different drawings to represent the same parts or parts with the same functions, and repeated descriptions are omitted.

[0124] Figure 6 Step S5B is described, in which the variable s is updated to the variable s t according to the action corresponding to the action value function Qmax1 (step S52), and then the model parameters of the circuit simulator 12 are updated. For example, when the model parameter variable exceeds the actionable range through the action in step S51, the model parameters are updated. Note that the model parameters are preferably classified by the classification model 13 and are within the range classified as suitable for the required characteristics of the netlist. By updating to these model parameters, Q-learning can explore a wider range of parameters. t+1 (Step S52), and then update the model parameters of the circuit simulator 12. For example, when the model parameter variable exceeds the actionable range through the action in step S51, the model parameters are updated. Note that the model parameters are preferably classified by the classification model 13 and are within the range classified as suitable for the required characteristics of the netlist. By updating to these model parameters, Q-learning can explore a wider range of parameters.

[0125] As described above, in the parameter exploration method of one aspect of the present invention, a plurality of model parameter variables can be selected from the model parameters of the plurality of semiconductor elements included in the netlist to explore the best candidates for the model parameter variables suitable for the required characteristics of the netlist.

[0126] In addition, in the parameter exploration method, by learning the classification model for the model parameters extracted from the parameter extraction unit by the classification model and using the first output result of the circuit simulator of the evaluation netlist, the model parameters suitable for the required characteristics of the netlist can be classified.

[0127] Since the classification model can select the model parameters suitable for the required characteristics of the netlist, Q-learning can be efficiently performed. For example, when examining the optimal process conditions in the conditions of process parameters, etc., the classification model can be used. In addition, the classification model can also be used when extracting the model parameters corresponding to the required characteristics of the netlist.

[0128] Figures 7A to 7D It is a circuit diagram illustrating the evaluation netlist. The evaluation netlist includes a capacitor 64 as an output load at the output stage of the circuit. Therefore, the output signal of the evaluation netlist can be used to determine whether the required characteristics of the evaluation netlist are satisfied by the voltage generated by the charging and discharging of the capacitor 64.

[0129] Figure 7AThis is a circuit diagram illustrating an inverter circuit. The inverter circuit includes a transistor 61, a transistor 62, a wiring 65, a wiring 66, a wiring SD1, and a wiring SD2. The transistor 61 is a p-type transistor, and the transistor 62 is an n-type transistor.

[0130] One of the source and drain of the transistor 61 is electrically connected to the wiring 65. The other of the source and drain of the transistor 61 is electrically connected to one of the source and drain of the transistor 62 and one electrode of a capacitor 64. The other of the source and drain of the transistor 62 is electrically connected to the wiring 66. The other electrode of the capacitor 64 is electrically connected to the wiring 66. The gate of the transistor 61 is electrically connected to the wiring SD1. The gate of the transistor 62 is electrically connected to the wiring SD2.

[0131] The signal supplied to the wiring SD1 is the same signal as the signal supplied to the wiring SD2. Therefore, the on-state and off-state of the transistor 61 and the on-state and off-state of the transistor 62 are switched complementarily. When the transistor 61 changes from the off-state to the on-state, the transistor 62 changes from the on-state to the off-state.

[0132] The leakage current of the inverter circuit can be estimated by performing a DC analysis of the inverter circuit using a circuit simulator. In addition, the magnitude of the through-current flowing through the inverter circuit, the operating frequency, or the rise time and fall time of the output signal can be estimated by performing a transient analysis of the inverter circuit using a circuit simulator.

[0133] The transistor 61 or the transistor 62 preferably contains silicon in the semiconductor layer. Note that the transistor 62 may also contain a metal oxide in the semiconductor layer.

[0134] Figure 7B This is an illustration of Figure 7A a different inverter circuit. In Figure 7B this, the differences from Figure 7A are described. In the inventive structure (or the structure of the embodiment), the same symbols are used in different drawings to represent the same parts or parts having the same functions, and repeated descriptions are omitted.

[0135] In Figure 7B the illustrated inverter circuit, the transistors 61A and 62 are n-type transistors.

[0136] As the signal supplied to the wiring SD1, an inverted signal of the signal supplied to the wiring SD2 is supplied. The signal supplied to the wiring SD1 switches the on-state and off-state of the transistor 61A. The signal supplied to the wiring SD2 switches the on-state and off-state of the transistor 62. Through the above operations, DC analysis and transient analysis using a circuit simulator can be performed.

[0137] Transistor 61A and transistor 62 preferably contain silicon in the semiconductor layer. Alternatively, transistor 61A and transistor 62 preferably include a metal oxide in the semiconductor layer.

[0138] Figure 7C FIG. 4 is a circuit diagram illustrating a source follower circuit. The source follower circuit includes transistor 61, resistor 63, wiring 65, wiring 66, and wiring SD1. Additionally, Figure 7C FIG. 5 shows an example in which transistor 61 in the source follower circuit is an n-type transistor. Note that the source follower circuit is sometimes used as a buffer circuit (current amplification circuit). Additionally, in resistor 63, a transistor or a diode is used as an active load.

[0139] One of the source and drain of transistor 61 is electrically connected to wiring 65. The other of the source and drain of transistor 61 is electrically connected to one electrode of resistor 63 and one electrode of capacitor 64. The other electrode of resistor 63 is electrically connected to wiring 66. The other electrode of capacitor 64 is electrically connected to wiring 66. The gate of transistor 61 is electrically connected to wiring SD1.

[0140] The signal supplied to wiring SD1 can switch the on state (strong inversion region) and off state (weak inversion region) of transistor 61. When transistor 61 is in the on state by the signal supplied to wiring SD1, the output potential supplied to capacitor 64 becomes a potential obtained by reducing the potential of the signal supplied to wiring SD1 by an amount equivalent to the threshold voltage of transistor 61.

[0141] The source follower circuit can estimate the bias current of the source follower circuit and the threshold voltage of transistor 61 by performing DC analysis using a circuit simulator. Additionally, the source follower circuit can estimate the frequency characteristics of the source follower circuit by performing AC analysis using a circuit simulator. Additionally, the source follower circuit can estimate the degree of change in the bias current flowing through the source follower circuit, the rise time, and the fall time of the output signal by performing transient analysis using a circuit simulator.

[0142] Transistor 61 preferably contains silicon in the semiconductor layer. Additionally, transistor 61 may also include a metal oxide in the semiconductor layer. Additionally, transistor 61 may also be a p-type transistor. By reversing the power supply voltages supplied to wiring 65 and wiring 66, a source follower circuit can be constituted by p-type transistors.

[0143] Figure 7D FIG. 6 is a circuit diagram illustrating a source grounded circuit. The source grounded circuit includes transistor 61, resistor 63, wiring 65, wiring 66, and wiring SD1. Additionally, Figure 7D FIG. 7 shows an example in which transistor 61 in the source grounded circuit is an n-type transistor.

[0144] One electrode of the resistor 63 is electrically connected to the wiring 65. The other electrode of the resistor 63 is electrically connected to one of the source and drain of the transistor 61 and one electrode of the capacitor 64. The other of the source and drain of the transistor 61 is electrically connected to the wiring 66. The other electrode of the capacitor 64 is electrically connected to the wiring 66. The gate of the transistor 61 is electrically connected to the wiring SD1.

[0145] The signal supplied to the wiring SD1 can switch the on-state and off-state of the transistor 61. The source-grounded circuit is used as an amplifier circuit. The signal supplied to the wiring SD1 is amplified by the transistor 61 and used for the charge and discharge of the capacitor 64.

[0146] The source-grounded circuit can estimate the bias current of the source-grounded circuit and the value of the sink current during the amplification of the transistor 61 by performing DC analysis using a circuit simulator. In addition, the source-grounded circuit can estimate the frequency characteristics of the source-grounded circuit by performing AC analysis using a circuit simulator. In addition, the source-grounded circuit can estimate the degree of change in the bias current flowing through the source-grounded circuit, the amplification factor for the input signal, and the non-uniformity of the threshold voltage of the transistor 61 by performing transient analysis using a circuit simulator.

[0147] The transistor 61 preferably contains silicon in the semiconductor layer. In addition, the transistor 61 may also include metal oxide in the semiconductor layer. In addition, the transistor 61 may also be a p-type transistor. By reversing the power supply voltages supplied to the wiring 65 and the wiring 66, the source-grounded circuit can be constituted by p-type transistors.

[0148] From Figures 7A to 7D The analysis result obtained from the shown evaluation netlist corresponds to the above first result. Note that the evaluation netlist is not limited to Figures 7A to 7D . For circuit structures such as a charge pump circuit, a ring oscillator circuit, a current mirror circuit, and an amplifier circuit that have a combination of an inverter circuit, a source follower circuit, or a source-grounded circuit, a first output result close to the netlist actually to be verified can be obtained.

[0149] Figure 8 is a schematic diagram for explaining the neural network 15 during Q learning. For example, a fully connected neural network is used as the neural network 15. Note that the neural network 15 is not limited to the fully connected type. The neural network 15 is composed of an input layer 21, an intermediate layer 23, and an output layer 22. For example, in Figure 8 the intermediate layer 23 includes a hidden layer 24 (hidden layers 24a to 24m) and a hidden layer 25 (hidden layers 25a to 25m). Note that the number of hidden layers included in the intermediate layer 23 is not limited to two layers. The intermediate layer 23 may include two or more hidden layers as needed. In addition, the number of units included in the hidden layer may also be different for each hidden layer. AsFigure 8 As shown, the number of units included in the hidden layer is equivalent to that of hidden layers 24a to 24m.

[0150] The input layer 21 is supplied with the variable s as the input data at time t t . The output layer 22 outputs the action value function Q(s t , a t ). Note that the number of output units of the neural network 15 in one aspect of the present invention is preferably more than twice the number of input units. For example, in Figure 8 , the input layer 21 includes units 21a and 22b, and the output layer 22 includes units 22a to 22d. In other words, when the variable s t (x1, x2) is supplied, the action value function Q(s t , a t ) can be represented by four outputs of the action value function Q(s t , a t = a1 to a4). There are four selectable actions a1 to a4. The action value functions Q(s t , a1) to Q(s t , a4) are respectively associated with actions 1 to 4. The agent selects the action value function Q(s t , a1) to Q(s t , a4) that becomes the maximum value, and the action associated with the action value function Qmax is executed.

[0151] Generally, during the learning of reinforcement learning, the weight coefficients of the neural network are updated in such a way that the error E between the output data and the supervised data becomes smaller. The update of the weight coefficients is repeated until the error E between the output data and the supervised data becomes constant. The learning objective of Q-learning, which is a type of reinforcement learning, is to explore the optimal action value function Q(s t , a t ), but the optimal action value function Q(s t , a t ) is not clear when learning. Therefore, the action value function Q(s t+1 , a t+1 ) at the next time t + 1 is estimated, and r t+1 + maxQ(s t+1 , a t+1 ) is regarded as the supervised data. By using this supervised data for the calculation of the error E and the loss function, the learning of the neural network is performed.

[0152] Figure 9 is a flowchart illustrating the neural network 15.

[0153] In step S71, variables x1 and x2 are supplied to units 21a and 21b of the input layer 21 respectively, and a first product-sum operation of the fully-connected type is performed in the hidden layer 24. The variables x1 and x2 can also be normalized as appropriate. By performing this normalization, the learning speed can be increased.

[0154] In step S72, a second product-sum operation of the fully-connected type is performed in the hidden layer 25 using the operation result of the hidden layer 24.

[0155] In step S73, a third product-sum operation is performed in the output layer 22 using the operation result of the hidden layer 25.

[0156] In step S74, the action value function Q(s t , a1) to Q(s t , a4) with the maximum value, i.e., the action value function Qmax, is selected to determine the action associated with the action value function Qmax.

[0157] In step S75, variables x1 and x2 are updated according to the action, and variables x1 and x2 are supplied as variables s t+1 to units 21a and 21b.

[0158] Figure 10 is a block diagram illustrating the parameter exploration device 10 having a parameter exploration method.

[0159] The parameter exploration device 10 includes an arithmetic unit 81, a memory 82, an input / output interface 83, a communication device 84, and a storage space 85. In other words, the parameter exploration method of the parameter exploration device 10 is provided by a program including a parameter extraction unit 11, a circuit simulator 12, a classification model 13, a control unit 14, and a neural network 15. In addition, this program is stored in the storage space 85 or the memory 82, and the arithmetic unit 81 is used to explore the parameters.

[0160] A display device 86a, a keyboard 86b, etc. are electrically connected to the input / output interface 83. Note that although Figure 10 not shown in the figure, a mouse or the like can also be connected.

[0161] The communication device 84 is electrically connected to other networks through a network interface 87. In addition, the network interface 87 includes wired or wireless communication. This network is electrically connected to a database 8A, a remote computer 8B, a remote computer 8C, etc. Note that the database 8A, the remote computer 8B, and the remote computer 8C electrically connected through the network can also be set in different buildings, different regions, and different countries.

[0162] In addition, when exploring parameters using the parameter exploration device 10, the computer on which the control unit 14 operates may be different from the computers (including server computers) on which the parameter extraction unit 11, the circuit simulator 12, or the classification model 13 operate.

[0163] As described above, one aspect of the present invention can provide a method for exploring parameters of an electronic netlist using a computer. By electronicizing the netlist, it is possible to retrieve model parameters suitable for the required characteristics of the netlist using computer resources.

[0164] In addition, one aspect of the present invention can extract model parameters from a data set of semiconductor elements, have a classification model learn a set of model parameters, and classify the model parameters according to the classification model. The parameter classification method can efficiently retrieve model parameters suitable for the required characteristics of the netlist by using the model parameters classified by the classification model.

[0165] In addition, in one aspect of the present invention, by supplying new model parameters to the classification model, it is possible to probabilistically provide the fitness of the required characteristics that can be classified by the classification model. Therefore, appropriate model parameters can be selected. In addition, a parameter selection method that easily selects model parameters suitable for the required characteristics of the target netlist can be provided.

[0166] One aspect of the present invention can provide a parameter exploration system in which reinforcement learning is used for exploration so that the variables of the netlist supplied to the circuit simulator become the best candidates that satisfy the required characteristics of the netlist.

[0167] As described above, in the parameter exploration system, by combining a parameter learning method in which a classification model learns model parameters, a parameter selection method for selecting appropriate model parameters, and reinforcement learning, a parameter exploration system that explores the best candidates that satisfy the required characteristics of the netlist can be provided.

[0168] As described above, the structures and methods shown in one aspect of the present invention can be appropriately combined with the structures and methods shown in the embodiments and implemented. Embodiment

[0169] In this embodiment, the parameter exploration method of one aspect of the present invention is used to explore parameters. Hereinafter, Figures 11 to 1 4 will be used to explain the parameter exploration method in detail. The parameter extraction unit 11 uses Utmost IV manufactured by Silvaco TM . The circuit simulation 12 uses the open-sourced ngspice or SmartSpice manufactured by Silvaco TM . For simplicity, Figure 7AThe netlist of the inverter circuit shown is taken as the object. Additionally, in this embodiment, it is assumed that 20 model parameters are extracted using classification model 13 and Utmost IV for explanation.

[0170] For example, Figure 11 A program code showing the netlist of the inverter circuit is presented. In Figure 11 it, for the purpose of explaining the program code, line numbers of the program are added at the beginning of each line for recording.

[0171] Figure 11 The netlist of the inverter circuit used in this embodiment is explained.

[0172] In the first line, the model parameter variable for parameter exploration is defined. The content set by the user is underlined for distinction. In this embodiment, the parameter for which the channel width W1 of the transistor becomes the best candidate is explored. In this embodiment, the variable param_w1 is adopted so that the channel width W1 can be changed during learning.

[0173] In the second line, the variable param_fname is adopted so that the file containing the model parameters can be selected. Regarding the variable param_fname, it will be explained in Figure 12 detail.

[0174] In the third or fourth line, the power supply voltage or signal applied to the inverter circuit is set.

[0175] In the fifth or sixth line, the semiconductor elements and connection information for the inverter circuit are set.

[0176] In the seventh or eighth line, the model of the semiconductor element used in the fifth or sixth line is set. In this embodiment, the semiconductor element is a transistor. As this transistor, an n-type transistor or a p-type transistor is set.

[0177] In the ninth or tenth line, the analysis conditions for the required characteristics of the inverter circuit are set.

[0178] In the ninth line, the average value of the current flowing through the power supply (required characteristic iavg) is set as the exploration object using transient analysis.

[0179] In the tenth line, the delay time of the signal (required characteristic tpd) is set as the exploration object using transient analysis.

[0180] In addition, a definition file of the model parameters used in this embodiment is described. As an example, the definition file level3-sample-01.lib is described. The model parameters used in this embodiment are set in the form of level3. Note that there are multiple different settings for the model parameters of transistors, such as level1 to level3. It is preferable for the user to use the model of the transistor at the required level. In this embodiment, the model parameters of general n-type transistors and p-type transistors are set. In addition, in this embodiment, the definition file includes at least the threshold voltage VTO. In this embodiment, the threshold voltage VTO is regarded as a model parameter variable.

[0181] Figure 12 Describe the user setting file used in this embodiment.

[0182] In the first line, it is declared to use the circuit simulator ngspice. In addition, the circuit simulator SmartSpice can also be used. TM 。

[0183] In the second line, set the reference netlist described in Figure 11 used by the circuit simulator ngspice.

[0184] In the third line, set the output destination of the second output result of the circuit simulator ngspice.

[0185] In the fourth line, supply the upper limit value and the lower limit value of the operable range supplied to the circuit simulator ngspice. In this embodiment, the lower limit value of the channel width is set to 1 μm and the upper limit value is set to 20 μm.

[0186] In the fifth line, set the file (for example, level3-sample-01.lib) that records the model parameters supplied to the circuit simulator ngspice. In this embodiment, parameter exploration is performed using the model parameters with 20 different threshold voltages VTO.

[0187] In the sixth and seventh lines, set the convergence conditions for the second output result output by the circuit simulator ngspice.

[0188] In the sixth line, use transient analysis to set the target value of the convergence condition for the average value of the current flowing through the power supply (required characteristic iavg).

[0189] In the seventh line, use transient analysis to set the target value of the convergence condition for the delay time of the signal (required characteristic tpd).

[0190] Figure 13A 、 Figure 13BShows the results of exploring model parameters for required characteristics relative to a netlist using the parameter exploration method of this embodiment. In the horizontal axis, when param_w1 is 1, it means the channel width w1 is 1 μm, and when param_w1 is 20, it means the channel width w1 is 20 μm. In the vertical axis, when the variable param_fname is 0, it means the threshold voltage VTO is 0.00 V, and when the variable param_fname is 19, it means the threshold voltage VTO is 0.95 V. In the circuit simulation using each parameter, the output is made in such a way that the plot is larger the closer it is to each required characteristic. The plot of the part of the parameter closest to the target value is the largest.

[0191] Figure 13A Shows the exploration results of parameters for the required characteristic iavg. It is confirmed that the smaller the channel width W1, the smaller the required characteristic iavg, and this parameter is suitable for low power consumption.

[0192] Figure 13B Shows the exploration results of parameters for the required characteristic tad. It is confirmed that the smaller the threshold voltage VTO or the smaller the required characteristic tad, the shorter the delay time. That is, model parameters suitable for shortening the delay time have been explored.

[0193] Figure 14A 、 Figure 14B Shows an example of assembling the GUI of this embodiment. The GUI100 can display a layout representation area 110, a circuit structure 120 generated from a netlist, a real-time representation 130 of parameter exploration results, and a simulation result 140 of a circuit simulator. In addition, the GUI100 includes a start button or a restart button (hereinafter, start button 150a) or a stop button 150b. Note that preferably, the content to be displayed can be selected by the user.

[0194] In Figure 14A Parameter exploration is started by the user supplying a netlist to the GUI or a user setting file and clicking the start button 150a. In this embodiment, the netlist supplied to the GUI is an inverter circuit. The maximum amplitude of the input signal supplied to the inverter circuit is set to 5 V. Therefore, the maximum amplitude of the output signal output by the inverter circuit is set to 5 V.

[0195] Each time parameter exploration is performed, the real-time representation 130 of parameter exploration results is updated. In this embodiment, as the real-time representation 130 of parameter exploration results, the channel width of PMOS, the channel width of NMOS, and the magnitude of the cumulative reward supplied to the exploration results are displayed.

[0196] The simulation result 140 of the circuit simulator shows the result of circuit simulation using the parameter exploration result. In this embodiment, DC analysis is performed using the circuit simulator. The voltage of the output signal being equal to 2.5V of the voltage of the input signal is set as the convergence condition. In addition, the convergence condition and the simulation result are shown as the simulation result 140. The reward is determined based on the difference between the convergence condition and the simulation result. The weight coefficient of the neural network is updated based on the reward.

[0197] Figure 14B An example is shown in which the simulation result of the circuit simulator reaches the convergence condition set by the user.

[0198] As described above, the structure shown in this embodiment can be used in appropriate combination with the structure shown in the embodiment.

[0199] [Symbol description]

[0200] : DS1: Measurement data, DS2: Measurement data, DS3: Process parameter, F1: Setting file, F2: Output data, S30: Step, S31: Step, S32: Step, S33: Step, S34: Step, S35: Step, S41: Step, S42: Step, S43: Step, S44: Step, S45: Step, S46: Step, S47: Step, S48: Step, S51: Step, S52: Step, S53: Step, S54: Step, S55: Step, S56: Step, S57: Step, S58: Step, S59: Step, S5A: Step, S5B: Step, SD1: Wiring, SD2: Wiring, 8A: Database, 8B: Remote computer, 8C: Remote computer, 10: Parameter exploration device, 11: Parameter extraction unit, 12: Circuit simulator, 13: Classification model, 14: Control unit, 15: Neural network, 21: Input layer, 21a: Unit, 21b: Unit, 22: Output layer, 22a: Unit, 22b: Unit, 22c: Unit, 22d: Unit, 23: Intermediate layer, 24: Hidden layer, 24a: Hidden layer, 24m: Hidden layer, 25: Hidden layer, 25a: Hidden layer, 25m: Hidden layer, 61: Transistor, 61A: Transistor, 62: Transistor, 63: Resistor, 64: Capacitor, 65: Wiring, 66: Wiring, 81: Arithmetic unit, 82: Memory, 83: Input / output interface, 84: Communication device, 85: Storage space, 86a: Display device, 86b: Keyboard, 87: Network interface, 100: GUI, 110: Layout representation area, 120: Circuit structure generated from netlist, 130: Real-time representation of parameter exploration result, 140: Simulation result, 150a: Start button, 150b: Stop button.

Claims

1. A parameter exploration method using a classification model, a neural network, a parameter extraction unit, a circuit simulator, and a control unit, comprising the following steps: The step of supplying a data set of semiconductor elements to the parameter extraction unit; The step in which the parameter extraction unit extracts model parameters of the semiconductor element; The step in which the circuit simulator performs simulation using a first netlist and the model parameters and outputs a first output result; The step in which the classification model learns the first output result, classifies the model parameters, and outputs first model parameters; The step in which the control unit supplies a second netlist and second model parameters to the circuit simulator; The step in which the control unit supplies first model parameter variables included in the second model parameters to the neural network; The step in which the neural network calculates a first action value function Q from the first model parameter variables; The step in which the control unit updates the first model parameter variables to second model parameter variables using the first action value function Q and outputs third model parameters; The step in which the circuit simulator performs simulation using the second netlist and the third model parameters and outputs a second output result; The step in which the control unit determines the second output result using a convergence condition supplied to the second netlist; And The step in which, when it is determined that the second output result does not satisfy the required characteristics of the second netlist, the control unit sets a reward and updates the weight coefficients of the neural network using the reward, wherein, when it is determined that the second output result does not satisfy the required characteristics of the second netlist, the first model parameter variables are determined as the best candidates for the second netlist.

2. A parameter exploration method using a classification model, a neural network, a parameter extraction unit, a circuit simulator, and a control unit, comprising: The step of supplying measurement data of semiconductor elements and a data set including process parameters to the parameter extraction unit; The step in which the parameter extraction unit extracts model parameters; The step in which the control unit supplies a first netlist to the circuit simulator; The step in which the circuit simulator outputs a first output result using the model parameters and the first netlist; The step in which the classification model classifies the model parameters by learning the model parameters and the first output result and outputs first model parameters; The step in which the control unit supplies a second netlist and second model parameters to the circuit simulator; The step in which the control unit supplies first model parameter variables included in the second model parameters to the neural network; The step in which the neural network calculates a first action value function Q from the first model parameter variables; The step in which the control unit updates the first model parameter variables to second model parameter variables using the first action value function Q and outputs third model parameters; The step in which the circuit simulator performs simulation using the second netlist and the third model parameters and outputs a second output result; The step in which the control unit determines the second output result using a convergence condition supplied to the second netlist; When determining that the second output result does not meet the required characteristics of the second netlist, the control unit sets a higher reward when the second output result is close to the convergence condition and sets a lower reward when the second output result is far from the convergence condition; The step in which the neural network calculates the second action value function Q using the second model parameter variation; and The step in which the neural network updates the weight coefficients of the neural network using the reward and the error calculated using the first action value function Q and the second action value function Q, wherein when it is determined that the second output result meets the required characteristics of the second netlist, the first model parameter variation is determined to be the best candidate for the second netlist.

3. The parameter exploration method according to claim 1 or 2, wherein the first netlist includes any one or more of an inverter circuit, a source follower circuit, and a source grounded circuit.

4. The parameter exploration method according to claim 1 or 2, wherein the number of the first model parameter variations is two or more.

5. The parameter exploration method according to claim 1 or 2, wherein the number of units in the output layer of the neural network is more than twice the number of the model parameter variations.

6. The parameter exploration method according to claim 1 or 2, wherein the first output result extracted using the first netlist includes any one or more of leakage current, output current, rise time of a signal, and fall time of a signal.

7. The parameter exploration method according to claim 1 or 2, wherein the semiconductor element for the first netlist is a transistor, and the transistor includes a metal oxide in a semiconductor layer.

Citation Information

Patent Citations

  • Parameter adjusting device

    JP2005038216A

  • Transition-based macro-models for analog simulation

    US20130006595A1