Parameter Search Device

A computer-assisted method using a classification model and reinforcement learning optimizes semiconductor circuit parameters, addressing user-dependent issues in existing methods by automating the selection process for improved accuracy and efficiency.

JP7738126B2Active Publication Date: 2025-09-11SEMICON ENERGY LAB CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024077860
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-04-02
Filing Date
2024-05-13
Publication Date
2025-09-11
Estimated Expiration
2040-02-04

AI Technical Summary

Technical Problem

Existing methods for determining optimal model parameters for semiconductor circuits are user-dependent and prone to overlooking better parameter sets, as they rely on manual evaluation of simulation results, which can vary based on circuit requirements such as power consumption, frequency, and stability, leading to inconsistent results.

Method used

A computer-assisted parameter search method using a classification model and reinforcement learning to classify and select model parameters that satisfy specific circuit characteristics, employing a neural network to optimize parameter selection through iterative simulation and reward-based learning.

Benefits of technology

Automates the selection of optimal model parameters for semiconductor circuits, ensuring they meet desired characteristics by leveraging machine learning and reinforcement learning to improve accuracy and efficiency in circuit simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007738126000003
    Figure 0007738126000003
  • Figure 0007738126000004
    Figure 0007738126000004
  • Figure 0007738126000005
    Figure 0007738126000005
Patent Text Reader

Abstract

To provide semiconductor device parameter candidates.SOLUTION: A parameter extraction unit is given measured data as data sets, and extracts a model parameter. A circuit simulator is given a first netlist, performs simulation using the first netlist and the model parameter, and outputs a first output result. A classification model learns the model parameter and the first output result, and classifies the model parameter. The circuit simulator is given a second netlist and the model parameter. A neural network is given a variable desired to be adjusted, outputs an action value function, and updates the variable. The circuit simulator performs simulation using the second netlist and the model parameter, and if a second output result output from the circuit simulator does not satisfy a condition, the circuit simulator updates the weighting factors of the neural network, whereas if the second output result satisfies the condition, the circuit simulator determines the variable as an optimum candidate.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One aspect of the present invention relates to a computer-assisted method for learning, classifying, selecting, or searching for semiconductor parameters.

[0002] Note that one embodiment of the present invention is not limited to the above-mentioned technical field. One example of the technical field of one embodiment of the present invention disclosed in this specification and the like is parameter search for chemical synthesis.

[0003] One aspect of the present invention relates to a computer. One aspect of the present invention relates to a parameter search method for a computerized netlist using a computer. One aspect of the present invention relates to a parameter classification method that extracts model parameters from a data set of a semiconductor device, trains a classification model on the collection of model parameters, and classifies the model parameters using the classification model. One aspect of the present invention relates to a parameter selection method that selects model parameters suitable for required characteristics of a target netlist using the parameter classification method. One aspect of the present invention relates to a parameter search method that uses reinforcement learning to search for optimal candidates for netlist variables to be provided to a circuit simulator that satisfy the required characteristics of the netlist. [Background technology]

[0004] To design a circuit, a user creates a netlist, which is circuit information. However, the required characteristics of the circuit information (hereafter referred to as the netlist) vary depending on the operating environment. To realize the required characteristics of the netlist, the user performs a simulation using a circuit simulator. The user updates the model parameters of the semiconductor elements included in the netlist and searches for optimal candidates for model parameters that satisfy the required characteristics of the netlist.

[0005] In order to perform a simulation using a circuit simulator, it is necessary to extract appropriate model parameters using measurement data and process parameters of the semiconductor device and provide the model parameters to the circuit simulator. In order for the user to select the optimal candidate model parameters that satisfy the required characteristics of the netlist, it is necessary to perform a circuit simulation using the circuit simulator every time the model parameters are updated. Therefore, in order to search for the optimal candidate model parameters, it is necessary for the user to evaluate the simulation results of the circuit simulator every time they perform a simulation.

[0006] In recent years, it has become known to use a genetic algorithm to adjust the parameters of a physical model of a transistor. Patent Document 1 discloses a parameter adjustment device that uses a genetic algorithm to adjust the parameters of a physical model of a transistor. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2005-038216 Summary of the Invention [Problem to be solved by the invention]

[0008] When handling model parameters of multiple semiconductor elements included in a netlist, a problem arises in that the user must determine whether the model parameters satisfy the required characteristics of the netlist.

[0009] For example, if a netlist includes multiple semiconductor elements, the model parameters of the semiconductor elements that satisfy the required characteristics of the netlist may not be limited to one, but may exist in multiple cases. When a user evaluates the simulation results, the user may extract a parameter that satisfies the required characteristics and determine it to be the optimal value. In other words, the user may overlook the existence of a different model parameter that may more effectively satisfy the required characteristics. Therefore, the evaluation of the simulation results of a circuit simulator is subject to the user's experience.

[0010] Furthermore, even for the same netlist, the required characteristics of the netlist may differ. For example, there are circuits that aim for low power consumption, circuits that prioritize operating frequency, and circuits that operate stably in a specified frequency band. There is a problem in that the required characteristics of the netlist cannot be met if the model parameters are fixed.

[0011] In view of the above problems, an object of one embodiment of the present invention is to provide a parameter search method for a computerized netlist using a computer.Another object of one embodiment of the present invention is to provide a parameter classification method that extracts model parameters from a data set of a semiconductor element, trains a classification model on a collection of model parameters, and classifies the model parameters using the classification model.Another object of one embodiment of the present invention is to provide a parameter selection method that selects model parameters suitable for required characteristics of a target netlist using the parameter classification method.

[0012] An object of one embodiment of the present invention is to provide a parameter search method that uses reinforcement learning to search for optimal candidates for variables of a netlist to be provided to a circuit simulator so that the variables satisfy required characteristics of the netlist.

[0013] Note that the description of these problems does not preclude the existence of other problems. Note that one embodiment of the present invention does not necessarily solve all of these problems. Note that problems other than these will become apparent from the description of the specification, drawings, claims, etc., and it is possible to extract other problems from the description of the specification, drawings, claims, etc. [Means for solving the problem]

[0014] One aspect of the present invention is a parameter search method using a classification model, a neural network, a parameter extraction unit, a circuit simulator, and a control unit. The method includes a step of providing a data set of a semiconductor device to the parameter extraction unit. The parameter extraction unit extracts model parameters of the semiconductor device. The circuit simulator performs a simulation using a first netlist and model parameters and outputs a first output result. The classification model learns the first output result, classifies the model parameters, and outputs the first model parameters. The control unit provides the circuit simulator with a second netlist and second model parameters. The control unit provides the neural network with a first model parameter variable included in the second model parameter. The neural network calculates a first action-value function Q from the first model parameter variable. The control unit updates the first model parameter variable to a second model parameter variable using the first action-value function Q, and outputs a third model parameter. The method includes a step in which a circuit simulator performs a simulation using the second netlist and third model parameters and outputs a second output result. The method also includes a step in which a control unit determines the second output result using a convergence condition set for the second netlist. The method also includes a step in which the control unit determines the second output result and, if the second output result does not satisfy the required characteristics of the second netlist, sets a reward and updates the weight coefficients of the neural network using the reward. The method also includes a step in which the second output result is determined and, if the required characteristics of the second netlist are satisfied, determines that the first model parameter variable is an optimal candidate for the second netlist.

[0015] One aspect of the present invention is a parameter search method using a classification model, a neural network, a parameter extraction unit, a circuit simulator, and a control unit. The method includes a step of providing measurement data of a semiconductor device and a dataset including process parameters to the parameter extraction unit. The parameter extraction unit includes a step of extracting model parameters. The control unit includes a step of providing a first netlist to the circuit simulator. The circuit simulator includes a step of outputting a first output result using the model parameters and the first netlist. The classification model includes a step of classifying the model parameters by learning the model parameters and the first output result, and outputting the first model parameters. The control unit includes a step of providing a second netlist and second model parameters to the circuit simulator. The control unit includes a step of providing a first model parameter variable included in the second model parameter to the neural network. The neural network includes a step of calculating a first action-value function Q from the first model parameter variable. The method includes a step in which a control unit updates a first model parameter variable to a second model parameter variable using a first action value function Q and outputs a third model parameter. The method includes a step in which a circuit simulator performs a simulation using a second netlist and the third model parameters and outputs a second output result. The method includes a step in which a control unit determines a second output result using a convergence condition given to the second netlist. The method includes a step in which the second output result is determined, and if the second output result does not satisfy the required characteristics of the second netlist, the control unit sets a high reward if the second output result approaches the convergence condition and sets a low reward if the second output result deviates from the convergence condition. The method includes a step in which a neural network calculates a second action value function Q using the second model parameter variable. The method includes a step in which the neural network updates weight coefficients of the neural network using the reward and an error calculated using the first action value function Q and the second action value function Q.The second output result is determined, and if it satisfies the required characteristics of the second netlist, it can be determined that the first model parameter variable is the best candidate for the second netlist.

[0016] In the above configuration, the first netlist preferably includes one or more of an inverter circuit, a source follower circuit, and a common-source circuit.

[0017] In the above configuration, it is preferable that the number of first model parameter variables is two or more.

[0018] In the above configuration, it is preferable that the number of units in the output layer of the neural network is at least twice the number of model parameter variables.

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

[0020] In the above configuration, the parameter search method is preferably such that the semiconductor element used in the first netlist is a transistor, and the transistor has a metal oxide in the semiconductor layer. [Effects of the Invention]

[0021] One aspect of the present invention can provide a parameter search method for a computerized netlist using a computer. Alternatively, one aspect of the present invention can provide a parameter classification method that extracts model parameters from a data set of a semiconductor device, trains a classification model on the collection of model parameters, and classifies the model parameters using the classification model. Alternatively, one aspect of the present invention can provide a parameter selection method that selects model parameters suitable for the required characteristics of a target netlist using the parameter classification method. Alternatively, one aspect of the present invention can provide a parameter search system that uses reinforcement learning to search for optimal candidates for netlist variables to be provided to a circuit simulator so that they satisfy the required characteristics of the netlist.

[0022] The effects of one embodiment of the present invention are not limited to the effects listed above. The effects listed above do not preclude the existence of other effects. The other effects are described below and are not mentioned in this section. Effects not mentioned in this section can be derived by a person skilled in the art from the description in the specification or drawings, etc., and can be extracted as appropriate from these descriptions. One embodiment of the present invention has at least one of the effects listed above and / or other effects. Therefore, one embodiment of the present invention may not have the effects listed above in some cases. [Brief explanation of the drawings]

[0023] [Figure 1] FIG. 1 is a block diagram illustrating a parameter search method. [Figure 2] FIG. 2 is a diagram illustrating the data set. [Figure 3] FIG. 3 is a flowchart illustrating the parameter search method. [Figure 4] FIG. 4 is a flowchart illustrating the parameter search method. [Figure 5] FIG. 5 is a flowchart illustrating the parameter search method. [Figure 6]FIG. 6 is a flowchart illustrating the parameter search method. [Figure 7] 7A to 7D are diagrams for explaining the evaluation netlist. [Figure 8] FIG. 8 is a schematic diagram illustrating a neural network. [Figure 9] FIG. 9 is a flowchart illustrating a neural network. [Figure 10] FIG. 10 is a block diagram illustrating a parameter search device having a parameter search method. [Figure 11] FIG. 11 is a diagram for explaining a netlist describing an inverter circuit. [Figure 12] FIG. 12 is a diagram for explaining the user setting file. [Figure 13] 13A and 13B are diagrams for explaining the search results of the model parameters. [Figure 14] 14A and 14B are diagrams for explaining a Graphical User Interface (GUI). DETAILED DESCRIPTION OF THE INVENTION

[0024] The embodiments will be described in detail with reference to the drawings. However, the present invention is not limited to the following description, and it will be readily understood by those skilled in the art that various changes can be made in the form and details without departing from the spirit and scope of the present invention. Therefore, the present invention should not be interpreted as being limited to the description of the embodiments shown below.

[0025] In the configuration of the invention described below, the same parts or parts having similar functions are denoted by the same reference numerals in different drawings, and repeated explanations thereof will be omitted. In addition, when referring to similar functions, the same hatch pattern may be used and no particular reference numeral may be assigned.

[0026] Furthermore, for ease of understanding, the position, size, range, etc. of each component shown in the drawings may not represent the actual position, size, range, etc. Therefore, the disclosed invention is not necessarily limited to the position, size, range, etc. disclosed in the drawings.

[0027] (Embodiment) In one embodiment of the present invention, a parameter search method will be described with reference to FIGS.

[0028] The parameter search method is controlled by a program running on a computer. Therefore, the computer can be rephrased as a parameter search device equipped with the parameter search method. The parameter search device will be described in detail with reference to FIG. 10. The program is stored in a memory or storage device of the computer. Alternatively, the program is stored in a computer connected via a network (such as a local area network (LAN), a wide area network (WAN), or the Internet) or in a server computer having a database.

[0029] The parameter search method can search for optimal parameter candidates using machine learning or reinforcement learning. It is preferable to use artificial intelligence (AI) for part of the machine learning or reinforcement learning process. The parameter search method can particularly use an artificial neural network (ANN, hereinafter simply referred to as a neural network) to generate output data. The arithmetic processing of the neural network is realized by a circuit (hardware) or a program (software).

[0030] A neural network is a general term for a model that determines the connection strength between neurons through learning and has problem-solving capabilities. A neural network has an input layer, an intermediate layer (which may include multiple hidden layers), and an output layer. When discussing neural networks, determining the connection strength (also called weight coefficients) between neurons from existing information is sometimes called "learning."

[0031] First, a method for generating a classification model for machine learning will be described. The classification model is generated by learning model parameters of semiconductor elements. The classification model classifies the model parameters. The model parameters are extracted by providing a data set (including measurement data or process parameters) of the semiconductor element to a parameter extraction unit. However, there are cases where the model parameters of the semiconductor element alone are insufficient to perform classification appropriate for the required characteristics of the netlist.

[0032] In one embodiment of the present invention, further analysis is performed on the model parameters. To analyze the model parameters, a simulation is performed using a circuit simulator using the model parameters and an evaluation netlist to which the model parameters are assigned. In the simulation, DC analysis, AC analysis, transient analysis, or the like is performed using the evaluation netlist. The simulation results include one or more of the leakage current, output current, signal rise time, signal fall time, and the like in the evaluation netlist.

[0033] Therefore, in one aspect of the present invention, the model parameters and the results of a simulation using the evaluation netlist can be referred to as training content. A method in which a classification model uses training content to learn is called a parameter learning method. The classification model can facilitate classification into circuits that prioritize low power consumption, circuits that prioritize operating frequency, or circuits that operate stably in a specified frequency band, which cannot be performed sufficiently by a parameter extraction unit alone. Note that, for ease of explanation, the low power consumption, operating frequency, or stability in a frequency band required of a circuit may be referred to as required characteristics.

[0034] For example, when a user requests a classification model for model parameters suitable for a circuit that prioritizes low power consumption, the classification model can present multiple candidates from among previously trained model parameters. Furthermore, the classification model can present multiple candidates from among trained model parameters within an arbitrarily specified range. Furthermore, when new model parameters are provided to the classification model, the classification model can present the suitability of the new model parameters, indicating the suitability of each model parameter for each required characteristic, in terms of probability. This allows the user to obtain information for determining how well the new model parameters are suited to each required characteristic.

[0035] In other words, the classification model can provide a parameter selection method that can select model parameters that are suitable for the required characteristics from among the model parameters that have already been trained. Note that the required characteristics may also be added to the training content.

[0036] The classification model described above can be a machine learning algorithm such as a decision tree, Naive Bayes, K Nearest Neighbor (KNN), Support Vector Machine (SVM), Perceptron, logistic regression, or neural network, which is characterized by class classification.

[0037] Alternatively, a different classification model may be generated. For example, a classification model that performs clustering using the model parameters and the results of a simulation using an evaluation netlist can be generated. For clustering, a machine learning algorithm such as K-means or density-based spatial clustering of applications with noise (BSCAN) can be used.

[0038] The classification model can select training content by random sampling or cross-variation, or by selecting any number of training content items according to the sorting order of the numbers assigned to the training content items. The training content items correspond to a data set of semiconductor devices.

[0039] The generated classification model can be stored in the electronic device itself or in external memory, and can be called up and used when classifying new files.Furthermore, the classification model can be updated according to the method described above while adding new learning content.

[0040] Next, a neural network that performs reinforcement learning will be described. In one embodiment of the present invention, Q-learning, the Monte Carlo method, or the like can be used. In one embodiment of the present invention, an example using Q-learning will be described.

[0041] First, we will explain Q-learning. Q-learning is a method of learning a certain environment (variables s t ) under which the agent takes action a t The agent is the entity that acts, and the variable s t indicates the target of the action. t By this, an environment can be t to variable s t+1 and the agent receives a reward r t+1In Q-learning, the total amount of rewards received is maximized by taking action a t Learn the variable s t Action in a t The value of this is expressed as the action value function Q(s t ,a t ) For example, the action value function Q(s t ,a t ) can be expressed as equation (1). In one aspect of the present invention, the agent corresponds to the control unit, and a certain environment is a variable s given to the input layer of the neural network. t corresponds to action a t is the action value function Q(s t ,a t ) is determined by

[0042]

number

[0043] Here, α is the learning rate (α is greater than 0 and less than or equal to 1), and γ is 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 results obtained from an action. The closer the learning rate α is to 1, the more importance is placed on the results obtained and the greater the change in value. The closer the learning rate α is to 0, the more importance is placed on the current value 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 importance is placed on the current reward. The closer the discount rate γ is to 1, the more importance is placed on the future reward. For example, the learning rate α can be set to 0.10 and the discount rate γ to 0.90.

[0044] Generally, in Q-learning, the action value function Q(s t ,a t ) state s t and Action a tThe combination of these is stored in advance as a look-up table (LUT). In one aspect of the present invention, the look-up table can be rephrased as an action table. The action value function Q(s t ,a t ) is the number of units given to the neural network by the variable s t It is preferable that the variable s is at least twice the number of units given. t and Action a t It is preferable to determine the actions for each combination in an action table. Q-learning is based on the action value function Q(s t ,a t ) is the maximum value of the action value function Qmax1 at time t. t ,a t ) is the maximum value of state s t and Action a t means a combination of

[0045]

number

[0046] In Q-learning, the error E can be expressed as equation (2): t+1 The term is the reward obtained by learning at time t. maxQ(s t+1 , a) is the variable s according to the action determined by the correct label. t is updated and corresponds to the action value function Qmax2 calculated again by the neural network. t+1 , a) is maxQ(s t+1 , a t+1 ) can also be used. t , a t ) term corresponds to the action value function Qmax1.

[0047] The loss function L is calculated from the error E. Squared error can be used as a method for calculating the loss function L. Stochastic gradient descent (SGD) can be used to update the weight coefficients of the neural network so 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. In other words, the weight coefficients of the neural network are updated according to the loss function L.

[0048] Variable s t is the variable s t+1 and calculations are performed again on the neural network 15. In Q-learning, repeated learning is performed so that the loss function L becomes as small as possible.

[0049] Next, the parameter search method will be described with reference to Fig. 1. Note that, hereinafter, the parameter search method may be referred to as a parameter search device 10 in some cases.

[0050] The parameter search 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. A data set of a semiconductor device and a setting file F1 are provided to the parameter search device 10, and the parameter search 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 running on a computer.

[0051] The data set of the semiconductor device, the setting file F1, and the output data F2 are preferably stored in a memory or storage of the computer. Alternatively, the data set of the semiconductor device may be stored in a computer connected via a network, a server computer having a database, or a memory or storage of the measuring instrument.

[0052] Furthermore, in the parameter search by the parameter search device 10, the computer on which the control unit 14 runs may be different from the computer (including a server computer) on which the parameter extraction unit 11, the circuit simulator 12, or the classification model 13 runs.

[0053] Measurement data or process parameters of the semiconductor device are provided to the parameter extraction unit 11 as a data set. The parameter extraction unit 11 can load a data set instructed by the control unit 14. Alternatively, when the parameter extraction unit 11 detects a new data set in the memory or storage on 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.

[0054] An evaluation netlist is provided to the circuit simulator 12 from the control unit 14. The evaluation netlist will be described in detail with reference to FIG.

[0055] The circuit simulator 12 performs a simulation using the evaluation netlist and the model parameters, and outputs the simulation result as a first output result. The simulation performs DC analysis, AC analysis, transient analysis, or the like. Therefore, the first output result includes at least one or more of the leakage current, output current, signal rise time, signal fall time, etc., in the evaluation netlist. The classification model 13 learns the model parameters and the first output result and can classify the model parameters. Note that if there are multiple evaluation netlists, the evaluation netlists are updated sequentially, and the circuit simulator 12 outputs the first output result using the multiple evaluation netlists.

[0056] The control unit 14 provides the circuit simulator 12 with a netlist and model parameters classified as suitable for the required characteristics of the netlist. The netlist is circuit information for determining model parameters suitable for the required characteristics. The netlist is composed of multiple semiconductor elements. However, in one aspect of the present invention, model parameters to be adjusted from the semiconductor elements included in the netlist can be selected as model parameter variables.

[0057] The circuit simulator is initialized by the control unit 14. The initialization information is provided to the control unit 14 by a setting file F1. The setting file F1 contains information such as the magnitude of the power supply voltage required for the simulation, maximum and minimum values ​​of model parameters, and process parameters. The initialization information may also be provided by the user through a keyboard, mouse, or voice via a microphone.

[0058] The neural network 15 is given model parameter variables from the control unit 14. The model parameter variables are model parameters of a semiconductor device for which optimal candidates are to be searched for by the neural network 15. The neural network 15 converts the given model parameter variables into variables s at time t. tThe neural network 15 is given to the input layer as t From the action value function Q(s t ,a t ) The control unit 14 outputs the action value function Q(s t ,a t ) and updates the model parameter variables. The circuit simulator 12 performs a simulation using the netlist and the model parameters including the updated model parameter variables. The circuit simulator 12 outputs a second output result.

[0059] The control unit 14 judges the second output result. If 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 further calculates a loss function. In the neural network 15, the weighting coefficients of the neural network 15 are updated by the loss function. Note that, if the second output result satisfies the required characteristics of the netlist, the model parameter variables are judged to be optimal candidates for the netlist. Note that, it is preferable that the optimal candidates for the model parameter variables are output as a list in the output data F2.

[0060] Unlike the above-described method, the circuit simulator 12 may be provided with a netlist and model parameters from the control unit 14. In this case, the model parameters do not necessarily have to satisfy the required characteristics of the netlist. However, if the second output result does not satisfy the required characteristics of the netlist, the weight coefficients of the neural network are updated using a loss function. Furthermore, the circuit simulator 12 updates the model parameters to any one of the model parameters classified by the classification model as satisfying the required characteristics of the second netlist. The circuit simulator 12 searches for optimal candidate parameters using a wider range of model parameters.

[0061] 2 is a diagram illustrating a data set for a semiconductor element. The data set includes measurement data DS1, measurement data DS2, or process parameters DS3 for the semiconductor element. As an example, the semiconductor element may be a transistor, a resistor, a capacitor, or a diode. Note that the semiconductor element may be configured by combining transistors, resistors, capacitors, diodes, etc.

[0062] Figure 2 explains the case where the semiconductor element is a transistor. The measurement data DS1 shows the case where different fixed voltages are applied to the source and drain of the transistor, and the voltage applied to the transistor gate is swept. Therefore, the measurement data DS1 is measurement data in which the horizontal axis represents the gate voltage VG of the transistor and the vertical axis represents the drain current ID flowing through the transistor drain. Note that although the measurement data DS1 is shown as a graph in Figure 2, this is to make the measurement data easier to understand; in the data set, the data is recorded as numbers.

[0063] The measurement data DS2 shows the case where different fixed voltages are applied to the source and gate of a transistor, and the voltage applied to the transistor drain is swept. Therefore, the measurement data DS2 is measurement data in which the horizontal axis represents the drain voltage VD of the transistor and the vertical axis represents the drain current ID flowing through the transistor drain. Note that while the measurement data DS2 is shown as a graph in Figure 2, this is to make the measurement data easier to understand; in the data set, the data is recorded as numbers.

[0064] Preferably, the measurement data DS1 or the measurement data DS2 includes a plurality of measurement data measured under different conditions. For example, in the measurement data DS1, a different fixed voltage is preferably applied as the drain voltage VD of the transistor. Also, in the measurement data DS2, a different fixed voltage is preferably applied as the gate voltage VG of the transistor.

[0065] The process parameters DS3 are process parameters of the semiconductor device, such as 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.

[0066] 3 to 6 are flowcharts illustrating a parameter search method. The parameter search method includes a first process and a second process. The first process involves extracting model parameters of the semiconductor device by the parameter extraction unit 11 and learning the model parameters by the classification model 13. The second process involves using Q-learning to search for optimal candidates for model parameter variables of the semiconductor device included in the netlist, using the model parameters selected by the classification model.

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

[0068] Step S30 is a step in which the control unit 14 initializes the parameter extraction unit 11. Common items of the measurement data to be loaded are provided to the parameter extraction unit 11. Specifically, the parameter extraction unit 11 is provided with the voltages applied to the source, drain, or gate of the transistor, process parameters, etc.

[0069] Step S31 is a step in which a data set including measurement data and process parameters of the semiconductor device is loaded into the parameter extraction unit.

[0070] Step S32 is a step in which the parameter extraction unit 11 extracts model parameters. As an example, the model parameters of a transistor include physical parameters such as channel length, threshold voltage relative to channel width, oxide film thickness, drain resistance, source resistance, junction capacitance, noise index, mobility, or channel length modulation, and the measurement data is expressed by a function. Note that it is preferable that the items managed by the model parameters can be set by the user.

[0071] Step S33 includes a step in which the control unit 14 provides the circuit simulator 12 with an evaluation netlist, and the circuit simulator is provided with model parameters from the parameter extraction unit 11. Furthermore, the circuit simulator 12 performs a simulation using the evaluation netlist. The circuit simulator 12 outputs the simulation result as a first output result.

[0072] The evaluation netlist is not limited to one, and may be multiple types of evaluation netlists. For example, the evaluation netlist may include an inverter circuit, a source follower circuit, a common-source circuit, a charge pump circuit, a ring oscillator circuit, a current mirror circuit, or an amplifier circuit. From the evaluation netlist described above, a first output result according to the characteristics of the circuit can be obtained.

[0073] For example, an inverter circuit may provide a leakage current, an output current, a rise time, or a fall time as a first output result. For example, a source follower circuit may provide an output current as a first output result. A common-source circuit may provide a leakage current, a sink current, or the like as a first output result. Furthermore, a charge pump circuit, a ring oscillator circuit, a current mirror circuit, an amplifier circuit, or the like may be used as an evaluation netlist. A charge pump circuit, a ring oscillator circuit, a current mirror circuit, an amplifier circuit, or the like has a circuit configuration that combines an inverter circuit, a source follower circuit, or a common-source circuit, and can provide a first output result having characteristics similar to the required characteristics of a netlist for which model parameters are to be verified.

[0074] As an example, an inverter circuit used in the evaluation netlist will be described in detail. The inverter circuit may be configured using p-type transistors and n-type transistors, or may be configured using only p-type transistors or only n-type transistors. For example, if the inverter circuit is configured using only n-type transistors, it is preferable that the semiconductor layer of the n-type transistor contains a metal oxide. Alternatively, a different inverter circuit may be configured such that the semiconductor layer of the n-type transistor contains a metal oxide and the semiconductor layer of the p-type transistor contains silicon.

[0075] Step S34 is a step in which the model parameters and the first output result are provided to the classification model 13, so that the classification model learns. The classification model learns the model parameters and the first output result, so that the classification model can classify the model parameters.

[0076] Step S35 is a step in which the control unit 14 determines whether learning of the data sets has been completed for the classification model 13. If the control unit 14 determines that learning of all data sets has been completed for the classification model 13, the control unit 14 proceeds to step S41, and if the control unit 14 determines that there are still unlearned data sets, the control unit 14 returns to step S31 and continues learning of the classification model.

[0077] 4 to 6 are flowcharts illustrating the second process. In the second process of the parameter search method, parameters are searched for using Q-learning. Note that, in order to perform Q-learning, it is necessary to initialize the circuit simulator 12 and the neural network 15. In FIG. 4, the initialization for performing Q-learning is explained using a flowchart.

[0078] Step S41 is a step of initializing the neural network 15. The neural network 15 can be initialized by assigning random numbers to the weighting coefficients of the neural network 15. Alternatively, the neural network 15 may be loaded with weighting coefficients used in previous learning.

[0079] Step S42 is a step of providing a netlist to the circuit simulator 12. Note that this netlist is a netlist that the user uses to search for model parameters.

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

[0081] Step S44 is to set the model parameter variable pt to the variable s of the neural network 15. t This is the step of setting it as follows.

[0082] Step S45 is to calculate the action value function Q(s t ,a t ) is the step of setting the action table. t ,a t ) has multiple outputs corresponding to the number of units in the output layer of the neural network 15. Therefore, the action table is t ,a t ) is preferably set to an action corresponding to the output of the

[0083] As an example, let L denote the channel length of a transistor, W denote the channel width, and let s be the model parameter variable. t Let us consider the case where (L, W) is given. The model parameter variables are the variables s t In the case of (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 at least twice the number of input units. Therefore, the action value function Q is expressed as the action value function Q(s t ,a t= It can be represented by four outputs (a1 to a4).

[0084] Action value function Q(s t ,a t= A different action is set for each of a1 to a4). t ,a t= For a1 to a4), the channel length L can be increased as an action a1, the channel length L can be decreased as an action a2, the channel width W can be increased as an action a3, and the channel width W can be decreased as an action a4. In the following description, a certain variable s t The action value function Q(s t ,a t ) is set as the action value function Qmax1, and the action linked to the action value function Qmax1 is executed. t ,a t ) has four or more outputs, more detailed action settings are possible.

[0085] It is also preferable that the user be able to set a range in which an action can be taken. As an example, the channel length L, which is one of the model parameter variables, will be described. The range in which the channel length L can be taken is determined by the specifications of the manufacturing equipment. As an example, if the channel length L is set to 10 nm or more and 1 μm or less, continued actions to reduce the channel length L may result in the channel length L falling below the lower limit of 10 nm. For example, if the channel length L falls below the lower limit of 10 nm, the channel length L can be fixed at the lower limit of 10 nm. Alternatively, if the channel length L falls below the lower limit of 10 nm, the channel length L can be set to the maximum value of 1 μm or less.

[0086] In step S46, a reward for Q-learning is set. The reward is given when the second output result does not satisfy the convergence condition. A high reward is given when the second output result approaches the convergence condition, and a low reward is given when the second output result deviates from the convergence condition. The magnitude of the reward may be set to a fixed value according to the distance to the convergence condition, or may be set by the user.

[0087] Step S47 is a step for setting the convergence conditions for Q-learning.

[0088] Step S48 is to calculate the variable s given to the neural network 15. t This is the step of calculating the action value function Qmax1 from: Then, the process proceeds to step S51 in FIG.

[0089] FIG. 5 is a flowchart illustrating reinforcement learning using Q-learning.

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

[0091] Step S52 is to calculate the variable s by the action corresponding to the action value function Qmax1. t variable s t+1 This is the step where the variable s t+1 is given to the neural network 15.

[0092] Step S53 converts the model parameter variable pt of the netlist into the variable s t+1 This is the step where the data is updated.

[0093] In step S54, the circuit simulator 12 performs a simulation using the netlist and the model parameters with the model parameter variable pt updated. The circuit simulator 12 outputs the second output result as the simulation result.

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

[0095] In step S56, if the control unit 14 determines that the second output result satisfies the convergence condition set for the netlist, reinforcement learning using the neural network 15 is terminated. Therefore, in this case, the second output result is one of the optimal candidates that meet the requirements of the netlist. Note that, as a method for further searching for optimal candidates for parameter variables that meet the requirements of the netlist, learning may be continued without terminating the loop even if the convergence condition is met. In this case, it is possible to focus on searching for conditions that are close to the convergence condition. Alternatively, the process may proceed to step S41, where the neural network 15 is initialized with different random numbers and reinforcement learning is performed. Alternatively, the process may proceed to step S41, where reinforcement learning is performed using different model parameters.

[0096] Step S57 is a step of determining a reward for Q-learning. For example, if the second output result is determined and does not satisfy the required characteristics of the second netlist, the control unit may set a high reward if the second output result approaches the convergence condition, and set a low reward if the second output result deviates from the convergence condition.

[0097] Step S58 is to calculate the variable s given to the neural network 15. t+1 This is the step of calculating the action value function Qmax2 using the variable s t+1 The action value function Q(s t+1 ,a t+1= a 1~4 ) corresponds to the maximum value of

[0098] Step S59 is a step of updating the weighting coefficients of the neural network 15. The weighting coefficients are updated according to a loss function calculated by the action value function Qmax1, the action value function Qmax2, and the error E calculated using the reward.

[0099] Step S5A is to calculate the variable s given to the neural network 15. t+1 5, where an action corresponding to the action value function Qmax1, which is the output of the neural network 15, is determined.

[0100] Figure 6 is a flowchart illustrating reinforcement learning using Q-learning, which is different from Figure 5. In Figure 6, differences from Figure 5 are explained, and in the configuration of the invention (or the configuration of the embodiment), the same parts or parts having similar functions are denoted by the same reference numerals in different drawings, and repeated explanations thereof will be omitted.

[0101] In Figure 6, the variable s t variable s t+1 After updating the model parameters of the circuit simulator 12 (step S52), the process includes step S5B of updating the model parameters of the circuit simulator 12. For example, if the model parameter variable exceeds the range in which the action can be taken due to the action of step S51, the model parameters are updated. However, it is preferable that the model parameters are within the range classified by the classification model 13 and classified as suitable for the required characteristics of the netlist. By updating the model parameters, the Q-learning can perform a parameter search in a wider range.

[0102] As described above, in a parameter search method according to one aspect of the present invention, multiple model parameter variables can be selected from the model parameters of multiple semiconductor elements included in a netlist, and optimal candidates for model parameter variables suitable for the required characteristics of the netlist can be searched for.

[0103] Furthermore, in the parameter search method, the classification model learns the model parameters extracted from the parameter extraction unit and the first output result from the circuit simulator using the evaluation netlist, thereby being able to classify model parameters suitable for the required characteristics of the netlist.

[0104] The classification model allows for efficient Q-learning because it can select model parameters that are appropriate for the required characteristics of the netlist. For example, the classification model can be applied when considering optimal process conditions based on process parameter conditions. The classification model can also be applied to extract model parameters that correspond to the required characteristics of the netlist.

[0105] 7A to 7D are circuit diagrams illustrating an evaluation netlist. The evaluation netlist has a capacitance 64 as an output load at the output stage of the circuit. Therefore, it can be determined whether the output signal from the evaluation netlist satisfies the required characteristics of the evaluation netlist by the voltage generated by charging and discharging the capacitance 64.

[0106] 7A 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.

[0107] One of the source and the drain of the transistor 61 is electrically connected to a wiring 65. The other of the source and the drain of the transistor 61 is electrically connected to one of the source and the drain of the transistor 62 and one electrode of the capacitor 64. The other of the source and the drain of the transistor 62 is electrically connected to a 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 a wiring SD1. The gate of the transistor 62 is electrically connected to a wiring SD2.

[0108] The signal supplied to the wiring SD1 is the same as the signal supplied to the wiring SD2. Therefore, the transistor 61 switches between on and off states in a complementary manner to the transistor 62. When the transistor 61 changes from an off state to an on state, the transistor 62 changes from an on state to an off state.

[0109] The leakage current of an inverter circuit can be estimated by performing DC analysis using a circuit simulator, and 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 transient analysis using a circuit simulator.

[0110] The transistor 61 or the transistor 62 preferably contains silicon in a semiconductor layer of the transistor, but the transistor 62 may contain metal oxide in a semiconductor layer of the transistor.

[0111] Fig. 7B is a circuit diagram illustrating an inverter circuit different from Fig. 7A. In Fig. 7B, differences from Fig. 7A are explained, and the same reference numerals are used in common between different drawings for the same parts or parts having similar functions in the configuration of the invention (or the configuration of the embodiment), and repeated explanations thereof will be omitted.

[0112] In the inverter circuit shown in FIG. 7B, the transistor 61A and the transistor 62 are n-type transistors.

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

[0114] The transistor 61A and the transistor 62 preferably include silicon in their semiconductor layers, or the transistor 61A and the transistor 62 may include metal oxide in their semiconductor layers.

[0115] FIG. 7C is a circuit diagram illustrating a source follower circuit. The source follower circuit has a transistor 61, a resistor 63, a wiring 65, a wiring 66, and a wiring SD1. In the source follower circuit of FIG. 7C, the transistor 61 is an n-type transistor. The source follower circuit may function as a buffer circuit (current amplifier circuit). The resistor 63 may be a transistor or a diode as an active load.

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

[0117] The signal applied to the wiring SD1 can switch the transistor 61 between an on state (strong inversion region) and an off state (weak inversion region). When the transistor 61 is turned on by the signal applied to the wiring SD1, the output potential applied to the capacitor 64 becomes a potential that is lower than the potential of the signal applied to the wiring SD1 by the threshold voltage of the transistor 61.

[0118] For the source follower circuit, the bias current of the source follower circuit and the threshold voltage of the transistor 61 can be estimated by performing DC analysis using a circuit simulator. Also, for the source follower circuit, the frequency characteristics of the source follower circuit can be estimated by performing AC analysis using a circuit simulator. Also, for the source follower circuit, the magnitude of change in the bias current flowing through the source follower circuit or the rise time and fall time of the output signal can be estimated by performing transient analysis using a circuit simulator.

[0119] The transistor 61 preferably contains silicon in its semiconductor layer. However, the transistor 61 may contain metal oxide in its semiconductor layer. The transistor 61 may be a p-type transistor. By inverting the power supply voltages applied to the wiring 65 and the wiring 66, a source follower circuit can be configured using p-type transistors.

[0120] 7D is a circuit diagram illustrating a common-source circuit. The common-source circuit includes a transistor 61, a resistor 63, a wiring 65, a wiring 66, and a wiring SD1. In the common-source circuit of FIG. 7D, the transistor 61 is an n-type transistor.

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

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

[0123] For the common-source circuit, the bias current of the common-source circuit and the value of the sink current during amplification of the transistor 61 can be estimated by performing DC analysis using a circuit simulator. Furthermore, the frequency characteristics of the common-source circuit can be estimated by performing AC analysis using a circuit simulator. Furthermore, the magnitude of change in the bias current flowing through the common-source circuit, the amplification factor for the input signal, and the threshold voltage variation of the transistor 61 can be estimated by performing transient analysis using a circuit simulator.

[0124] The transistor 61 preferably contains silicon in its semiconductor layer. However, the transistor 61 may contain metal oxide in its semiconductor layer. The transistor 61 may be a p-type transistor. By inverting the power supply voltages applied to the wiring 65 and the wiring 66, a common-source circuit can be configured using p-type transistors.

[0125] The analysis results obtained from the evaluation netlists shown in Figures 7A to 7D correspond to the first result described above. The evaluation netlists are not limited to those shown in Figures 7A to 7D. Charge pump circuits, ring oscillator circuits, current mirror circuits, amplifier circuits, etc. have circuit configurations that combine inverter circuits, source follower circuits, or common-source circuits, and can obtain first output results that are close to the netlist to be actually verified.

[0126] FIG. 8 is a schematic diagram illustrating a neural network 15 in Q-learning. As an example, a fully connected neural network is used as the neural network 15. However, the neural network 15 is not limited to being a fully connected neural network. The neural network 15 is composed of an input layer 21, an intermediate layer 23, and an output layer 22. As an example, in FIG. 8, the intermediate layer 23 has a hidden layer 24 (hidden layers 24a to 24m) and a hidden layer 25 (hidden layers 25a to 25m). The number of hidden layers in the intermediate layer 23 is not limited to two. The intermediate layer 23 can have two or more hidden layers as needed. The number of units in each hidden layer may differ from one another. The number of units in each hidden layer refers to hidden layers 24a to 24m as shown in FIG. 8.

[0127] The input layer 21 contains the variable s t The output layer 22 is given the action value function Q(s t ,a t) is output. Note that the number of output units of the neural network 15 according to one embodiment of the present invention is preferably at least twice the number of input units. For example, in FIG. 8, the input layer 21 includes a unit 21a and a unit 22b, and the output layer 22 includes units 22a to 22d. That is, the variable s t Given (x1, x2), the action value function Q(s t ,a t ) is the action value function Q(s t ,a t= a 1~4 ) can be expressed by four outputs. There are four possible actions, a1 to a4. The action value function Q(s t ,a1) to Q(s t , a4) are linked to Action 1 to Action 4, respectively. The agent calculates the action value function Q(s t ,a1) to Q(s t , a4), the action value function Qmax with the maximum value is selected, and the action associated with the action value function Qmax is executed.

[0128] Generally, during reinforcement learning, the weight coefficients of the neural network are updated so that the error E between the output data and the training data becomes smaller. The weight coefficients are updated repeatedly until the error E between the output data and the training data becomes constant. Q-learning, a type of reinforcement learning, is a method for finding the optimal action-value function Q(s t ,a t ) is the goal of learning, but during learning, the optimal action-value function Q(s t ,a t ) is unknown. Therefore, the action value function Q(s t+1 ,a t+1 ) and r t+1 +maxQ(s t+1 ,a t+1 ) is used as training data. The training data is used to calculate the error E and the loss function, and the neural network is trained.

[0129] FIG. 9 is a flowchart illustrating the neural network 15.

[0130] In step S71, a variable x1 is given to unit 21a of the input layer 21, and a variable x2 is given to unit 21b, and a first fully connected product-sum operation is performed in the hidden layer 24. Note that the variables x1 and x2 may be normalized as appropriate. By performing this normalization, the learning speed can be increased.

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

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

[0133] Step S74 is the output of the output layer 22, which is the action value function Q(s t ,a1) to Q(s t , a4), the action value function Qmax with the maximum value is selected, and the action associated with the action value function Qmax is determined.

[0134] In step S75, the variables x1 and x2 are updated by the action, and the variables s t+1 Give as.

[0135] FIG. 10 is a block diagram illustrating a parameter search device 10 having a parameter search method.

[0136] The parameter search device 10 has a calculation unit 81, a memory 82, an input / output interface 83, a communication device 84, and a storage 85. That is, the parameter search method by the parameter search 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. The program is stored in the storage 85 or the memory 82, and the calculation unit 81 is used to search for parameters.

[0137] A display device 86a, a keyboard 86b, etc. are electrically connected to the input / output interface 83. Although not shown in Fig. 10, a mouse, etc. may also be connected.

[0138] The communication device 84 is electrically connected to another network via a network interface 87. The network interface 87 may be configured for wired or wireless communication. A database 8A, a remote computer 8B, a remote computer 8C, and the like are electrically connected to the network. The database 8A, the remote computer 8B, and the remote computer 8C electrically connected via the network may be installed in different buildings, different regions, or different countries.

[0139] In the parameter search by the parameter search device 10, the computer on which the control unit 14 runs may be different from the computer (including a server computer) on which the parameter extraction unit 11, the circuit simulator 12, or the classification model 13 runs.

[0140] As described above, one aspect of the present invention provides a method for searching parameters for a computerized netlist using a computer. By computerizing the netlist, it is possible to search for model parameters suitable for the required characteristics of the netlist using computer resources.

[0141] Alternatively, one embodiment of the present invention can extract model parameters from a data set of a semiconductor element, train a classification model on the collection of model parameters, and classify the model parameters using the classification model.The parameter classification method can efficiently search for model parameters suitable for the required characteristics of a netlist by using the model parameters classified by the classification model.

[0142] Alternatively, one aspect of the present invention provides a classification model with new model parameters, thereby presenting the adaptability rate for each required characteristic that the classification model can classify as a probability. This allows appropriate model parameters to be selected. A parameter selection method can be provided that allows easy selection of model parameters suitable for the required characteristics of a target netlist.

[0143] One aspect of the present invention can provide a parameter search system that uses reinforcement learning to search for optimal candidates for the variables of a netlist to be provided to a circuit simulator so that the variables satisfy the required characteristics of the netlist.

[0144] As described above, the parameter search system can provide a parameter search system that searches for optimal candidates that satisfy the required characteristics of a netlist by combining a parameter learning method that allows a classification model to learn model parameters, a parameter selection method that selects appropriate model parameters, and reinforcement learning.

[0145] The above-described structure and method described in one embodiment of the present invention can be used in appropriate combination with the structure and method described in the examples. [Example]

[0146] In this example, the parameters were searched for using a parameter search method according to one aspect of the present invention. The parameter search method will be described in detail below with reference to Figs. 11 to 14. The parameter extraction unit 11 was Silvaco's Utmost IV. TM Circuit simulation12 was performed using the open source ngspice or Silvaco's SmartSpice. TM For ease of explanation, the target netlist is the inverter circuit shown in FIG. 7A. In this example, the explanation will proceed assuming that 20 model parameters are extracted using the classification model 13 and Utmost IV.

[0147] Figure 11 shows an example of netlist program code for an inverter circuit. Note that in Figure 11, the program line number is added to the beginning of each line to explain the program code.

[0148] FIG. 11 explains the netlist of the inverter circuit used in this embodiment.

[0149] The first line defines the model parameter variable for parameter search. Items set by the user are differentiated by adding underlines. In this example, a parameter search is performed for which the transistor channel width W1 is the optimal candidate. In this example, the variable param_w1 is used so that the channel width W1 can be changed during learning.

[0150] The second line uses the variable param_fname to select a file containing model parameters. The variable param_fname will be explained in detail in Figure 12.

[0151] The third or fourth line sets the power supply voltage or signal to be applied to the inverter circuit.

[0152] The fifth or sixth line sets the semiconductor elements used in the inverter circuit and connection information.

[0153] The seventh or eighth line sets the model of the semiconductor element used in the fifth or sixth line. In this embodiment, the semiconductor element is a transistor. An n-type transistor or a p-type transistor is set as the transistor.

[0154] The ninth or tenth line sets the analysis conditions for the required characteristics of the inverter circuit.

[0155] The ninth line sets the average value of the current flowing through the power supply (required characteristic iavg) as the search target using transient analysis.

[0156] The tenth line sets the signal delay time (required characteristic tpd) as the search target using transient analysis.

[0157] The definition file of the model parameters used in this embodiment will now be described. As an example, the definition file level3-sample-01.lib will be described. The model parameters used in this embodiment were set in the level 3 format. The model parameters of the transistors have a number of different settings, such as levels 1 to 3. It is preferable for the user to use a transistor model of the required level. In this embodiment, model parameters for general n-type and p-type transistors were set. In this embodiment, the definition file also includes at least the threshold voltage VTO. In this embodiment, the threshold voltage VTO is treated as a model parameter variable.

[0158] FIG. 12 explains the user setting file used in this embodiment.

[0159] The first line declares that the circuit simulator ngspice will be used. TM may also be used.

[0160] The second line sets the reference destination for the netlist described in Figure 11 used in the circuit simulator ngspice.

[0161] The third line sets the destination for the second output result of the circuit simulator ngspice.

[0162] The fourth line specifies the upper and lower limits of the actionable range given to the circuit simulator ngspice. In this example, the lower limit of the channel width is set to 1 μm and the upper limit to 20 μm.

[0163] The fifth line sets a file (e.g., level3-sample-01.lib) that describes the model parameters to be given to the circuit simulator ngspice. In this example, parameter search is performed using model parameters that describe the threshold voltage VTO under 20 different conditions.

[0164] The sixth or seventh line sets the convergence condition for the second output result output by the circuit simulator ngspice.

[0165] The sixth line sets the target value for the convergence condition of the average value of the current flowing through the power supply (required characteristic iavg) using transient analysis.

[0166] The seventh line sets the target value of the convergence condition for the signal delay time (required characteristic tpd) using transient analysis.

[0167] 13A and 13B show the results of searching for model parameters for the required characteristics of a netlist using the parameter search method of this embodiment. The horizontal axis indicates that when param_w1 is 1, the channel width w1 is 1 μm, and when param_w1 is 20, the channel width w1 is 20 μm. The vertical axis indicates that when the variable param_fname is 0, the threshold voltage VTO is 0.00 V, and when the variable param_fname is 19, the threshold voltage VTO is 0.95 V. In the circuit simulation using each parameter, the plot was output so that the closer the parameter was to the required characteristics, the larger the plot. Note that the plot for the parameter closest to the target value was the largest.

[0168] 13A shows the search results for parameters for the required characteristic iavg. It was confirmed that the smaller the channel width W1, the smaller the required characteristic iavg, and that these parameters are suitable for low power consumption.

[0169] 13B shows the search results for parameters for the required characteristic tad. It was confirmed that the smaller the threshold voltage VTO or the smaller the required characteristic tad, the shorter the delay time. In other words, we were able to search for model parameters suitable for shortening the delay time.

[0170] 14A and 14B show an example of a GUI incorporating this embodiment. The GUI 100 can display a layout display area 110, a circuit configuration 120 generated from a netlist, a real-time display 130 of parameter search results, and a simulation result 140 of a circuit simulator. The GUI 100 also has a start button or restart button (hereinafter referred to as start button 150a), or a stop button 150b. It is preferable that the display items be selectable by the user.

[0171] In Figure 14A, the user inputs a netlist or a user setting file to the GUI and presses the start button 150a to start the parameter search. In this example, the netlist input to the GUI was an inverter circuit. The maximum amplitude of the input signal to the inverter circuit was set to 5V. Therefore, the maximum amplitude of the output signal output by the inverter circuit was also set to 5V.

[0172] The real-time display 130 of the parameter search results updates the display every time a parameter search is performed. In this embodiment, the real-time display 130 of the parameter search results displays the PMOS channel width and NMOS channel width searched by the parameter search method, and the magnitude of the accumulated reward given for the search results.

[0173] The simulation result 140 of the circuit simulator displays the results of a circuit simulation performed using the parameter search results. In this embodiment, a DC analysis is performed using the circuit simulator. The convergence condition is set to 2.5V, at which the voltage of the output signal becomes the same as the voltage of the input signal. The simulation result 140 displays the convergence condition and the simulation result. A reward is determined depending on the difference between the convergence condition and the simulation result. The weight coefficient of the neural network is updated depending on the reward.

[0174] FIG. 14B shows an example in which the simulation results of the circuit simulator reach the convergence condition set by the user.

[0175] As described above, the structure shown in this embodiment can be used in appropriate combination with the structure shown in the embodiment mode. [Explanation of symbols]

[0176] : DS1: measurement data, DS2: measurement data, DS3: process parameters, 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 search 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: Hidden 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, 86a: Display device, 86b: Keyboard, 87: Network interface, 100: GUI, 110: Layout display area, 120: Circuit configuration generated from netlist, 130: Real-time display of parameter search results, 140: Simulation results, 150a: Start button, 150b: Stop button

Claims

1. The system includes a parameter extraction unit, a circuit simulator, a classification model, a neural network, and a control unit, the parameter extraction unit has a function of extracting first model parameters of the semiconductor device using process parameters of the semiconductor device; the circuit simulator has a function of outputting a first output result using a netlist and the first model parameters; the classification model has a function of classifying the first model parameters using the first output result; the neural network has a function of outputting a first function using the first model parameters; The control unit has a function of updating the first model parameters using the first function and outputting second model parameters. the circuit simulator has a function of outputting a second output result using the netlist and the second model parameters; When the second output result satisfies the required characteristics of the netlist, the control unit outputs the second model parameters as optimal candidates.

2. The system includes a parameter extraction unit, a circuit simulator, a classification model, a neural network, and a control unit, the parameter extraction unit has a function of extracting first model parameters of the semiconductor device using process parameters of the semiconductor device; the circuit simulator has a function of outputting a first output result using a netlist and the first model parameters; the classification model has a function of classifying the first model parameters using the first output result; the neural network has a function of outputting a first function using the first model parameters; the control unit has a function of updating the first model parameters using the first function and outputting second model parameters; the circuit simulator has a function of outputting a second output result using the netlist and the second model parameters; If the second output result does not satisfy the required characteristics of the netlist, the control unit updates the weight coefficients of the neural network.

3. In claim 1 or claim 2, The parameter search device, wherein the process parameters are stored in a storage device connected via a network.

4. In any one of claims 1 to 3, The parameter search device, wherein the netlist includes one or more of an inverter circuit, a source follower circuit, or a common-source circuit.

5. In any one of claims 1 to 4, The parameter searching device, wherein the first output result and the second output result include one or more of a leakage current, an output current, a signal rise time, and a signal fall time.

Citation Information

Patent Citations

  • Parameter adjusting device

    JP2005038216A

  • Method of generating analog model for logic cell, product, and computer system

    JP2013020614A