Parameter search method

A computer-based method using reinforcement learning and a classification model automates the search for optimal semiconductor circuit parameters, addressing the inefficiencies of manual iteration and user reliance, enhancing the ability to meet circuit requirements.

JP2026071247APending Publication Date: 2026-04-28SEMICON ENERGY LAB CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SEMICON ENERGY LAB CO LTD
Filing Date
2026-01-14
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing methods for determining model parameters for semiconductor circuits require manual iteration and rely heavily on user experience, often missing optimal parameter combinations that meet the required characteristics of the netlist, especially when dealing with multiple semiconductor elements and varying circuit requirements.

Method used

A computer-based method using reinforcement learning and a classification model to search for optimal model parameters by extracting parameters from a dataset, performing simulations, and classifying them to meet the specific characteristics of the netlist, utilizing a neural network to update parameters based on reward and convergence conditions.

Benefits of technology

Automates the search for optimal model parameters, reducing reliance on user experience and improving the efficiency of finding parameters that meet circuit requirements, such as low power consumption, operating frequency, and stability within specified frequency bands.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026071247000001_ABST
    Figure 2026071247000001_ABST
Patent Text Reader

Abstract

This provides a method for searching for parameters in an electronically stored netlist. [Solution] In the parameter search device 10, the parameter extraction unit 11 extracts model parameters from a semiconductor device dataset, the circuit simulator 12 is given a first netlist, and performs a simulation using the first netlist and model parameters to output a first output result, and the classification model 13 learns the model parameters and the first output result to classify the model parameters. The circuit simulator is given a second netlist and model parameters, and the neural network 15 is given variables to be adjusted and outputs an action-value function to update the variables. The circuit simulator also performs a simulation using the second netlist and model parameters, and if the output second output result does not satisfy the conditions, it updates the weight coefficients of the neural network, and if the conditions are satisfied, it determines the variables to be optimal candidates.
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. This concerns the selection method or the search method.

[0002] Furthermore, one aspect of the present invention is not limited to the above-mentioned technical field. One example of a technical field in which this is clearly described is the search for parameters in chemical synthesis. It is possible.

[0003] Furthermore, one aspect of the present invention relates to a computer. One aspect of the present invention relates to a computer This invention relates to a method for searching parameters of an digitized netlist used. One aspect of the present invention is: Extract model parameters from a dataset of semiconductor devices, and the collection of model parameters A classification model can be trained, and the model parameters can be classified by the classification model. This invention relates to a lameter classification method. One aspect of the present invention is suitable for the required characteristics of the target netlist. A parameter selection method that selects model parameters according to the parameter classification method. Regarding the law. One aspect of the present invention is that the variables of the netlist given to a circuit simulator are net Reinforcement learning is used to search for the optimal candidate parameters that satisfy the requirements of the Trist. Regarding the search method. [Background technology]

[0004] The user creates a netlist, which is circuit information, in order to design a circuit. However, the circuit The information (hereinafter referred to as the netlist) has different required characteristics depending on the operating environment. The system uses a circuit simulator to simulate the required characteristics of the netlist. Perform the operation. The user can change the model parameters of the semiconductor elements included in the netlist. We search for the optimal candidate model parameters that satisfy the required characteristics of the netlist while being new.

[0005] Note that in order to perform simulations with a circuit simulator, measurement data of semiconductor elements is required. Using the process parameters, appropriate model parameters are extracted, and those model parameters The following needs to be provided to the circuit simulator. The user must find the netlist that best meets the required characteristics. To select suitable model parameters, you need to iterate through the model parameters each time you update them. Circuit simulation using a road simulator is required. Therefore, optimal To explore candidate model parameters, use the simulation results from the circuit simulator. This needs to be determined each time the user runs a simulation.

[0006] In recent years, genetic algorithms have been used to tune the parameters of the physical model of transistors. It is known that this is done. Patent Document 1 describes a genetic algorithm that is used in the physical model of a transistor. The parameter adjustment device used for Dell's parameter tuning is disclosed. [Prior art documents] [Patent Documents]

[0007] [Patent Document 1] Japanese Patent Publication No. 2005-038216 [Overview of the Initiative] [Problems that the invention aims to solve]

[0008] When dealing with model parameters for multiple semiconductor elements included in a netlist, the user needs to know: We must determine whether the model parameters satisfy the required characteristics of the netlist. There is a problem.

[0009] For example, if the netlist includes multiple semiconductor elements, the required characteristics of the netlist must be met. The model parameters for the semiconductor device in question are not limited to one, but may include multiple parameters. When a user evaluates the simulation results, the user will determine the parameters that satisfy the required characteristics. Extracting only certain values ​​may lead to them being judged as the optimal values. In other words, the user is requesting more. There is a problem in that we overlook the existence of different model parameters that may satisfy the characteristics. Therefore, the evaluation of the circuit simulator's simulation results depends on the user's experience. There are tasks to be done.

[0010] Furthermore, even with the same netlist, the required characteristics of the netlist may differ. For example, Circuits designed for low power consumption, circuits where operating frequency is important, or in a specified frequency band There are circuits that operate stably. The required characteristics of the netlist are fixed model parameters. This presents a challenge in meeting the required characteristics.

[0011] In view of the above problems, one aspect of the present invention is a computer-based electronic network One objective is to provide a method for searching for parameters of a semicircular machine. Alternatively, one aspect of the present invention is to provide a semicircular machine. We extract model parameters from a dataset of conductive elements and divide the collection of model parameters. A parametric model can be trained on a genus model and then classified by a classification model to determine the model parameters. One objective is to provide a meter classification method. Alternatively, one aspect of the present invention targets Model parameters suitable for the required characteristics of the netlist are determined by the parameter classification method. One of the objectives is to provide a parameter selection method for selecting parameters.

[0012] One aspect of the present invention is that the netlist variables provided to the circuit simulator are the netlist components This proposal proposes a parameter search method that uses reinforcement learning to find the optimal candidate that satisfies the desired characteristics. One of the objectives is to provide it.

[0013] Furthermore, the description of these problems does not preclude the existence of other problems. One approach does not require that all of these issues be resolved. The title will become clear from the description in the specification, drawings, claims, etc. It is possible to extract other issues from the descriptions in the drawings, claims, etc. [Means for solving the problem]

[0014] One aspect of the present invention relates to a classification model, a neural network, a parameter extraction unit, and a circuit system. This is a parameter search method using a emulator and a control unit. The parameter extraction unit is a semiconductor The process includes a step in which a dataset of semiconductor elements is provided. The parameter extraction unit then extracts the semiconductor elements The circuit simulator has a step of extracting the model parameters of the first network. The simulation is performed using the stock and model parameters, and the first output result is produced. The process has steps. The classification model learns the first output result and classifies the model parameters. The control unit has a step of outputting a first model parameter to the circuit simulator. The process includes the steps of providing a second netlist and second model parameters. However, in the neural network, the first model parameter is included in the second model parameter. The process has a step of providing a parameter. The neural network has a first model parameter. The process includes the step of calculating a first action-value function Q from the variables. The control unit calculates the first model The parameter variables are updated to the second model parameter variables by the first action-value function Q. The circuit simulator has a step of outputting a third model parameter. The simulation was performed using the setlist and a third model parameter, and the second output result was obtained. The process includes a step of outputting. The control unit uses the convergence conditions given to the second netlist. The process includes a step of determining a second output result. The process determines the second output result and the second net If the list of requirements is not met, the control unit sets a reward and uses that reward to... The process includes a step of updating the weight coefficients of the network. The second output result is determined, and the second If the required characteristics of the netlist are met, the first model parameter variable is equal to the second netlist. It can be determined that this is the optimal candidate for the Trist.

[0015] One aspect of the present invention comprises 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. The parameter extraction unit is: A dataset containing measurement data of a semiconductor device and process parameters is given. It has a step. The parameter extraction unit has a step of extracting model parameters. The control unit has the step of providing a first netlist to the circuit simulator. The simulator uses the model parameters and the first netlist to produce the first output result. The classification model has a step of outputting the model parameters and the first output result. The first step involves classifying the model parameters through learning and outputting the first model parameters. The control unit provides the circuit simulator with a second netlist and a second model parameter. The process includes the step of providing a data set. The control unit provides the neural network with a second model The process includes the step of providing a first model parameter variable included in the parameters. The network calculates the first action-value function Q from the first model parameter variable. It has a step. The control unit sets the first model parameter variable to the first action-value function Q. This is the step to update the second model parameter variable and output the third model parameter. The circuit simulator uses a second netlist and a third model parameter. The control unit has the step of performing a simulation and outputting a second output result. The process includes a step of determining a second output result using the convergence conditions given to the netlist. The second output result is determined, and if it does not satisfy the required characteristics of the second netlist, the control unit However, a high reward is set when the second output approaches the convergence condition, and the second output approaches the convergence condition. The neural network has a step of setting a low reward when it deviates from the bundle condition. However, it involves a step of calculating a second action-value function Q using a second model parameter variable. The neural network then calculates the reward and the first action-value function Q and the second action-value function. The error calculated using Q and the weight coefficients of the neural network are updated using It has a . The second output result is determined, and if the required characteristics of the second netlist are met, This involves determining that the first model parameter variable is the optimal candidate for the second netlist. It is possible.

[0016] In the above configuration, the first netlist includes an inverter circuit, a source follower circuit, and It is preferable that this includes one or more source-grounded circuits.

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

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

[0019] In the above configuration, the first output result extracted using the first netlist is leak Current, output current, signal rise time, or signal fall time, one or more of these. It is preferable to include it.

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

[0021] One aspect of the present invention involves the parameter search of an electronic netlist using a computer. A search method can be provided. Alternatively, one aspect of the present invention provides a dataset of semiconductor elements. Then, extract the model parameters, train the classification model with the set of model parameters, and classify This provides a parameter classification method that allows model parameters to be classified according to the model. This is possible. Alternatively, one aspect of the present invention is suitable for the required characteristics of the target netlist. This proposal proposes a parameter selection method that selects model parameters according to the parameter classification method. It can be provided. Alternatively, one aspect of the present invention provides a netlist to a circuit simulator. Reinforcement learning is used to search for the optimal candidate that satisfies the requirements of the netlist. We can provide a parameter search system.

[0022] The effects of one embodiment of the present invention are not limited to those listed above. This does not preclude the existence of other effects. These other effects are described in the following section. This is an effect not mentioned in the specification. Effects not mentioned in this section can be described in the specification or by those skilled in the art. This can be derived from drawings and other descriptions, and can be extracted as appropriate from these descriptions. Furthermore, one aspect of the present invention includes, among the effects listed above and / or other effects, at least It has one effect. Therefore, one aspect of the present invention may, in some cases, be the above row It may not always have the effects mentioned. [Brief explanation of the drawing]

[0023] [Figure 1] Figure 1 is a block diagram illustrating the parameter search method. [Figure 2] Figure 2 is a diagram illustrating the dataset. [Figure 3] Figure 3 is a flowchart illustrating the parameter search method. [Figure 4] Figure 4 is a flowchart illustrating the parameter search method. [Figure 5] Figure 5 is a flowchart illustrating the parameter search method. [Figure 6] Figure 6 is a flowchart illustrating the parameter search method. [Figure 7] Figures 7A to 7D illustrate the evaluation netlist. [Figure 8] Figure 8 is a schematic diagram illustrating a neural network. [Figure 9]Figure 9 is a flowchart illustrating neural networks. [Figure 10] Figure 10 is a block diagram illustrating a parameter search device having a parameter search method. [Figure 11] Figure 11 is a diagram illustrating the netlist of the inverter circuit. [Figure 12] Figure 12 is a diagram illustrating the user configuration file. [Figure 13] Figures 13A and 13B illustrate the results of the model parameter search. [Figure 14] Figures 14A and 14B illustrate the Graphical User Interface (GUI). [Modes for carrying out the invention]

[0024] Embodiments will be described in detail with reference to the drawings. However, the present invention is not limited to the following description. Without departing from the spirit and scope of the present invention, its form and details may be modified in various ways. Those skilled in the art will readily understand that this is possible. Therefore, the present invention is as shown in the following embodiments. It is not to be interpreted solely in terms of the description of the form.

[0025] In the configuration of the invention described below, the same part or part having a similar function is The same reference numerals are used consistently across different drawings, and explanations of their repetition are omitted. When referring to the function of [this], the hatch pattern is the same, and sometimes no specific symbol is assigned.

[0026] Furthermore, the position, size, and scope of each component shown in the drawings are, for the sake of ease of understanding, actual The position, size, and range of the edges may not be shown. Therefore, the disclosed invention is not necessarily However, this is not limited to the location, size, and scope disclosed in the drawings.

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

[0028] This parameter search method is controlled by a program running on a computer. Therefore, a computer can be called a parameter search device equipped with a parameter search method. It can be changed. The parameter search device will be explained in detail in Figure 10. The program is stored in the computer's memory or storage. This refers to a network (Local Area Network (LAN), Wide Ar Computers connected via a network (WAN), internet, etc. It is stored on a server computer that has a user or database.

[0029] The parameter search method is either machine learning or reinforcement learning. We use (Reinforcement Learning) to find the optimal candidate parameters. It can be searched. Some processing in machine learning or reinforcement learning involves artificial intelligence (Artificial Intelligence). It is preferable to use Social Intelligence (AI). Parameter exploration The search method, in particular, involves artificial neural networks. Using a Network (ANN, hereafter simply referred to as a neural network), the output It can generate data. The computational processing of a neural network is done by circuits (hardware) It is implemented by a (wire) or program (software).

[0030] Furthermore, a neural network determines the strength of connections between neurons through learning. This refers to any model that provides problem-solving capabilities. Neural networks consist of an input layer and hidden layers. It has a (may include multiple hidden layers) and an output layer. When describing this, we use existing information to determine the strength of the connections between neurons (also known as the weighting coefficient). The process of deciding on (u) is sometimes referred to as "learning."

[0031] First, we will explain how to generate a classification model for machine learning. Classification models are semiconductors. It is generated by learning the model parameters of the body elements. The classification model is generated by learning the model parameters The data is classified. Note that the model parameters are extracted from the semiconductor device dataset in the parameter extraction unit. It is extracted by providing data (including measurement data or process parameters). However, half The model parameters of the conductive elements alone are insufficient for classifying the netlist to suit the required characteristics. There are cases where this is the case.

[0032] In one aspect of the present invention, the model parameters are further analyzed. Model parameters To analyze this, we need the model parameters and the evaluation netlist given the model parameters. A circuit simulator simulation is performed using [this method]. In this simulation, Perform DC analysis, AC analysis, or transient analysis using the evaluation netlist. The evaluation results include leakage current, output current, and signal rise time in the evaluation netlist. This includes one or more of the following: the 'gear' time, or the fall time of the signal.

[0033] Therefore, in one aspect of the present invention, model parameters and a netlist for evaluation are used to reduce stains. The results of the simulation can be called training content. The classification model is training content The method of learning using tens is called parameter learning. This classification model uses parameters Circuits that prioritize low power consumption, which could not be adequately achieved with the data extraction section alone, and circuits that prioritize operating frequency. This makes it easier to classify circuits that operate stably within a specified frequency band, etc. Yes, it is possible. For the sake of simplicity, the low power consumption and operating frequency required for the circuit, and In some cases, stability in the frequency band, for example, may be described as a required characteristic.

[0034] For example, a user classifies model parameters suitable for circuits that prioritize low power consumption. When requested, the classification model presents multiple candidates from previously learned model parameters. It is possible to select multiple candidates from a range of pre-trained model parameters that can be arbitrarily specified. Supplementary information can be presented. Furthermore, the classification model can use new model parameters in the classification model. When given, the new model parameters will determine which model parameters are suitable for which required characteristics. The fitness level for each case can be presented as a probability. Therefore, the user can see the new Information to determine how well the model parameters are suited to each required characteristic It can be obtained.

[0035] In other words, the classification model selects the model parameters that best suit the required characteristics from among the already learned model parameters. A parameter selection method can be provided that allows for the selection of parameters. The learning content may also include requirements and other characteristics.

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

[0037] Alternatively, different classification models may be generated. For example, model parameters and evaluation parameters. A classification model is created that performs clustering using the results of simulations with a list of results. This can be achieved. Clustering can be done using K-means or density-ba sed spatial clustering of applications w Machine learning algorithms such as ith noise (BSCAN) can be used. .

[0038] The classification model can select training content using random sampling or cross-sampling. Variations can be used. Alternatively, the number assigned to the learning content can be used. You can select any number specified according to the sorting order. The `nts` corresponds to a dataset of semiconductor devices.

[0039] The generated classification model can be saved in the electronic device itself or in external memory. It can be called up and used when classifying shelf files, and also for new learning content. You can update the classification model by adding the necessary information and following the method described above.

[0040] Next, we will describe a neural network that performs reinforcement learning. Note that this is one embodiment of the present invention. In this case, Q-learning, or the Monte Carlo method, is used. Methods such as the o method can be used. In one aspect of the present invention, Q learning is used Let me explain an example.

[0041] First, Q-learning will be explained. Q-learning is a method of learning the value of an agent's selected action a under a certain environment (represented by variable s t and ). The agent refers to the entity that acts, and variable s t refers to the object to be acted upon. By the agent's action a , a certain environment transitions from variable s t to variable s a t , and the agent receives a reward t from variable s t+1 . In Q-learning, the action a t+1 is learned so that the total amount of the obtained reward is ultimately maximized. The value of taking action a in variable s t can be represented by the action-value function Q(s t , a t ). For example, the update formula of the action-value function Q(s t , a t ) can be expressed by Equation (1). Note that in one aspect of the present invention, the agent corresponds to a control unit, a certain environment corresponds to the variable s t given to the input layer of the neural network, and the action a t is determined by the action-value function Q(s output from the output layer of the neural network by the agent t . t is determined by the action-value function Q(s t , a t ) output from the output layer of the neural network by the agent .

[0042]

Equation

[0043] Here, α is the learning rate (α > 0 and α ≤ 1), and γ is the discount rate (0 ≤ γ ≤ 1). This shows that the learning rate α represents whether the current value or the outcome obtained from the action is given more weight. The closer the learning rate α is to 1, the more emphasis is placed on the obtained results, and the greater the change in value. The closer the discount rate α is to 0, the more emphasis is placed on present value, resulting in smaller changes in value. The discount rate γ is present This indicates whether the current reward or future reward is given more weight. The closer the discount rate γ is to 0, the more emphasis is placed on the current reward. Emphasis is placed on current rewards. The closer the discount rate γ is to 1, the more emphasis is placed on future rewards. 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) output by the neural network is used. t ,a t ) state s t and action a t The combinations are pre-selected in the lookup table (Loo The data is saved as a k Up Table (LUT). In one aspect of the present invention, A lookup table can be rephrased as an action table. Also, New The action value function Q(s) output by the network t ,a t The number of units in the neural network is Variables s given to the network t It is preferable that the number is more than twice the number of units given. It is. Also, the variable s t and action a t Each action for a combination of actions It is preferable to decide on a table. Q-learning is the action-value function Q(s t ,a t )but The action associated with the combination that yields the maximum value is executed. Note that the action-value function Qm ax1 is the action-value function Q(s) at time t. t ,a t ) is in a state where it reaches its maximum value st and action a t It means a combination.

[0045]

number

[0046] In Q-learning, the error E can be expressed by equation (2). t+1 The term is at time t This is the reward obtained through learning. maxQ(s t+1 Item a) is determined by the correct label. Variable s according to the action performed t The data is updated and recalculated by the neural network. This corresponds to the action-value function Qmax². Note that maxQ(s t+1 Item a) is, maxQ(s t+1 a t+1 ) may also be used. Note that Q(s t a t The section on ) is about behavioral value. This corresponds to the value function Qmax1.

[0047] Furthermore, the loss function L is calculated from the error E. The method for calculating the loss function L is the squared error. The following can be used: Stochastic Gradient Descent Using Descent (SGD), the neural network is designed to minimize the value of the loss function L. The weight coefficients of a stochastic gradient descent can be updated. In addition to stochastic gradient descent, Adap Momentum Estimation (Adam), Momentum tum), Adaptive SubGradient Methods (AdaGra d) RMSProp, etc. can be used. That is, the neural network The weight coefficients are updated according to the loss function L.

[0048] variable s t is variable s t+1 It was updated, and the neural network 15 calculation was performed again. In Q-learning, repeated learning is performed to minimize the loss function L.

[0049] Next, we will explain the parameter search method using Figure 1. Note that in the following sections, The parameter search method is sometimes described 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. It comprises a 13, a control unit 14, and a neural network 15. Parameter search The device 10 is provided with a semiconductor device dataset and a configuration file F1, and parameters The search device 10 outputs output data F2. Parameter extraction unit 11, circuit simulator 12, classification model 13, control unit 14, and neural network 15 are computer It is controlled by the program running on top of it.

[0051] Note that the semiconductor device dataset, configuration file F1, and output data F2 are provided by the relevant company. It is preferable that it be stored in the memory or storage of the computer. Alternatively, Computers connected via network, server computers with databases The semiconductor device dataset is stored in the memory or storage of the measuring instrument. It's okay to be there.

[0052] Furthermore, the parameter search by the parameter search device 10 is performed when the control unit 14 is in operation. The computer, parameter extraction unit 11, circuit simulator 12, or classification model 13 are in operation. The computers performing the operation (including the server computer) may be different.

[0053] The parameter extraction unit 11 receives measurement data or process parameters of semiconductor devices. It is given as a set. The parameter extraction unit 11 is instructed by the control unit 14. The dataset can be loaded. Alternatively, the parameter extraction unit 11 can be computed. When a new dataset is detected in the memory or storage on the data, parameter extraction is performed. Unit 11 can automatically load a new dataset. Parameter extraction unit 11 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 detail in Figure 7.

[0055] The circuit simulator 12 uses the evaluation netlist and the model parameters. The simulation is performed, and the simulation results are output as the first output result. The simulation will perform DC analysis, AC analysis, or transient analysis. Therefore, the first The output results include, at least, leakage current, output current, and signal in the evaluation netlist. This includes one or more of the following: rise time or fall time of a signal. Model 13 learns the model parameters and the first output result, and the model parameters The data can be classified. If multiple evaluation netlists exist, they will be evaluated sequentially. The circuit simulator 12 updates the netlist and uses multiple evaluation netlists. Output the first output result.

[0056] The circuit simulator 12 receives the netlist from the control unit 14 and the required characteristics of the netlist. The model parameters classified as suitable are given. Note that the netlist is This is circuit information for determining model parameters suitable for the required characteristics. The net is composed of multiple semiconductor elements. However, in one aspect of the present invention, the net is From among the semiconductor elements that the model has, the model parameter you want to adjust is set as the model parameter variable. You can choose to do so.

[0057] The circuit simulator is initialized by the control unit 14. Initialization information is set The settings file F1 is provided to the control unit 14. The required power supply voltage, the maximum and minimum values ​​of the model parameters, and the process parameters This includes information such as data. Note that the initialization information is determined by the user, such as keyboard and manual settings. The sound may also be provided via audio through a microphone.

[0058] The neural network 15 is provided with model parameter variables from the control unit 14. The model parameter variables were selected by the neural network 15 to find the optimal candidate. These are the model parameters of the semiconductor device. The neural network 15 is given the model parameters. The parameter variable is the variable s at time t. t This is fed to the input layer. (Neural network) 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 The model parameter variables are updated by the circuit simulator. Data 12 contains the netlist and the model parameters, including the updated model parameter variables. The simulation is performed using the following. The circuit simulator 12 outputs the second output result. ru.

[0059] The control unit 14 determines the second output result. The second output result determines the required characteristics of the netlist. If the condition is not met, the control unit sets a reward for the second output result, and further, the loss function This calculates the neural network. In neural network 15, the loss function is used to calculate the neural network. The 15 weight coefficients are updated. Note that the second output result satisfies the netlist requirements. In this case, the model parameter variable is determined to be the optimal candidate for the netlist. Note that the output data F In step 2, it is preferable that the optimal candidate for the model parameter variables is output as a list.

[0060] Unlike the method described above, the circuit simulator 12 receives the netlist from the control unit 14, Model parameters may be given. Note that in this case the model parameters are... It is not necessary to necessarily meet the required characteristics of the Stroke. However, if the second output result is sticky If the required characteristics of the strike are not met, the weight coefficients of the neural network are calculated using the loss function. Update the second netlist based on the classification model. Update to one of the aforementioned model parameters that is classified as satisfying the required characteristics. The circuit simulator 12 uses a wider range of model parameters to find the optimal candidate. We will conduct a search for lameter.

[0061] Figure 2 illustrates a dataset of semiconductor devices. This dataset is a semiconductor The element has measurement data DS1, measurement data DS2, or process parameter DS3. For example, semiconductor devices include transistors, resistors, capacitors, or diodes. Furthermore, semiconductor devices are constructed by combining transistors, resistors, capacitors, or diodes. It may be structured as is.

[0062] Figure 2 illustrates the case where the semiconductor device is a transistor. The measurement data DS1 is: Applying different fixed voltages to the source and drain of the transistor, and to the gate of the transistor... This shows the case where the voltage is swept. Therefore, the measurement data DS1 has the transistor on the horizontal axis. The gate voltage VG of the transistor is shown on the vertical axis, and the drain current ID flowing through the transistor's drain is shown on the vertical axis. These are the measurement data. Note that in Figure 2, the measurement data DS1 is shown as a graph, but This is to make the measurement data easier to understand, and in the dataset, the data is recorded numerically. It is a data.

[0063] Measurement data DS2 applies different fixed voltages to the source and gate of the transistor, This shows the case where the voltage applied to the drain of the inverter is swept. Therefore, the measurement data DS2 plots the transistor's drain voltage VD on the horizontal axis and the current flowing through the transistor's drain on the vertical axis. This is measurement data showing the drain current ID. Note that in Figure 2, the measurement data DS2 is shown. As shown in the graph, this is to make the measurement data easier to understand, and the dataset Now, let's look at the data recorded in numbers.

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

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

[0066] Figures 3 through 6 are flowcharts illustrating the parameter search method. The extraction method comprises a first process and a second process. The first process is performed by the parameter extraction unit 1 Model parameter extraction of semiconductor devices by method 1, and model parameters by classification model 13 The first step is to learn the parameters of the model selected by the classification model. Using Q-science, we find the optimal candidate for the model parameter variables of the semiconductor device included in the netlist. We will use learning to search.

[0067] Figure 3 shows the extraction of model parameters by the parameter extraction unit 11 and the classification model 13. The classification of model parameters and the process will be explained using a flowchart.

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

[0069] Step S31 is performed by extracting measurement data of semiconductor devices and process parameters from the parameter extraction unit. This is the step in which a dataset containing data such as "Ta" is loaded.

[0070] Step S32 is the step in which the parameter extraction unit 11 extracts model parameters. For example, the model parameters of a transistor are the channel length and channel width. Threshold voltage, oxide film thickness, drain resistance, source resistance, junction capacitance, noise figure, movement The measurement data includes physical parameters such as degrees or channel length modulation, and is expressed by a functional expression. Furthermore, it is preferable that the items managed by the model parameters be configurable by the user. .

[0071] Step S33 is when the control unit 14 provides the circuit simulator 12 with an evaluation netlist. Furthermore, the circuit simulator is provided with model parameters from the parameter extraction unit 11. The circuit simulator 12 has a step that allows it to perform an evaluation using a netlist. The simulation is performed. The circuit simulator 12 displays the simulation results as the first Output as the result.

[0072] Furthermore, the evaluation netlist is not limited to one, but can be multiple types of evaluation netlists. It's acceptable to include them. For example, the evaluation netlist may include inverter circuits and source follower circuits. Source-grounded circuit, charge pump circuit, ring oscillator circuit, current mirror circuit, Or it may include amplifier circuits, etc. From the evaluation netlist mentioned above, according to the characteristics of the circuit The first output result can be obtained.

[0073] For example, from an inverter circuit, you can obtain leakage current, output current, rise time, or fall time. Time and other parameters are obtained as the first output result. For example, from a source follower circuit, the circuit's Output current and other parameters are obtained as the first output result. From the source-grounded circuit, the leakage current of the circuit is obtained. Current, suction current, etc. are obtained as the first output result. Furthermore, the charge pump circuit, Netlist for evaluating ring oscillator circuits, current mirror circuits, or amplifier circuits. It can be used as a charge pump circuit, ring oscillator circuit, or current mirror. - Circuits, or amplifier circuits, etc., are inverter circuits, source follower circuits, or source-grounded circuits. A netlist with a circuit configuration that combines circuits, for which we want to verify the model parameters. A first output result with characteristics close to the required characteristics can be obtained.

[0074] As an example, we will explain in detail the inverter circuit used in the evaluation netlist. The transistor circuit may be constructed using a p-type transistor and an n-type transistor, It may be composed of either p-type transistors or n-type transistors alone. If the inverter circuit is composed only of n-type transistors, half of the n-type transistors It is preferable that the conductive layer contains a metal oxide. Also, in different inverter circuits, n The semiconductor layer of a p-type transistor contains a metal oxide, and the semiconductor layer of a p-type transistor contains a silicon A configuration including "n" is also acceptable.

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

[0076] Step S35 indicates that the control unit 14 has finished training the classification model 13 on the dataset. This is the step to determine whether the classification model 13 is trained on all datasets. If it is determined that the process is complete, the process moves to step S41, and if it is determined that there is still an untrained dataset, If successful, return to step S31 and continue training the classification model.

[0077] Figures 4 to 6 are flowcharts illustrating the second process. Parameter search In the second step of the method, parameter search is performed using Q-learning. Initialization of the circuit simulator 12 and the neural network 15 is required. (Figure 4) Now, let's explain the initialization process for performing Q-learning using a flowchart.

[0078] Step S41 is the step to initialize the neural network 15. The neural network 15 assigns random numbers to the weight coefficients of the neural network 15. It can be initialized by doing so. Alternatively, the neural network 15 has learned in the past. You can load the weight coefficients used when performing the operation.

[0079] Step S42 is the step of providing a netlist to the circuit simulator 12. Furthermore, this netlist is the netlist that the user uses to explore model parameters. ru.

[0080] Step S43 is when the control unit 14 checks the model parameters and the optimal candidate among the model parameters. Step 12 sets the model parameter variable pt that you want to explore and the circuit simulator 12. The control unit 14 is a model parameter suitable for the required characteristics of the netlist. This can be selected using the classification results of the classification model.

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

[0082] Step S45 is the action-value function Q(s) which is the output of the neural network 15. t , a t This is the step of setting the action table in ). Note that 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 network 15. Therefore, the action table is the action-value function Q(s t ,a t Corresponds to the output of ) It is preferable that the action is set accordingly.

[0083] As an example, let L be the channel length and W be the channel width of the transistor, and the model parameters Variable s as a variable t Let's explain 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 mod It is preferable that the number of parameters is the same as the number of parameters. Output of neural network 15 The number of units is preferably at least twice the number of input units. Therefore, the action value The function Q is 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= A1 to A4) each have different actions assigned to them. The action-value function Q(s t ,a t=a1~a4) includes channel as action a1. Action a2: Increase the length L, Action a3: Decrease the channel length L Action a4 involves increasing the channel width W, or decreasing the channel width W. It can be set. Note that in the following explanation, a certain variable s t Action value function in Q(s t ,a t Let the maximum value among them be the action-value function Qmax1. The action associated with it will be executed. Note that the action-value function Q(s t ,a t ) 4 or less If the above output is available, you can configure more detailed action settings.

[0085] Furthermore, it is preferable that users can set the scope of actions they can take. For example, This section explains the channel length L, one of the del parameter variables. The channel length L is determined by the manufacturing process. The range of capabilities is determined by the specifications of the device. For example, if the channel length L is 10 nm or less If the upper limit is set to 1 μm or less, and the action of reducing the channel length L continues, In some cases, the setting may fall below the lower limit of 10nm. For example, if the channel length L is at the lower limit... If the length falls below a certain 10nm, the channel length L is fixed at the lower limit of 10nm. This is possible. 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 the reward for Q-learning. This reward is set when the second output result converges. This reward is given if the condition is not met. The reward is higher when the convergence condition is approached. A reward is given, and if the convergence condition is moved further away, a lower reward is given. The size of the reward may be set to a fixed value depending on the distance to the convergence condition, or it may be set by the user It may be possible to set this.

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

[0088] Step S48 is the process of giving the variable s to the neural network 15. t From the action-value function Q This is the step to calculate max1. Next, we proceed to step S51 in Figure 5.

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

[0090] Step S51 is the action-value function Qmax1, which is the output of the neural network 15. This is the step of determining the appropriate action to take.

[0091] Step S52 is performed by an action corresponding to the action value function Qmax1, which determines the variable s t of variable s t+1 This is the step to update it. Note that the variable s t+1 is a neural network It is given to Ku15.

[0092] Step S53 sets the model parameter variable pt in the netlist to the variable s t+1 Update This is the next step.

[0093] Step S54 is when the circuit simulator 12 processes the netlist and the model parameter variable p This step involves performing a simulation using the updated model parameters. The circuit simulator 12 outputs a second output result as a simulation result.

[0094] Step S55 is when the control unit 14 determines the convergence condition given to the netlist for the second output result. This is the step to determine whether the condition is met.

[0095] Step S56 is when the control unit 14 determines the convergence condition given to the netlist for the second output result. If it is determined that the condition is met, the reinforcement learning using neural network 15 is terminated. Therefore, in that case, the second output result is the best candidate that best suits the requirements of the netlist. There is one. Furthermore, the optimal candidate for parameter variables that are suitable for the netlist requirements is further One way to search for this is to continue learning without terminating the loop even after the convergence condition is met. In this case, we can focus our search on conditions that are close to the convergence condition. Alternatively, step 41 We then proceeded to initialize the neural network 15 with different random numbers and perform reinforcement learning. Yes, you can. Alternatively, you can proceed to step S41 and perform reinforcement learning using different model parameters. It is possible to do so.

[0096] Step S57 is the step of determining the reward for Q-learning. For example, the second output result The control unit determines that the second netlist requirements are not met, and if so, the second output result A high reward is set when the result approaches the convergence condition, and when the second output result moves away from the convergence condition. The process includes a step of setting a low reward in the event of a problem.

[0097] Step S58 is the process of assigning the variable s to the neural network 15. t+1 Using This is the step to calculate 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 of ) do.

[0098] Step S59 is the step of updating the weight coefficients of the neural network 15. The weight coefficients are 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.

[0099] Step S5A is the process of giving the variable s to the neural network 15. t+1 From the value of action This is the step to calculate the number Qmax1. Next, we proceed to step S51 in Figure 5, and The action corresponding to the action value function Qmax1, which is the output of the holistic network 15, is determined. To determine.

[0100] Figure 6 is a flowchart illustrating reinforcement learning using Q-learning, which differs from that shown in Figure 5. Section 6 explains the differences from Figure 5, and describes the configuration of the invention (or the configuration of the embodiment). The same reference numeral is used in common across different drawings for parts that are identical or have similar functions. I will omit the explanation of the repetition.

[0101] In Figure 6, the variable s is determined by the action corresponding to the action-value function Qmax1. t to variable s t +1 After updating (step S52), update the model parameters of the circuit simulator 12. The process has step S5B. For example, the action in step S51 can be used to model If a parameter variable exceeds the actionable range, the model parameter is updated. However, the model parameters are classified by classification model 13, and the netlist is not required. It is preferably within a range classified as suitable for the characteristics. By updating the model parameters, Q-learning can perform a wider range of parameter exploration. By being updated, Q-learning can perform a wider range of parameter exploration.

[0102] As described above, in the parameter exploration method of one aspect of the present invention, a plurality of model parameter variables are selected from the model parameters of a plurality of semiconductor elements included in the netlist, and the optimal candidates of the model parameter variables suitable for the required characteristics of the netlist can be explored. From among the model parameters of the plurality of semiconductor elements included in the netlist, a plurality of model parameter variables are selected, and the optimal candidates of the model parameter variables suitable for the required characteristics of the netlist can be explored. From among the model parameters of the plurality of semiconductor elements included in the netlist, a plurality of model parameter variables are selected, and the optimal candidates of the model parameter variables suitable for the required characteristics of the netlist can be explored.

[0103] Also, in the parameter exploration method, the classification model classifies the model parameters suitable for the required characteristics of the netlist by learning the model parameters extracted from the parameter extraction unit and the first output result obtained by the circuit simulator using the evaluation netlist. The classification model classifies the model parameters suitable for the required characteristics of the netlist by learning the model parameters extracted from the parameter extraction unit and the first output result obtained by the circuit simulator using the evaluation netlist. The classification model classifies the model parameters suitable for the required characteristics of the netlist by learning the model parameters extracted from the parameter extraction unit and the first output result obtained by the circuit simulator using the evaluation netlist. The classification model classifies the model parameters suitable for the required characteristics of the netlist by learning the model parameters extracted from the parameter extraction unit and the first output result obtained by the circuit simulator using the evaluation netlist.

[0104] Since the classification model can select the model parameters suitable for the required characteristics of the netlist, Q-learning can be efficiently performed. For example, the classification model can be applied when considering the optimal process conditions from the conditions of the process parameters. Also, the classification model can be applied to the extraction of the model parameters according to the required characteristics of the netlist. Since the classification model can select the model parameters suitable for the required characteristics of the netlist, Q-learning can be efficiently performed. For example, the classification model can be applied when considering the optimal process conditions from the conditions of the process parameters. Also, the classification model can be applied to the extraction of the model parameters according to the required characteristics of the netlist. Since the classification model can select the model parameters suitable for the required characteristics of the netlist, Q-learning can be efficiently performed. For example, the classification model can be applied when considering the optimal process conditions from the conditions of the process parameters. Also, the classification model can be applied to the extraction of the model parameters according to the required characteristics of the netlist. Since the classification model can select the model parameters suitable for the required characteristics of the netlist, Q-learning can be efficiently performed. For example, the classification model can be applied when considering the optimal process conditions from the conditions of the process parameters. Also, the classification model can be applied to the extraction of the model parameters according to the required characteristics of the netlist. Since the classification model can select the model parameters suitable for the required characteristics of the netlist, Q-learning can be efficiently performed. For example, the classification model can be applied when considering the optimal process conditions from the conditions of the process parameters. Also, the classification model can be applied to the extraction of the model parameters according to the required characteristics of the netlist.

[0105] Figures 7A to 7D are circuit diagrams for explaining the evaluation netlist. The evaluation netlist has a capacitor 64 as an output load at the output stage of the circuit. Therefore, the output signal of the evaluation netlist can be determined whether it satisfies the required characteristics of the evaluation netlist by the voltage generated by the charge and discharge of the capacitor 64. The evaluation netlist has a capacitor 64 as an output load at the output stage of the circuit. Therefore, the output signal of the evaluation netlist can be determined whether it satisfies the required characteristics of the evaluation netlist by the voltage generated by the charge and discharge of the capacitor 64. The evaluation netlist has a capacitor 64 as an output load at the output stage of the circuit. Therefore, the output signal of the evaluation netlist can be determined whether it satisfies the required characteristics of the evaluation netlist by the voltage generated by the charge and discharge of the capacitor 64. The evaluation netlist has a capacitor 64 as an output load at the output stage of the circuit. Therefore, the output signal of the evaluation netlist can be determined whether it satisfies the required characteristics of the evaluation netlist by the voltage generated by the charge and discharge of the capacitor 64.

[0106] FIG. 7A is a circuit diagram for explaining an inverter circuit. The inverter circuit includes transistor 6 1, transistor 62, wiring 65, wiring 66, wiring SD1, and wiring SD2. Note that transistor 61 is a p-type transistor, and transistor 62 is an n-type trans istor.

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

[0108] The signal applied to wiring SD1 is the same as the signal applied to wiring SD2. Thus, transistor 61 switches between the on state and the off state complementarily with transistor 62. When transistor 61 changes from the off state to the on state, transistor 62 changes from the on state to the off state.

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

[0110] Transistor 61 or transistor 62 contains silicon in the semiconductor layer of the transistor. This is preferable. However, the transistor 62 contains a metal oxide in its semiconductor layer. That's fine.

[0111] Figure 7B is a circuit diagram illustrating a different inverter circuit from Figure 7A. In Figure 7B, The differences from 7A will be explained, and in the configuration of the invention (or the configuration of the embodiment), the same parts Alternatively, the same reference numeral may be used in common across different drawings for parts with similar functions, and the repetition thereof may be... I will omit the explanation of "shi".

[0112] The inverter circuit shown in Figure 7B has transistors 61A and 62 which are n-type transistors. He is a genista.

[0113] The signal supplied to wiring SD1 is the inverted signal of the signal supplied to wiring SD2. The signal supplied to wiring SD1 switches between the on and off states of transistor 61A. Replace. The signal supplied to wiring SD2 is the on state and the off state of transistor 62. Switch. The above operation enables DC analysis and transient analysis using the circuit simulator. It is possible.

[0114] Transistors 61A and 62 contain silicon in the semiconductor layer of the transistor. It is preferable to do so. Alternatively, transistors 61A and 62 are transistors The semiconductor layer may contain a metal oxide.

[0115] Figure 7C is a circuit diagram illustrating a source follower circuit. A source follower circuit is a transistor It has a resistor 61, a resistor 63, wiring 65, wiring 66, and wiring SD1. See Figure 7. In the source follower circuit of C, an example is shown in which the transistor 61 is an n-type transistor. Note that the source follower circuit may function as a buffer circuit (current amplification circuit). Note that the resistor 63 can use a transistor or a diode as an active load.

[0116] One of the source or drain of the transistor 61 is electrically connected to the wiring 65. The other of the source or drain of the transistor 61 is electrically connected to one of the electrodes of the resistor 63 and one of the electrodes of 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 gate of the transistor 61 is electrically connected to the wiring SD1.

[0117] The signal applied to the wiring SD1 can switch the transistor 61 between the on state (strong inversion region) and the 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] The source follower circuit can estimate the bias current of the source follower circuit and the threshold voltage of the transistor 61 by performing DC analysis using a circuit simulator. In addition, the source follower circuit can estimate the frequency characteristics of the source follower circuit by performing AC analysis using a circuit simulator. Furthermore, the source follower circuit can, by performing transient analysis using a circuit simulator, analyze the change in the bias current flowing through the source follower circuit. ​​​​​The magnitude, or the rise and fall times of the output signal, can be estimated.

[0119] It is preferable that the semiconductor layer of the transistor 61 contains silicon. However, The transistor 61 may contain a metal oxide in its semiconductor layer. The transistor 61 may also be a p-type transistor. Power supplied to wiring 65 and wiring 66 By reversing the pressure, a source follower circuit can be constructed using a p-type transistor. It is possible.

[0120] Figure 7D is a circuit diagram illustrating a common-source circuit. The common-source circuit uses transistor 6. 1. It has a resistor 63, wiring 65, wiring 66, and wiring SD1. Note that the saw in Figure 7D In the common-ground circuit, an example is shown where transistor 61 is an n-type transistor.

[0121] One electrode of resistor 63 is electrically connected to wiring 65. The other electrode of resistor 63 is One of the sources or drains of transistor 61 is electrically connected to one of the electrodes of capacitor 64. The source or drain of transistor 61 is electrically connected to the wiring 66. The other electrode of capacitance 64 is electrically connected to wiring 66. The gateway of transistor 61 The wire is electrically connected to the SD1 wiring.

[0122] The signal supplied to wiring SD1 switches the on or off state of transistor 61. It is possible. The common-source circuit functions as an amplifier circuit. Wiring SD1 is The signal is amplified by transistor 61 and used for charging and discharging capacitor 64.

[0123] The source-grounded circuit can be analyzed by performing DC analysis using a circuit simulator. The current and the current drawn in by transistor 61 during amplification can be estimated. Furthermore, the source-grounded circuit can be analyzed by performing AC analysis using a circuit simulator. The frequency characteristics can be estimated. Also, the common-source circuit can be simulated using a circuit simulator. By performing transient analysis, the magnitude of the change in bias current flowing through the source-grounded circuit and the input signal can be determined. The amplification factor and the threshold voltage variation of transistor 61 can be estimated. .

[0124] It is preferable that the semiconductor layer of the transistor 61 contains silicon. However, The transistor 61 may contain a metal oxide in its semiconductor layer. The transistor 61 may also be a p-type transistor. Power supplied to wiring 65 and wiring 66 By reversing the pressure, a common-source circuit can be constructed using a p-type transistor. Cut.

[0125] Furthermore, the analysis results obtained from the evaluation netlists shown in Figures 7A to 7D are as described above. This corresponds to result 1. Note that the evaluation netlist is not limited to Figures 7A to 7D. Charge pump circuits, ring oscillator circuits, current mirror circuits, amplifier circuits, etc. The circuit configuration includes an inverter circuit, a source follower circuit, or a source common circuit. This allows us to obtain a first output result that is close to the netlist we actually want to verify.

[0126] Figure 8 is a schematic diagram illustrating the neural network 15 in Q-learning. The neural network 15 is a fully connected type. A neural network is used. Note that the neural network 15 is not limited to a fully connected type. 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 hidden layers 24 (hidden layers 24a to 24m) and hidden layers 25 (hidden layers 25a to 25m). Note that the number of hidden layers in the intermediate layer 23 is not limited to two layers. The intermediate layer 23 can have two or more hidden layers as needed. Also, the number of units in each hidden layer may be different. The number of units in the hidden layer refers to the hidden layers 24a to 24m as shown in FIG. 8. ... ... ... ... ...

[0127] The input layer 21 is given the variable s, which is the input data at time t. t The output layer 22 outputs the action value function Q(s, a). Note that the number of output units of the neural network 15 in one aspect of the present invention is preferably twice or more the number of input units. As an example, in FIG. 8, the input layer 21 has units 21a and 22b, and the output layer 22 has units 22a to 22d. That is, when the variable s (x1, x2) is given, the action value function Q(s, a) can be represented by the four outputs of the action value function Q(s, a). There are four possible actions: a1 to a4. The action value functions Q(s, a1) to Q(s, a4) are associated with actions 1 to action 4, respectively. The agent uses the action value function Q(s ... t ... t ... ... ... ... t ... ... t ... t ... t ... t= ... 1~4 ... ... t ... t ... ...t , a1) to Q(s t , select the action value function Qmax that becomes the maximum value among a4), and execute the action associated with the action value function Qmax.

[0128] Generally, during the learning of reinforcement learning, the weight coefficients of the neural network are updated so that the error E between the output data and the teacher data becomes small. The update of the weight coefficients is repeated until the error E between the output data and the teacher data becomes constant. Q-learning, which is a type of reinforcement learning, aims to search for the optimal action value function Q(s , a t , a t ), but the optimal action value function Q(s t , a t ) is unknown during learning. Therefore, estimate the action value function Q(s t+1 , a t+1 ) at the next time t + 1, and use r t+1 + maxQ(s t+1 , a t+1 ) as the teacher data. By using this teacher data for calculating the error E and the loss function, the learning of the neural network is performed.

[0129] Figure 9 is a flowchart for explaining the neural network 15.

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

[0131] In step S72, using the operation result of the hidden layer 24, a fully connected second Perform a sum-of-products operation.

[0132] Step S73 uses the calculation result of the hidden layer 25 to perform a third sum-of-products operation in the output layer 22. conduct.

[0133] Step S74 is the action-value function Q(s) which is the output of the output layer 22. t ,a1) to Q(s t Select the action-value function Qmax that has the maximum value among , a4), and apply the action-value function Qmax to The action to be associated with it is determined.

[0134] Step S75 is when the action updates variables x1 and x2, and unit 21 a, variable s in unit 21b t+1 Give it as such.

[0135] Figure 10 is a block diagram illustrating a parameter search device 10 having a parameter search method. That is the case.

[0136] The parameter search device 10 includes a calculation unit 81, a memory 82, an input / output interface 83, It has a communication device 84 and storage 85. In other words, the parameter search device 10 The method for searching for parameters involves a parameter extraction unit 11, a circuit simulator 12, and a classification model. Provided by a program including 13, a control unit 14, and a neural network 15. The program is stored in storage 85 or memory 82, and the arithmetic unit 81... We use this to search for parameters.

[0137] The input / output interface 83 is electrically connected to the display device 86a, keyboard 86b, etc. The connection is continued. Although not shown in Figure 10, a mouse or other device may also be connected.

[0138] The communication device 84 connects to other networks via the network interface 87. It is electrically connected to the Network. Note that the network interface 87 is This includes wired or wireless communication. The network includes database 8A, remote Computer 8B and remote computer 8C are electrically connected. Database 8A, remote computer 8B, electrically connected via network And the remote computer 8C is installed in different buildings, different regions, and different countries. That's good too.

[0139] Note that the parameter search by the parameter search device 10 is performed by the control unit 14. The computer, parameter extraction unit 11, circuit simulator 12, or classification model 13 are in operation. The computers performing the operation (including the server computer) may be different.

[0140] As described above, in one aspect of the present invention, a computer-based digitized network A method for searching for parameters can be provided. By digitizing the netlist, Using computer resources, it is possible to search for model parameters that are suitable for the required characteristics of the netlist. ru.

[0141] Alternatively, one aspect of the present invention involves extracting model parameters from a dataset of semiconductor devices. The model parameters are trained on a classification model, and the model parameters are evaluated by the classification model. Data can be classified. The parameter classification method is determined by the classification model. By using del parameters, model parameters that are well-suited to the required characteristics of the netlist can be efficiently selected. You can search for data.

[0142] Alternatively, in one aspect of the present invention, new model parameters are provided to the classification model. The classification model can present the probability of adaptation for each requirement characteristic it can classify. Therefore, appropriate model parameters can be selected. Target netlist A parameter selection method that allows for easy selection of model parameters suitable for the required characteristics. We can provide this.

[0143] One aspect of the present invention is that the netlist variables given to the circuit simulator are the netlist A parameter search system that uses reinforcement learning to find the optimal candidate that satisfies the required characteristics. We can provide [something].

[0144] As described above, the parameter search system learns the model parameters into the classification model. A parameter learning method and a parameter selection method for selecting appropriate model parameters. By combining reinforcement learning, we search for the optimal candidate that satisfies the requirements of the netlist. We can provide a lameter search system.

[0145] The configurations and methods shown in one aspect of the present invention can be appropriately combined with the configurations and methods shown in the examples. It can be used. [Examples]

[0146] In this embodiment, a parameter search method according to one aspect of the present invention is used to find the parameters A search was conducted. The details of the parameter search method are explained below using Figures 11 to 14. The parameter extraction unit 11 is a Silvaco Utmost IV. TM I used it. Circuit simulation 12 can be done using open-source ngspice or Silvaco's S martSpice TM We used the following netlist for simplicity of explanation: The inverter circuit shown in Figure 7A is used. Note that in this embodiment, classification model 13 and We will proceed with the explanation assuming that 20 model parameters have been extracted using Utmost IV.

[0147] Figure 11 shows the program code for a netlist illustrating an inverter circuit as an example. In Figure 11, the program line number is placed at the beginning of each line to illustrate the program code. Assign a number to each item when listing them.

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

[0149] The first line defines the model parameter variables used for parameter exploration. The items to be set are differentiated by adding an underline. In this embodiment, We search for the optimal parameter for the channel width W1 of the transistor. In this example, The variable `param_w1` was created so that the channel width W1 can be changed during the learning process.

[0150] The second line uses the variable `param` to allow selection of the file containing the model parameters. The variable `_fname` is used. 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 supplied to the inverter circuit.

[0152] The 5th or 6th line sets the semiconductor elements and connection information to be used in the inverter circuit.

[0153] Line 7 or 8 sets the model of the semiconductor element to be used in line 5 or 6. In this example, the semiconductor element is a transistor. The transistor in question is an n-type transistor. Set a type t or p-type transistor.

[0154] Line 9 or 10 sets the analysis conditions for the required characteristics of the inverter circuit.

[0155] Line 9 uses transient analysis to search for the average value of the current flowing through the power supply (required characteristic iavg). Set it to an elephant.

[0156] Line 10 sets the signal delay time (required characteristic tpd) as the target for search using transient analysis. ru.

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

[0158] Figure 12 illustrates the user configuration file used in this embodiment.

[0159] The first line declares that the circuit simulator ngspice will be used. SmartSpice regulator TM You may also use [this].

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

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

[0162] The fourth line sets the upper limit of the actionable range to be given to the circuit simulator ngspice. , and a lower limit is given. In this embodiment, a lower limit of 1 μm and an upper limit of 20 μm are set for the channel width. To determine.

[0163] The fifth line contains the model parameters to be given to the circuit simulator ngspice. Set the file (for example, level3-sample-01.lib). In this example, The model parameters listed show threshold voltage VTO for 20 different conditions. Perform a search.

[0164] Line 6 or 7 corresponds to the second output result output by the circuit simulator ngspice. Set the convergence conditions.

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

[0166] Line 7 uses transient analysis to determine the target value of the convergence condition for the signal delay time (required characteristic tpd). Set it.

[0167] Figures 13A and 13B show the netlist search using the parameter search method in this embodiment. This is the result of exploring model parameters for a given characteristic. The horizontal axis represents the case where param_w1 is 1. When the channel width w1 is 1 μm, and when param_w1 is 20, the channel width w1 is 20 μm. This indicates that it is m. The vertical axis represents the threshold when the variable param_fname is 0. This indicates that the voltage VTO is 0.00V, and the variable param_fname is 19. This indicates that the threshold voltage VTO is 0.95V. The circuit diagram using each parameter... In the simulation, the plot was output in such a way that the closer the result was to each required characteristic, the larger the plot became. Furthermore, the plotted value corresponding to the parameter closest to the target value was the largest.

[0168] Figure 13A shows the parameter search results for the requirement characteristic iavg. Note that the channel The smaller the width W1, the smaller the required characteristic iavg, and the more suitable the parameter is for low power consumption. This was confirmed.

[0169] Figure 13B shows the results of the parameter search for the required characteristic tad. Note that the threshold voltage It has been confirmed that the smaller the pressure VTO, or the smaller the required characteristic tad, the shorter the delay time. This means that it was possible to search for model parameters suitable for reducing the delay time. This means it has come.

[0170] Figures 14A and 14B show an example of a GUI incorporating this embodiment. GUI100 This includes a layout display area 110, a circuit configuration 120 generated from a netlist, and parameters. Real-time display of search results 130, and simulation results from the circuit simulator 14 It can display 0. Also, GUI100 can use the start button or restart button. It has a start button (hereinafter referred to as the start button 150a) or a stop button 150b. It is preferable that the displayed items can be selected by the user.

[0171] Figure 14A shows the user providing a netlist or user configuration file to the GUI, and By pressing the start button 150a, the parameter search was initiated. In this embodiment, GU The netlist given to I was an inverter circuit. The input signal to the inverter circuit The maximum amplitude was set to 5V. Therefore, the maximum amplitude of the output signal output by the inverter circuit is set to 5V. I set it to that.

[0172] The real-time display of parameter search results 130 displays each time a parameter search is performed. Update. In this example, the real-time display 130 of the parameter search results is updated. The channel width of the PMOS and NMOS discovered by the search method, and the search This displays the magnitude of the cumulative reward given for the search results.

[0173] The circuit simulator simulation result 140 uses the parameter search results to determine the circuit The results of the simulation are displayed. In this embodiment, a circuit simulator was used. Then, DC analysis is performed. The convergence condition is 2.5V, where the output signal voltage is the same as the input signal voltage. This was done. Note that simulation result 140 shows the convergence conditions and the simulation results. This will be shown. The reward will be determined according to the difference between the convergence conditions and the simulation results. The weight coefficients of the RAL network are updated according to the reward.

[0174] Figure 14B shows the convergence of the circuit simulator's simulation results as set by the user. This shows an example where the conditions were met.

[0175] The configuration shown in this embodiment can be used in appropriate combination with the configuration shown in the embodiment. 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 P, 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: rotation 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: Intermediate layer, 24: Hidden layer , 24a: Hidden layer, 24m: Hidden layer, 25: Hidden layer, 25a: Hidden layer, 25m: Hidden layer, 61: Transistor, 61A: Transistor, 62: Transistor, 63: Resistor, 64: Capacity, 65: Wiring, 66: Wiring, 81: Arithmetic unit, 82: Memory, 83: Input / Output interface Face, 84: Communication device, 85: Storage, 86a: Display device, 86b: Keyboard D, 87: Network Interface, 100: GUI, 110: Layout Display Area Region, 120: Circuit configuration generated from netlist, 130: Reality of parameter search results Time display, 140: Simulation result, 150a: Start button, 150b: Top button

Claims

1. A parameter search method performed using a classification model, a neural network, a circuit simulator, and a control unit, The weight coefficients of the aforementioned neural network are initialized. The netlist is set in the aforementioned circuit simulator. The control unit sets model parameters and model parameter variables for searching for the optimal candidate among the model parameters in the circuit simulator. The aforementioned model parameter variables are set as the first variables of the neural network. An action table is set for the action-value function Q, which is the output of the aforementioned neural network. After a reward is set for the output result of the circuit simulator, a convergence condition is set. A parameter search method in which the neural network calculates the action-value function Qmax, which is the maximum value among the action-value functions Q.

2. In claim 1, The control unit uses a parameter search method to select model parameters suitable for the required characteristics of the netlist, using the classification results of the classification model.

Citation Information

Patent Citations

  • Parameter adjusting device

    JP2005038216A