Parameter search method

The parameter exploration method uses reinforced learning and a classification model to efficiently select semiconductor model parameters that meet the diverse demand characteristics of netlists, enhancing circuit simulation accuracy.

JP2025013887AActive Publication Date: 2025-01-28SEMICON ENERGY LAB CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024183264
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-04-02
Filing Date
2024-10-18
Publication Date
2025-01-28
Estimated Expiration
2040-02-04

Smart Images

  • Figure 2025013887000001_ABST
    Figure 2025013887000001_ABST
Patent Text Reader

Abstract

To provide a learning method, a classification method, a selection method, and a search method for semiconductor parameters.SOLUTION: A parameter search apparatus 10 has a parameter extracting unit 11 which is given measured data obtained by measurement of a semiconductor device or process parameters as a data set for extracting model parameters. A circuit simulator 12 carries out simulation by using the model parameters given a first net list to output a first output result. A classification model 13 leans the model parameters and the first output result to classify the model parameters for giving the circuit simulator a second net list and the model parameter. A neural network 15 is given variables for adjustment. The circuit simulator carries out simulation by using the second net list and the model parameters. If a second output result does not satisfy a condition, the circuit simulator updates a weight coefficient of the neural network. If on the other hand the second output result satisfies the condition, the circuit simulator determines the variables 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 is a method for learning and classifying semiconductor parameters using a computer. It relates to a selection method or a search method.

[0002] Note that one embodiment of the present invention is not limited to the above technical fields. One example of the technical field of the present invention is parameter exploration for chemical synthesis. can be done.

[0003] One aspect of the present invention relates to a computer. According to one aspect of the present invention, there is provided a method for parameter search of a computerized netlist using the above-mentioned method. Extract model parameters from a data set of semiconductor devices and create a collection of model parameters. A classification model is trained and the model parameters are classified by the classification model. One aspect of the present invention relates to a parameter classification method for a target netlist. A parameter selection method for selecting model parameters according to the parameter classification method. One aspect of the present invention relates to a method for determining whether a netlist variable is provided to a circuit simulator. The parameters are searched for using reinforcement learning to find the best candidate that satisfies the required characteristics of the trilist. It relates to a search method. [Background technology]

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

[0005] In order to run a simulation using a circuit simulator, measurement data for semiconductor elements is required. and the process parameters are used to extract appropriate model parameters, and the model parameters are The user must provide the circuit simulator with the optimum netlist that satisfies the required characteristics. In order to select the best candidate model parameters, the model parameters are updated each time. Therefore, it is necessary to perform a circuit simulation using a road simulator. To search for candidate model parameters, we use the simulation results of a circuit simulator. It is necessary for the user to determine this every time he or she performs a simulation.

[0006] In recent years, genetic algorithms have been used to adjust the parameters of physical models of transistors. In Patent Document 1, a genetic algorithm is applied to the physical model of a transistor. A parameter adjustment device used for tuning the parameters of Dell is disclosed. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] JP 2005-038216 A Summary of the Invention [Problem to be solved by the invention]

[0008] When dealing with model parameters of multiple semiconductor elements included in a netlist, the user It is necessary to determine whether the model parameters satisfy the required characteristics of the netlist. There is a problem.

[0009] For example, if the netlist contains multiple semiconductor elements, the required characteristics of the netlist are satisfied. The number of model parameters of the semiconductor element is not limited to one, and there may be a plurality of model parameters. When a user judges the simulation result, the user selects parameters that satisfy the required characteristics. In other words, the user may be more demanding. There is a problem of overlooking the existence of different model parameters that may satisfy the characteristics. Therefore, the judgment of the simulation results of the circuit simulator depends on the user's experience. There are challenges to be overcome.

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

[0011] In view of the above problem, one aspect of the present invention is to provide a computerized netlist Another object of the present invention is to provide a method for searching parameters for a semiconductor device. Extract model parameters from a data set of conductive elements and divide the collection of model parameters. The model parameters can be classified by the classification model. It is an object of the present invention to provide a meter classification method. The model parameters suitable for the required characteristics of the netlist are selected by the parameter classification method. It is an object of the present invention to provide a parameter selection method for selecting a parameter based on the above.

[0012] In one aspect of the present invention, the variables of the netlist given to the circuit simulator are We propose a parameter search method that uses reinforcement learning to find the optimal candidate that satisfies the desired characteristics. One of our goals is to provide

[0013] The description of these problems does not preclude the existence of other problems. It is not necessary for one embodiment to solve all of these problems. The subject matter will be self-evident from the description, drawings, claims, etc. Other issues can be extracted from the drawings, claims, etc. [Means for solving the problem]

[0014] One aspect of the present invention is a classification model, a neural network, a parameter extractor, a circuit system, This is a parameter search method using a simulator and a control unit. A data set of semiconductor elements is provided. The circuit simulator extracts model parameters of the first netlist. A simulation is performed using the test and the model parameters, and a first output result is output. A classification model learns the first output result and classifies model parameters. and outputting the first model parameters to the circuit simulator. and providing a second netlist and second model parameters. The neural network is then fed the first model parameters included in the second model parameters. The neural network includes a step of providing a first model parameter. The control unit calculates a first action-value function Q from the first model. The parameter variables are updated to the second model parameter variables by the first action value function Q. and outputting a third model parameter. The second output result is obtained by simulating the second model parameter set and the third model parameter set. The control unit uses the convergence condition given to the second netlist to output the convergence condition. The method further comprises a step of judging a second output result by judging the second output result. When the required characteristics of the list are not satisfied, the control unit sets a reward and uses the reward to control the neural network. The step of determining the second output result and updating the weight coefficients of the weight network. If the required characteristics of the netlist are met, the first model parameter variable is It can be determined that the selected candidate is the best candidate for the tryst.

[0015] One aspect of the present invention is a classification model, a neural network, and a parameter extraction unit. This is a parameter search method using a circuit simulator and a control unit. A sequence is provided to which measurement data of a semiconductor device and a data set including process parameters are provided. The parameter extraction unit extracts model parameters. The control unit provides the first netlist to a circuit simulator. The simulator generates a first output result using the model parameters and the first netlist. The classification model includes a step of outputting the model parameters and the first output result. Classifying the model parameters by learning and outputting the first model parameters. The control unit controls the circuit simulator to receive the second netlist and the second model parameters. The control unit provides the neural network with the second model. The method further comprises the step of providing a first model parameter variable included in the parameter. The network calculates a first action-value function Q from the first model parameter variables. The control unit calculates the first model parameter variable by a first action-value function Q. and updating the second model parameter variable to a third model parameter variable. A circuit simulator is provided for performing a simulation using the second netlist and the third model parameters. and outputting a second output result. determining a second output result using a convergence condition given to the netlist; The second output result is judged, and if the second output result does not satisfy the required characteristics of the second netlist, However, if the second output result approaches the convergence condition, a high reward is set, and the second output result converges. A step of setting a low reward when the bundle condition is deviated from is included. A step of calculating a second action value function Q using a second model parameter variable is included. The neural network calculates the reward, the first action value function Q, and the second action value function The error calculated using Q and the process of updating the weight coefficients of the neural network using The second output result is judged, and if it satisfies the required characteristics of the second netlist, determining that the first model parameter variable is a best candidate for the second netlist; can be done.

[0016] In the above configuration, the first netlist includes an inverter circuit, a source follower circuit, or It is preferable that the power supply voltage Vcc is 10 V or 20 V. ...

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

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

[0019] In the above configuration, the first output result extracted using the first netlist is a leak current, output current, signal rise time, or signal fall time. It is preferred that it includes

[0020] In the above configuration, the semiconductor element used in the first netlist is a transistor. A parameter search method in which the transistor has a metal oxide in the semiconductor layer is preferred. Effect of the Invention

[0021] One aspect of the present invention is a computer-assisted parametric search of a computerized netlist. Alternatively, one aspect of the present invention provides a method for searching a semiconductor device from a data set. The model parameters are extracted from the dataset, and the set of model parameters is trained into a classification model to perform classification. To provide a parameter classification method capable of classifying model parameters according to a model. Alternatively, one aspect of the present invention is to provide a method for determining whether a netlist is suitable for the required characteristics of the netlist. A parameter selection method is provided for selecting model parameters according to the parameter classification method. Alternatively, one aspect of the present invention is to provide a netlist to a circuit simulator. The variables are searched for using reinforcement learning to find the best candidates that meet the required characteristics of the netlist. It is possible to provide a parameter search system that

[0022] Note that the effects of one embodiment of the present invention are not limited to the effects listed above. However, this does not preclude the existence of other effects. Other effects may be affected by this item, as described below. The effects not mentioned in this section are obvious to those skilled in the art. can be derived from drawings and other descriptions, and can be appropriately extracted from these descriptions. In addition, one aspect of the present invention has at least one of the above-listed effects and / or other effects. Therefore, one aspect of the present invention is, in some cases, In some cases, it may not have the effects described above. [Brief description of the drawings]

[0023] [Figure 1] FIG. 1 is a block diagram illustrating a parameter search method. [Diagram 2] FIG. 2 is a diagram for explaining the data set. [Diagram 3] FIG. 3 is a flowchart illustrating the parameter search method. [Figure 4] FIG. 4 is a flowchart illustrating the parameter search method. [Diagram 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 an evaluation netlist. [Figure 8] FIG. 8 is a schematic diagram illustrating a neural network. [Figure 9]FIG. 9 is a flow chart 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 in which an inverter circuit is described. [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 PREFERRED EMBODIMENTS

[0024] The embodiment will be described in detail with reference to the drawings. However, the present invention is not limited to the following description. The present invention is not limited to the above embodiment, and various changes and modifications may be made in the form and details without departing from the spirit and scope of the present invention. It will be readily understood by those skilled in the art that the present invention can be implemented in the following manner. It should not be construed as being limited to the description of the form.

[0025] In the configuration of the invention described below, the same parts or parts having similar functions are The same reference numerals are used in common between different drawings, and the repeated explanations are omitted. When referring to a function, the hatch pattern may be the same and no particular symbol may be used.

[0026] In addition, the position, size, range, etc. of each component shown in the drawings are not necessarily the same as in the actual embodiment, for ease of understanding. Therefore, the disclosed invention may not necessarily represent the actual position, size, range, etc. The present 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 is called a parameter search device equipped with the parameter search method. The parameter search device will be described in detail with reference to FIG. The program is stored in the memory or storage of the computer. is a network (Local Area Network (LAN), Wide Area ea Network (WAN, Internet, etc.) The information is stored in a computer having a database, or in a server computer having a database.

[0029] The parameter search method is machine learning or reinforcement learning. Search for optimal parameter candidates using Reinforcement Learning. Some processes in machine learning and reinforcement learning involve artificial intelligence (AI). It is preferable to use artificial intelligence (AI). The search method is in particular based on artificial neural networks. Network (ANN), hereafter simply referred to as neural network, is used to output The neural network can generate data by using a circuit (hardware). This is realized by software or hardware.

[0030] In addition, a neural network determines the connection strength between neurons through learning, This refers to a general model that has problem-solving capabilities. A neural network consists of an input layer, a middle layer, A neural network has a training layer (which may contain multiple hidden layers), and an output layer. When we talk about the function, we use the existing information to calculate the connection strength between neurons (also called weight coefficients). Determining what to do next is sometimes called "learning."

[0031] First, we will explain how to generate a classification model using machine learning. The classification model is generated by learning the model parameters of the body elements. The model parameters are classified into the following categories: The data is extracted by providing a measurement data or process parameters. The model parameters of the conductive elements alone are insufficient to classify them according to the required characteristics of the netlist. There are cases.

[0032] In one aspect of the present invention, further analysis is performed on the model parameters. To analyze, the model parameters and the evaluation netlist with the model parameters are A simulation is performed using a circuit simulator. Using the evaluation netlist, DC analysis, AC analysis, or transient analysis is performed. Simulation The results of the evaluation netlist include leakage current, output current, and signal rise time. The time period may include one or more of the rise time, fall time, or the like of a signal.

[0033] Therefore, in one aspect of the present invention, a stain analysis using model parameters and an evaluation netlist is performed. The result of the simulation can be called training content. The method of learning using the content is called the parameter learning method. The data extraction part alone was not enough to achieve the low power consumption and the operating frequency. This makes it easier to classify circuits that meet certain requirements, such as those that meet certain standards, those that operate stably in a specified frequency band, etc. For the sake of simplicity, the following is a list of the low power consumption, operating frequency, and other requirements for the circuit. In some cases, the required characteristics may refer to stability within a frequency band.

[0034] For example, a user can select model parameters suitable for circuits that prioritize low power consumption as a classification model. When you request a classification model, it will present multiple candidates based on the model parameters it has learned in the past. It is also possible to select multiple candidates from the trained model parameters within an arbitrarily specified range. Also, the classification model can provide new model parameters. When the model parameters are given to the model, what kind of model parameters are suitable for the required characteristics? The fitness of each item can be displayed as a probability. Information to determine how well the model parameters match each requirement can be obtained.

[0035] In other words, the classification model selects a model that best suits the required characteristics from among the model parameters that have already been trained. It is possible to provide a parameter selection method for selecting a rule parameter. ,Required characteristics, etc. may be added to the learning content.

[0036] The classification models mentioned above include decision trees, naive Bayes, and KN, which feature class classification. earest Neighbor(KNN), Support Vector Mach ine (SVM), perceptron, or logistic regression, or neural network Machine learning algorithms such as networking can be used.

[0037] Also, different classification models may be generated. For example, model parameters and evaluation nets may be generated. A classification model is created that uses the results of a simulation using a list of clusters. Clustering can be done using K-means or density-based sed spatial clustering of applications w Machine learning algorithms such as ith noise (BSCAN) can be used. .

[0038] The classification model uses random sampling or cross-sampling to select training content. Variations can be used, or the numbers given in the study material can be used. You can select any number according to the sorting order. The contents correspond to a data set of a semiconductor device.

[0039] The generated classification model can be stored in the electronic device itself or in an external memory, and new You can call it up and use it to classify new files, or you can use it to create new learning content. The classification model can be updated according to the method described above while adding

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

[0041] First, we will explain Q-learning. Q-learning is a method of learning a certain environment (variables s t and ) under which the agent takes action a t It is a way to learn the value of choosing. The agent is the subject that acts, and the variable s t refers to the target being acted upon. a t By this, an environment can be t From variable s t+1 The agent then transitions to the reward r t+1 In Q-learning, the robot acts in such a way that the total amount of reward obtained is maximized. a t We learn the variable s t Action a t The value of t ,a t For example, the action value function Q(s t ,a t The update formula for is expressed as (1). In one aspect of the present invention, the agent corresponds to a control unit, and a certain environment corresponds to a neural network. The input layer of the network is given the variables s t corresponds to action a t The agent The action value function Q(s t ,a t ) determined by will be done.

[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 by the action. The closer the learning rate α is to 1, the more importance is placed on the results, and the greater the change in value. The closer the learning rate α is to 0, the more emphasis is placed on the present value, and the smaller the change in value. The closer the discount rate γ is to 0, the more importance is placed on current rewards or future rewards. The closer the discount rate γ is to 1, the more the future rewards are emphasized. For example, the learning rate α can be set to 0.10 and the discount rate γ can be set to 0.90.

[0044] Generally, in Q-learning, the action value function Q(s t ,a t ) state s t and Action a t The combination of In one embodiment of the present invention, the data is stored as a look-up table (LUT). The lookup table can be called an action table. The action value function Q(s t ,a t The number of units in the neural The variables s given to the network t is preferably at least twice the number of units given. Also, the variable s t and Action a t Each action for a combination of actions is called an action. It is preferable to determine the action value function Q(s t ,a t )but The action associated with the combination that produces the maximum value is executed. Note that the action value function Qm ax1 is the action value function Q(s t ,a t ) is maximized in state st 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 This is the reward obtained through learning. maxQ(s t+1 , a) is determined by the correct label The variable s is set according to the action taken. t is updated and recalculated by the neural network. This corresponds to the action value function Qmax2 that is generated. Note that maxQ(s t+1 , a) is maxQ(s t+1 , a t+1 ) can also be used. Note that Q(s t , a t ) is the behavioral value This corresponds to the value function Qmax1.

[0047] The loss function L is calculated from the error E. The loss function L is calculated using the squared error We can use Stochastic Gradient Descent. Using the neural network algorithm (SGD), we try to minimize the loss function L. In addition to stochastic gradient descent, Adap tive Moment Estimation (Adam), Momentum tum), Adaptive SubGradient Methods (AdaGra d), RMSProp, etc. can be used. That is, the neural network The weighting coefficients are updated according to the loss function L.

[0048] Variable s t is the variable s t+1 and the calculation of neural network 15 is performed again. In Q-learning, repeated learning is performed to make the loss function L as small as possible.

[0049] Next, the parameter search method will be explained with reference to FIG. The parameter search method may be referred to as the parameter search device 10.

[0050] The parameter search device 10 includes a parameter extraction unit 11, a circuit simulator 12, and a classification model. The system includes a parameter search function 13, a control unit 14, and a neural network 15. The device 10 is provided with a data set of a semiconductor device and a setting file F1, and parameters The search device 10 outputs the output data F2. 12, classification model 13, control unit 14, and neural network 15 are implemented by a computer. It is controlled by a program that runs on

[0051] The data set of the semiconductor device, the setting file F1, and the output data F2 are It is preferable that the information is stored in a memory or storage device of the computer. A computer connected via a network, a server computer with a database A data set of the semiconductor element is stored in the memory or storage of the measuring device. It's fine.

[0052] In addition, the parameter search by the parameter search device 10 is performed by the control unit 14. A parameter extraction unit 11, a circuit simulator 12, or a classification model 13 is operated by a computer. The computers (including the server computer) that perform the processing may be different.

[0053] The parameter extraction unit 11 receives measurement data or process parameters of a semiconductor device. The parameter extraction unit 11 is instructed by the control unit 14 to Alternatively, the parameter extraction unit 11 can load a data set that has been created using a computer. When a new data set is detected in memory or storage on the computer, parameter extraction is performed. The parameter extraction unit 11 can automatically load new data sets. ,Extract model parameters from the dataset.

[0054] The circuit simulator 12 is provided with an evaluation netlist from the control unit 14. The netlist is explained in more detail in FIG.

[0055] The circuit simulator 12 uses the evaluation netlist and the model parameters. A simulation is performed, and the simulation result is output as a first output result. The simulation is performed using DC analysis, AC analysis, or transient analysis. The output results are at least for the leakage current, output current, and signal This includes one or more of the following: rise time, or fall time of a signal. The model 13 learns the model parameters and the first output result, and If there are multiple evaluation netlists, they are evaluated in sequence. The circuit simulator 12 updates the evaluation netlist using the multiple evaluation netlists. The first output result is output.

[0056] The circuit simulator 12 receives a netlist and required characteristics of the netlist from the control unit 14. The model parameters are given which are classified as suitable for the netlist. This is circuit information for determining model parameters suitable for the required characteristics. The netlist is composed of a plurality of semiconductor elements. The model parameters to be adjusted among the semiconductor elements of the test are designated as model parameter variables. You can select it by doing the following.

[0057] The circuit simulator is initialized by the control unit 14. The initialization information is stored in the setting The setting file F1 is provided to the control unit 14. The magnitude of the power supply voltage required for the The initialization information is stored in the memory. The input may be given by voice via a mouse or microphone.

[0058] The neural network 15 is provided with model parameter variables from the control unit 14. The model parameter variables are the optimal candidates searched for by the neural network15. The model parameters of the semiconductor device are given by the neural network 15. Let the delta parameter variables be the variables s at time t. t is given to the input layer. Work 15 is variable s t From the action value function Q(s t ,a t The control unit 14 outputs Action value function Q(s t ,a t ) to update the model parameters. Circuit simulation The model parameter data 12 includes the netlist and the model parameter variables, including the updated model parameter variables. The circuit simulator 12 outputs the second output result. do.

[0059] The control unit 14 judges whether the second output result is a required characteristic of the netlist. If the above condition is not satisfied, the control unit sets a reward for the second output result, and further sets a loss function In the neural network 15, the neural network is calculated by the loss function. The weighting coefficients of 15 are updated. Note that the second output result satisfies the required characteristics of the netlist. In this case, the model parameter variable is determined to be the optimal candidate for the netlist. 2, it is preferable that optimal candidates for model parameter variables are output as a list.

[0060] Unlike the above-mentioned method, the circuit simulator 12 receives a netlist from the control unit 14 and Model parameters may be given. In this case, the model parameters are However, the second output result does not necessarily have to satisfy the required characteristics of the netlist. If the test does not meet the required characteristics, the weight coefficients of the neural network are adjusted using a loss function. In addition, the circuit simulator 12 updates the second netlist by using the classification model. The model parameters are updated to any one of the model parameters classified as satisfying the required characteristics. The circuit simulator 12 uses a wider range of model parameters to find the best candidate paths. Search for the parameter.

[0061] FIG. 2 is a diagram illustrating a data set of a semiconductor device. The measurement data DS1 of the element, the measurement data DS2, or the process parameters DS3 are included. As an example, the semiconductor element may be a transistor, a resistor, a capacitor, or a diode. In addition, the semiconductor element is a combination of transistors, resistors, capacitors, diodes, etc. It may be configured.

[0062] In FIG. 2, a case where the semiconductor element is a transistor will be described. The measurement data DS1 is Different fixed voltages are applied to the source and drain of the transistor, and a voltage is applied to the gate of the transistor. Therefore, the measurement data DS1 shows the result of sweeping the voltage that The vertical axis shows the gate voltage VG of the transistor, and the vertical axis shows the drain current ID flowing through the transistor drain. In addition, the measurement data DS1 is shown in the graph in FIG. This is to make the measurement data easier to understand; the data set contains data recorded numerically. It is data.

[0063] The measurement data DS2 is obtained by applying different fixed voltages to the source and gate of the transistor. The figure shows the case where the voltage applied to the drain of the transistor is swept. DS2 is a function of the drain voltage VD of the transistor on the horizontal axis and the current flowing into the drain of the transistor on the vertical axis. The measured data shows the drain current ID. The graph shows this to make the measurement data easier to understand, but the data set Now, here is the data recorded in numbers.

[0064] The measurement data DS1 and the measurement data DS2 were measured under different conditions. It is preferable to have a plurality of measurement data. For example, in the measurement data DS1, It is preferable that different fixed voltages are applied as the drain voltage VD of the capacitor. In the data DS2, a different fixed voltage is given as the gate voltage VG of the transistor. It is preferred.

[0065] The process parameter DS3 is a process parameter of the semiconductor device. The meter contains the thickness Tox of the oxide film, the dielectric constant ε of the oxide film, the resistivity RS of the conductive film, and the channel length L, or channel width W.

[0066] 3 to 6 are flow charts illustrating a parameter search method. The search method includes a first process and a second process. The first process is performed by a parameter extraction unit 1. Extraction of model parameters of semiconductor elements by 1 and model parameters by classification model 13 The second step is to learn the model parameters selected by the classification model. Using the data, we select optimal candidates for model parameter variables of semiconductor elements included in the netlist using Q-learning. Explore using practice.

[0067] In FIG. 3, the parameter extraction unit 11 extracts model parameters and the classification model 13 extracts model parameters. The classification of model parameters based on the above will be explained using a flowchart.

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

[0069] In step S31, measurement data and process parameters of a semiconductor device are input to a parameter extraction unit. This is the step where a dataset containing the data, etc. is loaded.

[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 are the channel length and the channel width. Threshold voltage, oxide thickness, drain resistance, source resistance, junction capacitance, noise factor, migration The measurement data includes physical parameters such as the degree of modulation or the channel length modulation, and is expressed by a function formula. It is preferable that the items to be managed by the model parameters can be set by the user. .

[0071] In step S33, the control unit 14 provides the evaluation netlist to the circuit simulator 12. The circuit simulator is provided with model parameters from the parameter extraction unit 11. Further, the circuit simulator 12 performs a step of executing the evaluation netlist. The circuit simulator 12 performs a simulation. Output as the output result.

[0072] The evaluation netlist is not limited to one, and multiple types of evaluation netlists may be used. 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, From the above evaluation netlist, the following circuits are selected according to the characteristics of the circuits: The first output result can be obtained.

[0073] For example, the inverter circuit can measure leakage current, output current, rise time, or fall time. The first output is the time. For example, the source follower circuit The output current is obtained as the first output result. The source ground circuit is used to obtain the leakage current of the circuit. A current, a sink current, etc. are obtained as a first output result. Netlist for evaluation of ring oscillator circuits, current mirror circuits, amplifier circuits, etc. It can be used as a charge pump circuit, a ring oscillator circuit, a current mirror circuit, etc. -circuits, amplifier circuits, etc. are inverter circuits, source follower circuits, or source grounded circuits. A netlist with a circuit configuration that combines circuits and for which model parameters need to be verified It is possible to obtain a first output result having characteristics close to the required characteristics.

[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, It may be configured with only p-type transistors or n-type transistors. For example, if an inverter circuit is composed of only n-type transistors, It is preferable that the conductor layer contains a metal oxide. The semiconductor layer of the p-type transistor contains metal oxide, and the semiconductor layer of the p-type transistor contains silicon. The configuration may include a

[0075] Step S34 is to provide the model parameters and the first output result to the classification model 13. This is the step where the classification model is trained. The classification model is trained by the model parameters and the first By learning the output results of , it becomes possible to classify the model parameters.

[0076] In step S35, the control unit 14 determines whether the classification model 13 has completed learning the data set. This is a step of determining whether the classification model 13 has learned all of the data sets. If it is determined that the learning is completed, the process proceeds to step S41, and if it is determined that there is still an unlearned data set, If so, the process returns to step S31 and learning of the classification model continues.

[0077] 4 to 6 are flowcharts illustrating the second process. In the second step of the method, parameters are searched for using Q-learning. This requires the initialization of the circuit simulator 12 and the neural network 15. Now, we will use a flowchart to explain the initialization required for Q-learning.

[0078] Step S41 is a step for initializing the neural network 15. The neural network 15 assigns random numbers to the weight coefficients of the neural network 15. Alternatively, the neural network 15 can be initialized by You can also load the weighting coefficients used when

[0079] Step S42 is a step of providing the netlist to the circuit simulator 12. This netlist is the one in which the user searches for model parameters. do.

[0080] In step S43, the control unit 14 selects the model parameters and the optimum candidate among the model parameters. Step 1: Set the model parameter variable pt for which you want to search for a complement to the circuit simulator 12. The control unit 14 selects model parameters suitable for the required characteristics of the netlist. can be selected using the classification results of the classification model.

[0081] In step S44, the model parameter variable pt is assigned to the variable s of the neural network 15. t This is the step of setting it as:

[0082] Step S45 is to calculate the action value function Q(s t , a t This is the step of setting the action table for the action value function Q(s t , a t ) has multiple outputs corresponding to the number of units in the output layer of the neural network15. Therefore, the action table is the action value function Q(s t ,a t ) output It is preferable that an action to be taken is set.

[0083] As an example, let L be the channel length of a transistor, W be the channel width, and let Variable s as a data variable t Let us consider the case where (L, W) is given. Model parameters The variable is variable s t In the case of (L, W), the number of input units of the neural network 15 is model The number of output parameters of the neural network 15 is preferably equal to the number of input parameters. The number of units is preferably at least twice the number of input units. The function Q is the action value function Q(s t ,a t= It can be expressed by four outputs (a1 to a4). .

[0084] Action value function Q(s t ,a t= A1~a4) have different actions set for each. The action value function Q(s t ,a t=a1~a4) are channel Increase the length L, and reduce the channel length L as action a2. and action a2 to increase the channel width W, action a3 to decrease the channel width W, etc. In the following explanation, a certain variable s t Action value function in Q(s t ,a t ) is the maximum value of the action value function Qmax1, and the action value function Qmax1 The action associated with is executed. Note that the action value function Q(s t ,a t ) 4 or more If you have the above output, you can set more detailed actions.

[0085] It is also preferable that the user can set the scope of the action that can be taken. The channel length L, which is one of the model parameter variables, is explained below. The applicable range is determined by the specifications of the equipment. For example, if the channel length L is 10 nm or less, If the upper limit is set to 1 μm or less, the action of reducing the channel length L will continue. For example, the channel length L may be lower than the lower limit of 10 nm. If the channel length falls below a certain limit of 10 nm, the channel length L is 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 a maximum value of 1 μm or less.

[0086] Step S46 sets a reward for Q-learning. The reward is set when the second output result satisfies the convergence condition. The reward is given when the convergence condition is not met. The reward is given when the convergence condition is approached. If the convergence condition is not met, a lower reward is given. The magnitude of the reward may be set to a fixed value depending on the distance to the convergence condition, or may be set by the user. may be set.

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

[0088] Step S48 is to calculate the variable s given to the neural network 15. t From the action value function Q This is the step for calculating max1. 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 to calculate the action value function Qmax1 which is the output of the neural network 15. This is the step of determining an action corresponding to the

[0091] In step S52, the variable s is calculated by the action corresponding to the action value function Qmax1. t of Variable s t+1 This is the step where the variable s t+1 is a neural network It is given to Q15.

[0092] In step S53, the model parameter variable pt of the netlist is converted into the variable s t+1 Update with This is the step.

[0093] In step S54, the circuit simulator 12 calculates the netlist and the model parameter variable p t is the step of performing a simulation using the updated model parameters. The circuit simulator 12 outputs a second output result as a simulation result.

[0094] In step S55, the control unit 14 determines whether the second output result is a convergence condition given to the netlist. This is the step of determining whether the above condition is satisfied.

[0095] In step S56, the control unit 14 determines whether the second output result is a convergence condition given to the netlist. If it is determined that the above condition is satisfied, the reinforcement learning using the neural network 15 is terminated. Therefore, in this case, the second output is the best candidate that meets the netlist requirements. In addition, we further select optimal candidates for parameter variables that meet the requirements of the netlist. As a search method, even if the convergence condition is satisfied, the loop may not end and learning may continue. In this case, you can focus on searching for conditions close to the convergence condition. Or, in step 41 It is now possible to switch to a neural network with different random numbers and perform reinforcement learning. Alternatively, the process may proceed to step S41, where reinforcement learning is performed using different model parameters. This can be done.

[0096] Step S57 is a step of determining a reward for Q-learning. For example, the second output result If the second netlist does not satisfy the required characteristics, the control unit outputs the second netlist. Set a high reward if the second output is close to the convergence condition, and set a high reward if the second output is far from the convergence condition. If so, setting a lower reward.

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

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

[0099] Step S5A is to calculate the variable s given to the neural network 15. t+1 From behavioral value relationship This is a step for calculating the number Qmax1. Then, the process proceeds to step S51 in FIG. The action corresponding to the action value function Qmax1, which is the output of the neural network 15, is determined. Determine.

[0100] FIG. 6 is a flowchart illustrating reinforcement learning using Q-learning different from that shown in FIG. 6 explains the differences from FIG. 5 and describes the configuration of the invention (or the configuration of the embodiment): The same reference numerals are used in different drawings to indicate the same parts or parts having similar functions. The repeated explanation will be omitted.

[0101] In Figure 6, the variable s t variable s t +1 After updating to (step S52), the model parameters of the circuit simulator 12 are updated. For example, the action of step S51 is to If the parameter variable exceeds an actionable range, the model parameters are updated. However, the model parameters are classified by the classification model 13 and the netlist requirements are It is preferable that the characteristic is within the range classified as suitable for the model parameters. This update allows Q-learning to explore a wider range of parameters.

[0102] As described above, in the parameter search method according to one aspect of the present invention, a plurality of parameters included in a netlist are searched. Select multiple model parameter variables from the model parameters of the semiconductor device, and It is possible to search for optimal candidates for model parameter variables that suit the required characteristics of the trit.

[0103] In the parameter search method, the classification model is based on the model parameters extracted from the parameter extraction unit. and a first output result by a circuit simulator using the evaluation netlist. The classification model learns to classify model parameters suitable for the required characteristics of the netlist. It is possible.

[0104] The classification model allows the selection of model parameters suitable for the required characteristics of the netlist. For example, the Q-learning can be efficiently performed by changing the process parameter conditions. The classification model can be applied when considering optimal process conditions. Applying the classification model to extract model parameters according to the required characteristics of the netlist can be done.

[0105] 7A to 7D are circuit diagrams for explaining an evaluation netlist. The Trist has a capacitance of 64 as an output load at the output stage of the circuit. The output signal of the netlist is generated by the voltage generated by charging and discharging the capacitance 64. It is possible to determine whether the required characteristics of the trial list are met.

[0106] FIG. 7A is a circuit diagram illustrating an inverter circuit. The inverter circuit includes a transistor 6 1, 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. It's Jista.

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

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

[0109] The inverter circuit is analyzed by DC analysis using a circuit simulator. The inverter circuit can estimate the overcurrent by a circuit simulator. By performing a pass-through analysis, the magnitude of the through current flowing through the inverter circuit, the operating frequency, or the output signal The rise and fall times of the signal can be estimated.

[0110] The transistor 61 or the transistor 62 includes silicon in a semiconductor layer of the transistor. However, it is preferable that the transistor 62 contains a metal oxide in the semiconductor layer of the transistor. That's fine.

[0111] FIG. 7B is a circuit diagram illustrating an inverter circuit different from that shown in FIG. 7A. Explain the differences from 7A and explain the same parts in the configuration of the invention (or the configuration of the embodiment). Or, the same reference numerals are used in different drawings for parts having similar functions, and the repetition of such reference numerals will not be used in the drawings. The explanation of this will be omitted.

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

[0113] The signal given to the line SD1 is the inverse signal of the signal given to the line SD2. The signal supplied to the wiring SD1 switches the transistor 61A between an on state and an off state. The signal applied to the wiring SD2 switches the transistor 62 between an on state and an off state. The above operations allow you to perform DC and transient analysis using a circuit simulator. It is possible to do so.

[0114] The transistor 61A and the transistor 62 include silicon in the semiconductor layer of the transistor. Alternatively, the transistor 61A and the transistor 62 may be The semiconductor layer of the capacitor may include a metal oxide.

[0115] FIG. 7C is a circuit diagram illustrating a source follower circuit. The circuit includes a resistor 61, a resistor 63, a wiring 65, a wiring 66, and a wiring SD1. In the source follower circuit of C, transistor 61 is an n-type transistor. In addition, 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. can be done.

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

[0117] The signal applied to the wiring SD1 turns on the transistor 61 (strong inversion region) or turns off the transistor 61. The transistor state (weak inversion region) can be switched by the signal applied to the line SD1. When the transistor 61 is turned on, the output potential given to the capacitor 64 is The potential is lower than the potential of the applied signal by the threshold voltage of the transistor 61 .

[0118] The source follower circuit is analyzed by DC analysis using a circuit simulator. The bias current of the circuit and the threshold voltage of the transistor 61 can be estimated. In addition, the source follower circuit was analyzed by AC analysis using a circuit simulator. The frequency characteristics of the source follower circuit can be estimated by circuit simulation. By performing a transient analysis using a rectifier, the change in the bias current flowing through the source follower circuit was The magnitude, or rise and fall times of the output signal can be estimated.

[0119] The transistor 61 preferably contains silicon in a semiconductor layer of the transistor. In addition, the transistor 61 may include a metal oxide in a semiconductor layer of the transistor. The transistor 61 may be a p-type transistor. By inverting the voltage, a source follower circuit can be constructed using a p-type transistor. can be done.

[0120] FIG. 7D is a circuit diagram illustrating a common-source circuit. The common-source circuit is a transistor 6 1, resistor 63, wiring 65, wiring 66, and wiring SD1. In the grounded ground circuit, an example is shown in which transistor 61 is an n-type transistor.

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

[0122] A signal applied to the wiring SD1 switches the transistor 61 between on and off. The source ground circuit functions as an amplifier circuit. The signal is amplified by transistor 61 and used to charge and discharge capacitor 64 .

[0123] The source-grounded circuit is verified by DC analysis using a circuit simulator. The bias current and the current that transistor 61 sinks during amplification can be estimated. In addition, the source ground circuit was analyzed by AC analysis using a circuit simulator. The frequency characteristics of the common-source circuit can be estimated by a circuit simulator. By performing a transient analysis, the magnitude of change in the bias current flowing in the source-grounded circuit and the input signal and the threshold voltage variation of the transistor 61 can be estimated. .

[0124] The transistor 61 preferably contains silicon in a semiconductor layer of the transistor. In addition, the transistor 61 may include a metal oxide in a semiconductor layer of the transistor. The transistor 61 may be a p-type transistor. By inverting the voltage, a common-source circuit can be constructed using a p-type transistor. Cut.

[0125] The analysis results obtained from the evaluation netlists shown in FIGS. 7A to 7D are This corresponds to the result of 1. Note that the evaluation netlist is not limited to those shown in FIGS. 7A to 7D. Charge pump circuits, ring oscillator circuits, current mirror circuits, amplifier circuits, etc. The circuit configuration is a combination of an inverter circuit, a source follower circuit, or a source ground circuit. Then, a first output result close to the netlist to be actually verified can be obtained.

[0126] FIG. 8 is a schematic diagram illustrating a neural network 15 in Q-learning. The neural network 15 is a fully connected neural network. The neural network 15 is limited to the fully connected type. The neural network 15 includes an input layer 21, an intermediate layer 23, and an output layer 22. As an example, in FIG. 8, the intermediate layer 23 is composed of the hidden layer 24 (hidden layers 24a to 24b). 4m) and hidden layer 25 (hidden layers 25a to 25m). The number of layers is not limited to two. The intermediate layer 23 may have two or more hidden layers as necessary. The number of units in each hidden layer may be different. The number of units in the hidden layer refers to hidden layers 24a to 24m as shown in FIG. vinegar.

[0127] The input layer 21 has a variable s t is given. Output layer 22 is the action value function Q(s t ,a t In addition, in the neural network of one embodiment of the present invention, It is preferable that the number of output units of the network 15 is at least twice the number of input units. For example, in FIG. 8, the input layer 21 has a unit 21a and a unit 22b, and the output layer 22 has , units 22a to 22d. That is, the variable s t Given (x1, x2) If so, 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 as four outputs. There are four possible actions, a1 through a4. Dynamic value function Q(s t ,a1) to Q(s t , a4) are Action 1 to Action The agent is assigned the action value function Q(st ,a1) to Q(s t , a4) is selected as the maximum action value function Qmax, and the action value function Qmax is Perform the associated action.

[0128] In general, when learning reinforcement learning, the error E between the output data and the training data becomes smaller. The weight coefficients of the neural network are updated as follows. The weight coefficients are updated based on the output data This is repeated until the error E of the training data becomes constant. Q-learning, a type of reinforcement learning, The optimal action value function Q(s t ,a t ) is the purpose of learning, but during learning, Action value function Q(s t ,a t ) is unknown. Therefore, the action value at the next time t+1 is Function Q(s t+1 ,a t+1 ) and r t+1 +maxQ(s t+1 ,a t+1 )of The training data is used to calculate the error E and the loss function. The network is trained.

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

[0130] In step S71, the variable x1 is input to the unit 21a of the input layer 21, and the variable x 2, and a fully connected first product-sum operation is performed in the hidden layer 24. The learning speed can be increased by performing normalization on the data. do.

[0131] In step S72, a fully connected second eigenvalue is generated in the hidden layer 25 using the calculation result of the hidden layer 24. Performs a multiply-and-accumulate operation.

[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. conduct.

[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) is selected as the maximum action value function Qmax, and the action value function Qmax is The action to be associated is determined.

[0134] In step S75, the variables x1 and x2 are updated by the action, and the unit 21 a, variable s in unit 21b t+1 Give as.

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

[0136] The parameter search device 10 includes a calculation unit 81, a memory 82, an input / output interface 83, The parameter search device 10 includes a communication device 84 and a storage device 85. The parameter search method is a method of searching for parameters by a parameter extraction unit 11, a circuit simulator 12, and a classification model 13, a control unit 14, and a program including a neural network 15. The program is stored in the storage 85 or the memory 82 and is executed by the calculation unit 81. This 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 or the like may also be connected.

[0138] The communication device 84 communicates with other networks ( The network interface 87 is electrically connected to the This includes wired and wireless communication. The network includes database 8A, remote The computer 8B and the remote computer 8C are electrically connected. A database 8A and a remote computer 8B are electrically connected via a network. and the remote computer 8C may be located in a different building, in a different region, or in a different country. Good too.

[0139] The parameter search by the parameter search device 10 is performed in accordance with the control unit 14. A parameter extraction unit 11, a circuit simulator 12, or a classification model 13 is operated by a computer. The computers (including the server computer) that perform the processing may be different.

[0140] As described above, in one aspect of the present invention, a computerized netlist is By digitizing the netlist, It is possible to search for model parameters suitable for the required characteristics of the netlist using computer resources. do.

[0141] Alternatively, one aspect of the present invention is to extract model parameters from a data set of a semiconductor device. A set of model parameters is trained on a classification model, and the model parameters are calculated by the classification model. The parameter classification method can classify the data classified by the classification model. By using the model parameters, it is possible to efficiently select model parameters that suit the required characteristics of the netlist. You can search for data.

[0142] Alternatively, one aspect of the present invention is that new model parameters are provided to the classification model. The classification model can present the probability of adaptability for each requirement characteristic that can be classified. Therefore, appropriate model parameters can be selected. A parameter selection method for easily selecting model parameters suitable for required characteristics of can be provided.

[0143] In one aspect of the present invention, the variables of the netlist given to the circuit simulator are A parameter search system that uses reinforcement learning to find the optimal candidate that meets the required characteristics. It is possible to provide a

[0144] As described above, the parameter search system trains the model parameters into a classification model. a parameter learning method for learning the model, and a parameter selection method for selecting appropriate model parameters; By combining reinforcement learning, we can search for optimal candidates that satisfy the required characteristics of the netlist. A parameter search system can be provided.

[0145] The configuration and method described in the above embodiment of the present invention may be appropriately combined with the configuration and method described in the embodiment. It can be used. EXAMPLES

[0146] In this embodiment, the parameter search method according to one aspect of the present invention is used to search for parameters. The details of the parameter search method are described below with reference to Figs. The parameter extraction unit 11 uses Utmost IV made by Silvaco. TM was used. Circuit simulation 12 uses the open source ngspice or Silvaco's S martSpice TM For ease of explanation, the target netlist is In this embodiment, the inverter circuit shown in FIG. 7A is used. The following explanation assumes that 20 model parameters were extracted using Utmost IV.

[0147] FIG. 11 shows an example of a netlist program code for an inverter circuit. In Figure 11, the program line numbers are added to the beginning of the lines to explain the program code. The number is given and listed.

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

[0149] The first line defines the model parameter variables for parameter search. The items to be set are differentiated by adding underlines. In this embodiment, a parameter for which the channel width W1 of the transistor is the optimum candidate is searched for. The channel width W1 is set as a variable param_w1 so that it can be changed during learning.

[0150] The second line is the variable param so that you can select the file that contains the model parameters. The variable param_fname will be explained in detail in FIG.

[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 to be used in the fifth or sixth line. In the embodiment, the semiconductor element is a transistor. The transistor is an n-type transistor. A p-type transistor or a p-type transistor is set.

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

[0155] The 9th line searches for the average value of the current flowing through the power supply (required characteristic iavg) using transient analysis. Set it as elephant.

[0156] The 10th line specifies the signal delay time (required characteristic tpd) to be searched using transient analysis. do.

[0157] The definition file of the model parameters used in this embodiment will be described below. The definition file level3-sample-01.lib will be explained below. The model parameters used in this embodiment were set in the level 3 format. The model parameters of the star have several different settings, such as level 1 to 3. It is preferable to use a model of a transistor at a required level. We set model parameters for general n-type and p-type transistors. In this embodiment, the definition file includes at least the threshold voltage VTO. In the 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. Simulator SmartSpice TM may also be used.

[0160] The second line is the netlist explained in Figure 11 for the circuit simulator ngspice. Set the reference destination.

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

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

[0163] The fifth line is a file that describes the model parameters to be given to the circuit simulator ngspice. In this example, The threshold voltage VTO under 20 different conditions was calculated using the model parameters. Perform data search.

[0164] The sixth and seventh lines correspond to the second output result output by the circuit simulator ngspice. Set the convergence conditions.

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

[0166] The seventh line uses transient analysis to obtain the target value of the convergence condition for the signal delay time (required characteristic tpd). Set it up.

[0167] 13A and 13B show the netlist requirements using the parameter search method according to the present embodiment. This is the result of searching for model parameters for the characteristics. When param_w1 is 20, the channel width w1 is 20μm. m. The vertical axis indicates the threshold value when the variable param_fname is 0. If the voltage VTO is 0.00V and the variable param_fname is 19, The threshold voltage VTO is 0.95 V. Circuit diagram using each parameter In the simulation, the closer the characteristics were to the required characteristics, the larger the plot was output. Furthermore, the plot for the parameter that was closest to the target value was the largest.

[0168] FIG. 13A shows the search results for parameters for the required characteristic iavg. The smaller the width W1, the smaller the required characteristic iavg, and the more suitable the parameter is for low power consumption. It was confirmed that:

[0169] FIG. 13B shows the results of searching for parameters for the required characteristic tad. It was confirmed that the smaller the pressure VTO or the smaller the required characteristic tad, the shorter the delay time. In other words, it was possible to search for model parameters suitable for shortening the delay time. This is what has happened.

[0170] 14A and 14B show an example of a GUI incorporating this embodiment. The layout display area 110, the circuit configuration 120 generated from the netlist, the parameters Real-time display of search results 130 and simulation results of a circuit simulator 14 0 can be displayed. The GUI 100 also has a start button or a restart button. The start button 150a and the stop button 150b are also included. The display items are preferably selectable by the user.

[0171] FIG. 14A shows a case where a user provides a netlist or a user setting file to the GUI, and The parameter search was started by pressing the start button 150a once. The netlist given to I was an inverter circuit. The input signal to the inverter circuit is The maximum amplitude was set to 5V. Therefore, the maximum amplitude of the output signal from the inverter circuit is 5V. was set to.

[0172] The real-time display 130 of the parameter search results is displayed every time a parameter search is performed. In this embodiment, the real-time display 130 of the parameter search result is updated. The PMOS channel width and NMOS channel width searched by the data search method, and the searched Shows the cumulative reward size given for search results.

[0173] The simulation result 140 of the circuit simulator is obtained by performing a circuit simulation using the parameter search result. The results of the simulation are displayed. In this embodiment, a circuit simulator is used. The DC analysis is performed by setting the convergence condition to 2.5V, where the output signal voltage is the same as the input signal voltage. The simulation result 140 shows the convergence conditions and the simulation results. The reward is determined according to the convergence condition and the difference in the simulation results. The weight coefficients of the neural network are updated according to the reward.

[0174] In FIG. 14B, the simulation results of the circuit simulator are converged according to the user's settings. This shows an example where the condition is met.

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

[0176] :DS1: Measurement data, DS2: Measurement data, DS3: Process parameters, F1: Settings 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, S5 3: Step, S54: Step, S55: Step, S56: Step, S57: Step S58:Step, S59:Step, S5A:Step, S5B:Step, S D1: Wiring, SD2: Wiring, 8A: Database, 8B: Remote computer, 8C: Remote computer, 10: parameter search device, 11: parameter extraction unit, 12: Road simulator, 13: Classification model, 14: Control unit, 15: Neural network, 2 1: 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: Calculation 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 a netlist; 130: Real-time analysis of parameter search results Time display, 140: Simulation result, 150a: Start button, 150b: Start Top button

Claims

1. A parameter search method executed using a classification model, a neural network, a circuit simulator, and a control unit, comprising: using the classification model, the control unit selects model parameters for required characteristics of the netlist; A first model parameter variable included in the model parameters is supplied from the control unit to the neural network; Calculating a first action-value function Q from the first model parameter variables using the neural network; 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 second model parameter; performing a simulation by the circuit simulator using the netlist and the second model parameters, and outputting an output result; The control unit determines the output result using a convergence condition given to the netlist; When it is determined that the output result does not satisfy the required characteristics of the netlist, the control unit sets a reward and updates a weight coefficient of the neural network using the reward; If it is determined that the output result satisfies the required characteristics of the netlist, the first model parameter variable is determined to be an optimal candidate for the netlist.

2. 2. The parameter search method according to claim 1, wherein the number of units in the output layer of the neural network is at least twice the number of the first model parameter variables.

3. 3. The parameter search method according to claim 1, wherein the required characteristics of the netlist include at least one of low power consumption, an operating frequency, and stability in a frequency band.

4. In any one of claims 1 to 3, A parameter search method in which the classification model indicates the probability that the model parameters will fit the required characteristics of the netlist.

5. A parameter search method executed using a classification model, a neural network, a circuit simulator, and a control unit, comprising: using the classification model, the control unit selects model parameters for required characteristics of the netlist; A first model parameter variable included in the model parameters is supplied from the control unit to the neural network; Calculating a first action-value function Q from the first model parameter variables using the neural network; Using the first action value function Q, the control unit updates the first model parameter variable to a second model parameter variable and outputs a third model parameter; performing a simulation by the circuit simulator using the netlist and the third model parameters, and outputting an output result; The control unit determines the output result using a convergence condition given to the netlist; When it is determined that the output result does not satisfy the required characteristics of the netlist, if the output result is close to a convergence condition, the control unit sets a high reward, and if the output result is far from the convergence condition, the control unit sets the reward low; Calculating a second action-value function Q from the second model parameter variables using the neural network; the neural network updates weight coefficients of the neural network based on an error calculated using the reward, the first action value function Q, and the second action value function Q; If it is determined that the output result satisfies the required characteristics of the netlist, the first model parameter variable is determined to be an optimal candidate for the netlist.

6. In claim 5, A parameter search method, wherein the number of units in an output layer of the neural network is at least twice the number of the first model parameter variables.

7. In claim 5 or 6, A parameter search method, wherein the required characteristics of the netlist include at least one of low power consumption, operating frequency, and stability in a frequency band.

8. In any one of claims 5 to 7, A parameter search method in which the classification model indicates the probability that the model parameters will fit the required characteristics of the netlist.

Citation Information

Patent Citations

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

    JP2013020614A

  • Parameter adjusting device

    JP2005038216A