A parameter optimization method, system, program, and storage medium that are robust against parameter variations.

By generating a representative set of design values ​​and adjusting the set using Bayesian estimation, the instability of optimization methods caused by parameter variability during equipment manufacturing is solved, thus improving the robustness and accuracy of equipment design.

JP2026053194APending Publication Date: 2026-03-25KK TOSHIBA
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

Existing technologies struggle to maintain the stability and effectiveness of optimization methods when faced with parameter variability during equipment manufacturing.

Method used

By generating a representative design value set and inputting it into the simulator, the characteristic values ​​and scores of adjacent design value sets are calculated, the relationship is determined and the design value set is adjusted. A new representative design value set is generated using Bayesian estimation, and optimization is performed in combination with the simulator output.

Benefits of technology

This achieves stability and effectiveness of the optimization method in the face of manufacturing variability, and improves the robustness and accuracy of equipment design.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026053194000001_ABST
    Figure 2026053194000001_ABST
Patent Text Reader

Abstract

The objective is to provide a parameter optimization method, system, program, and storage medium that are robust against parameter variations. [Solution] Multiple sets of neighboring design values ​​are generated from a representative set of design values, and a representative characteristic value set is obtained by inputting the representative set of design values ​​into the simulator. A neighboring characteristic value set is obtained by inputting the first set of neighboring design values ​​from the multiple sets of neighboring design values, and a calculated score is calculated from the neighboring characteristic values ​​included in the neighboring characteristic value set. The relationship between the calculated score and the censorship threshold is determined, and if the criterion is met, the second set of neighboring design values ​​is input into the simulator. If the criterion is not met, the value of the objective function is calculated from the characteristic values ​​included in the neighboring characteristic value set. Finally, the acquisition function is calculated from a surrogate model of the objective function using Bayesian estimation, and a new representative set of design values ​​is generated based on the acquisition function.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Embodiments of the present invention relate to a parameter optimization method, system, program, and storage medium that are robust to parameter variations. [Background technology]

[0002] There is a need for the development of technologies that can support the design of equipment and other devices. Manufacturing variations can occur during the production of the equipment and other devices being designed. [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Patent No. 7443224 [Non-patent literature]

[0004] [Non-Patent Document 1] Ilija Bogunovic, Jonathan Scarlett, Stefanie Jegelka, and Volkan Cevher, Adversarially Robust Optimization with Gaussian Processes, 32nd Conference on Neural Information Processing Systems (NeurIPS), Canada, 25th October 2018, pp.5760-5770 [Overview of the Initiative] [Problems that the invention aims to solve]

[0005] The problem that this invention aims to solve is to provide a parameter optimization method, system, program, and storage medium that are robust against parameter variations. [Means for solving the problem]

[0006] To achieve the above objectives, in this embodiment, a first representative design value set x_center(i) related to the design generates a plurality of neighbor design value sets x_risk(i), and by inputting the first representative design value set x_center(i) into the simulator, a first representative characteristic value set y_center(i) output from the simulator is obtained, and a simulation of the device characteristics is performed. By inputting the first neighbor design value set included in the plurality of neighbor design value sets x_risk(i), a first neighbor characteristic value set y_risk(i) output from the simulator is obtained, and a first calculated score is calculated from the neighbor characteristic value b_risk included in the first neighbor characteristic value set y_risk(i). The relationship between the calculated score and the censorship threshold is determined, and if the first determination result is obtained, a second neighbor design value set included in the plurality of neighbor design value sets x_risk(i) is input into the simulator. In the case of the second determination result, the value of the objective function is calculated by inputting the characteristic values ​​included in the first representative characteristic value set y_center(i) and the characteristic values ​​included in the neighboring characteristic value set y_risk(i) output from the simulator based on the input of one of the neighboring design value sets x_risk(i) into the plurality of neighboring design value sets x_risk(i). An acquisition function is calculated from the surrogate model of the objective function using Bayesian estimation, and a second representative design value set x_center(i+1) is generated based on the acquisition function. [Brief explanation of the drawing]

[0007] [Figure 1] Figure 1 is a block diagram showing the functional configuration of the parameter optimization method according to the first embodiment. [Figure 2] Figure 2 is a schematic diagram illustrating the representative design set and neighborhood design set used in the parameter optimization method according to the embodiment. [Figure 3] Figure 3 is a schematic diagram showing the structure of the calculation unit. [Figure 4] Figure 4 is a schematic diagram showing the structure of the determination unit. [Figure 5]Figure 5 is a flowchart showing the parameter optimization method according to the embodiment. [Figure 6] Figure 6 is a schematic cross-sectional view illustrating the hardware configuration of a parameter optimization system. [Figure 7] Figure 7 is a flowchart illustrating the parameter optimization method according to the first embodiment. [Figure 8] Figure 8 is a schematic cross-sectional view illustrating the structure of a semiconductor device. [Figure 9] Figure 9 is a table illustrating design items. [Figure 10] Figure 10 is a schematic diagram showing the correspondence between design items and semiconductor devices. [Figure 11] Figure 11 is a table illustrating characteristic items. [Figure 12] Figure 12 is a schematic cross-sectional view illustrating the structure of another semiconductor device. [Figure 13] Figure 13 is a graph showing the changes in the objective function values ​​for the example and the proposed method. [Figure 14(A)] Figure 14(A) is a graph showing the trend in the number of times the reference example was terminated. [Figure 14(B)] Figure 14(B) is a graph showing the trend in the number of times the proposed method was terminated. [Figure 15] Figure 15 is a flowchart illustrating the parameter optimization method according to the second embodiment. [Figure 16] Figure 16 is a flowchart illustrating the parameter optimization method according to the third embodiment. [Figure 17] Figure 17 is a flowchart illustrating the parameter optimization method according to the fourth embodiment. [Figure 18] Figure 18 is a schematic diagram showing an example of a subsearch space. [Modes for carrying out the invention]

[0008] Embodiments for carrying out the invention will be described below. In this specification and the figures, elements similar to those already described will be denoted by the same reference numerals, and detailed descriptions will be omitted as appropriate.

[0009] Figure 1 is a block diagram showing the functional configuration of the parameter optimization method according to the embodiment.

[0010] The parameter optimization method according to this embodiment is used, for example, to search for design values ​​for one or more design items relating to a device. Design items are items related to design and can be freely set by the user. The parameter optimization system includes a parameter optimization device 100 and a simulator 130. The parameter optimization device 100 uses the simulator 130 to search for design values. The parameter optimization method according to this embodiment is not necessarily limited to optimizing the design parameters of a device. It can also be applied to cases where a physical model can be constructed to define design items, such as optimizing the operating conditions of semiconductor manufacturing equipment.

[0011] The design target of a parameter optimization system is the design value of the design item. Examples of design targets include design values ​​related to semiconductor devices, hard disk drives, sensor devices, industrial robots, gas component ratios, and plasma generation voltage.

[0012] The following describes the configuration and operation of a parameter optimization system, using a semiconductor device as an example of the design target. Semiconductor devices include, for example, Metal Oxide Semiconductor Field Effect Transistors (MOSFETs), Insulated Gate Bipolar Transistors (IGBTs), and diodes. The example semiconductor device is a MOSFET shown in Figure 8, which has multiple design items shown in Figure 9 and multiple characteristic items shown in Figure 11. A set of design items necessary for designing the target device is called design item set X. A set of design values ​​corresponding to each design item in design item set X is called design value set x. The MOSFET design item set X includes items such as the impurity concentration of each semiconductor layer, the thickness of each semiconductor layer, and the dimensions of other elements. The values ​​that indicate the characteristics of the target device are characteristic values, and the items that represent these are characteristic items. The characteristic items of the MOSFET include, for example, on-resistance, breakdown voltage, and switching charge. The configuration of the MOSFET to be designed will be described later.

[0013] Hereafter, specific design items or groups of design items will be written in uppercase letters, and the corresponding design values ​​and groups of design values ​​will be written in lowercase letters. When referring to a design value, group of design values, or set of design values ​​in the i-th search cycle, (i) will be added. i is a natural number greater than or equal to 1. Individual design items included in each group of design items and individual design values ​​included in each group of design values ​​will be written with a hyphen (-) and a number.

[0014] The simulator 130 simulates the characteristics of the device based on the input set of design values ​​x and calculates the corresponding set of characteristic values ​​y.

[0015] The following describes the design items and design values ​​entered into simulator 130. Design item set X includes design item group A, design item group B, and design item group C. Each design item group contains one or more design items.

[0016] An arbitrary set of design values ​​x includes design value group a corresponding to design item group A, design value group b corresponding to design item group B, and design value group c corresponding to design item group C. Each design value group contains multiple design values. Each design value group contains multiple design values ​​corresponding to each of the multiple design items included in the corresponding design item group.

[0017] Design item group A includes one or more design items to be explored. A design item to be explored refers to a design item that you want to optimize in the design of the device. Design item group A includes design item A-1, design item A-2, ..., design item A-N1 (where N1 is a natural number greater than or equal to 1). The number of design items included in design item group A is not limited, but a practical range of 1 to 20 is preferable. Design item group B includes one or more design items that take manufacturing variability into consideration.

[0018] Design item group B includes design item B-1, design item B-2, ..., design item B-N2 (where N2 is a natural number greater than or equal to 1). Design item group C refers to one or more design items obtained by removing design item group A and design item group B from design item set X.

[0019] Design item group C includes design item C-1, design item C-2, ..., design item C-N3 (where N3 is a natural number greater than or equal to 1).

[0020] The design value set x includes the representative design value set x_center and the neighboring design value set x_risk. The representative design value set x_center is the design value set being searched. When referring to the representative design value set x_center in the i-th search cycle, it is written as representative design value set x_center(i). The representative design value set x_center(i) includes the design value group a(i), the representative design value group b_center, and the design value c. A new representative design value set x_center(i+1) is generated by changing the values ​​of the design value group a based on the acquisition function. The neighboring design value set x_risk(i) is generated by changing the representative design value group b_center in the representative design value set x_center(i) to the neighboring design value group b_risk.

[0021] The neighboring design value set x_risk is a design value set in which the values ​​of design item group B are neighboring values ​​of the representative design value group b_center of the representative design value set x_center being searched. The neighboring design value set x_risk corresponds to a design value set that assumes that manufacturing variations occur in design item group B in the device of the representative design value set x_center. The values ​​of design value group a are adjusted by inputting the neighboring design value set x_risk into the simulator.

[0022] The nearest design value set x_risk in the i-th search cycle is referred to as the nearest design value set x_risk(i). N4 nearest design value sets x_risk(i) are generated in the i-th search cycle. Multiple nearest design value sets x_risk(i) are extracted at equal intervals by normalizing the endpoints of the confidence interval of the representative design value set x_center(i) as circular points. When distinguishing between individual nearest design value sets x_risk(i), they are referred to as x_risk(i)[1], x_risk(i)[2], ..., x_risk(i)[N4], respectively. Any nth nearest design value set is referred to as x_risk(i)[n]. The nearest design value set x_risk(i) in the i-th search cycle includes the design value group a(i), the nearest design value group b_risk, and the design value c.

[0023] In the i-th search cycle, the representative design value set x_center(i) and the neighboring design value set x_risk(i) correspond to design items A-1, A-2, ..., and A-N1, respectively, as design values ​​a-1(i), a-2(i), ..., and a-N1(i). In the i-th search cycle, the values ​​of design item group A in the representative design value set x_center(i) and the neighboring design value set x_risk(i) are the same.

[0024] The representative design value set x_center(i) for the i-th search cycle includes design value group a(i), representative design value group b_center, and design value group c. In the representative design value set x_center(i) for the i-th search cycle, the values ​​corresponding to design items B-1, B-2, ..., and B-N2 are representative design value b-1_center, representative design value b-2_center, ..., and representative design value b-N2_center, respectively.

[0025] Let the values ​​of design item group B in any neighboring design value set x_risk(i) in the i-th search cycle be denoted as design value group b_risk(i). In any neighboring design value set x_risk(i) in the i-th search cycle, the values ​​corresponding to design item B-1, design item B-2, ..., design item B-N2 are denoted as neighboring design value b-1_risk(i), neighboring design value b-2_risk(i), ..., neighboring design value b-N2_risk(i), respectively.

[0026] In the nth neighbor design value set x_risk(i)[n] of the i-th search cycle, the values ​​of design item group B are denoted as neighbor design value group b_risk[n]. In the nth neighbor design value set x_risk(i)[n] of the i-th search cycle, the values ​​corresponding to design item B-1, design item B-2, ..., design item B-N2 are denoted as neighbor design value b-1_risk[n], neighbor design value b-2_risk[n], ..., neighbor design value b-N2_risk[n], respectively.

[0027] In the i-th search cycle, the representative design value set x_center(i) and the neighboring design value set x_risk(i) correspond to design items C-1, C-2, ..., C-N3, respectively. The values ​​of design item group C in the representative design value set x_center(i) and the neighboring design value set x_risk(i) are the same in the i-th search cycle. The values ​​of design item group C in the representative design value set x_center(i) and the representative design value set x_center(i+1) are the same. Since the values ​​of design item group C are fixed values, they can be stored in a text file.

[0028] When the representative design value set x_center(i) is input to the simulator, the representative characteristic value set y_center(i) is output, and when the neighboring design value set x_risk(i) is input to the simulator, the neighboring characteristic value set y_risk(i) is output.

[0029] As shown in Figure 2, for one representative design value set x_center(i), there are N4 neighboring design value sets x_risk(i). Each value included in the neighboring design value group b_risk, which is included in the neighboring design value set x_risk(i), can be determined by considering the manufacturing variability of each design item in the design item group B when manufacturing a product using the representative design value set x_center(i). The standard deviation of the manufacturing variability for design item Bm (where m is a natural number from 1 to N2) is σ m The arbitrary neighboring design value b-m_risk for design item group B can also be obtained using the following formula.

[0030]

number

[0031] α can be freely set according to the tolerance for manufacturing variation. Values ​​such as ±3, between -7 and -2, and between 2 and 7, may be used for α. The design values ​​of design item group B other than design item Bm may be the same as the representative design value group b_center.

[0032] Standard deviation σ m The standard deviation σ can be determined by actually manufacturing the target product using the manufacturing equipment and adjusting it to the characteristics of the manufacturing equipment used. m A predetermined value that takes into account manufacturing variations can be used. For example, the standard deviation σ can be calculated using the following formula. m You may obtain it.

[0033]

number

[0034] β can be freely set according to the characteristics of the manufacturing equipment. A value of β between 0.1% and 10%, for example 2%, may be used.

[0035] The following explains how to select neighboring design values ​​when there are multiple design items. Assume that the variability of design items B-1, B-2, ..., B-N2 follows independent normal distributions. The user selects the standard deviations σ1, σ2, ..., σ of the variability of the design items. N2 Enter the following information. The user also enters the percentage of variation they want to consider. Here, we will use 99.7%, which corresponds to 3σ, as an example.

[0036] Alternatively, the variance can be investigated by manufacturing and measuring products using the representative design value set x_center(i) with actual manufacturing equipment. Alternatively, the standard deviation can be obtained by multiplying each representative design value b_center by a constant, for example, 2%. This means that the standard deviation of each design value is 2% of the original design value.

[0037] Nearby design values ​​are design values ​​used to measure how much a characteristic deteriorates due to manufacturing variations. Therefore, they need to be reasonably far from the representative design value set x_center(i), and it is also desirable that each nearby design value is far from the others. To satisfy this condition, for example, when considering manufacturing variations within a range of 3σ (99.7%), a 99.7% confidence interval can be drawn with the representative design value set x_center(i) as the center, and the normalized nearby design values ​​can be selected so that they are evenly spaced as circular points on the ends of that confidence interval.

[0038] The following shows an embodiment of the neighboring design value set x_risk(i,k)(k=1,…,N4). Figure 2 is an example where there are two design items (design item B) that consider manufacturing variations in the device. The vertical and horizontal axes represent each design item. There are a total of eight neighboring design values. These neighboring design values ​​are not selected all at once, but rather selected by considering the cases where there is one design item that varies simultaneously, and the cases where there are two design items that vary simultaneously. The specific procedure is as follows.

[0039] First, let's consider the case where one design item varies independently in Figure 2. We focus on the case where only the design item on the horizontal axis (trench width) varies. If the standard deviation of the trench width variation is σ1, then the points x_risk(i,3) which are distributed by +3σ1 in the horizontal direction and x_risk(i,7) which are distributed by -3σ1 are selected as neighboring design values. Next, let's consider the case where only the design item on the vertical axis (trench depth) varies. If the standard deviation of the trench depth variation is σ2, then the points x_risk(i,1) which are distributed by +3σ2 in the vertical direction and x_risk(i,5) which are distributed by -3σ2 are selected as neighboring design values.

[0040] Next, let's consider the case in Figure 2 where two design items vary simultaneously. Assuming that each design item varies according to an independent normal distribution, the probability distribution of the variation will be a two-dimensional normal distribution, and the endpoints of its 99.7% confidence interval will be ellipses represented by the following formula.

[0041]

number

[0042] Here, the coordinate vectors x and x_center are denoted as x1 and x_center1 for the horizontal axis components, and x2 and x_center2 for the vertical axis components. Here, D2 is a quantity called the Mahalanobis distance. D2 can be obtained by inputting 99.7% into the probability density function of a chi-squared distribution with 2 degrees of freedom. The solid black circles shown in Figure 2 represent this ellipse. Now, the remaining four neighborhood design values ​​are selected from this ellipse. The selection method is to choose the points where the diagonals passing through the representative design value intersect the ellipse. There are two diagonals, which are expressed by the following formulas.

[0043]

number

[0044]

number

[0045] Calculating these, the points where the horizontal variability is ±2.41σ1 and the vertical variability is ±2.41σ2 are the neighborhood design values. By selecting the intersection points of these diagonals and the ellipse, the four neighborhood design values ​​x_risk(i,2), x_risk(i,4), x_risk(i,6), and x_risk(i,8) shown in Figure 2 are determined.

[0046] As shown in the embodiment in Figure 2, when there are two design items B, the endpoints of the confidence interval are ellipsoids. On the other hand, when there are three or more design items B, the shape of the endpoints of the confidence interval becomes a multidimensional ellipsoid. Even in such high-dimensional cases, the method in Figure 2 can be extended to appropriately determine the neighboring design values. For example, when there are Nb design items B (Nb≧3), the neighboring design values ​​are determined by the following procedure.

[0047] First, consider the case where there is only one design item that varies simultaneously, that is, where each design item varies independently. In this case, the endpoints of the 99.7% confidence interval can be found by counting all the points that have shifted by +3σ and -3σ in the direction in which each design variable varies, just as when x_risk(i,k) (k=1,3,5,7) was selected in Figure 2. There are 2 × Nb such points.

[0048] Next, let's consider the case where there are 2 design items that vary simultaneously. Since the total number of design items that vary is Nb, the number of combinations in which 2 of them vary simultaneously is Nb There are C2 possibilities. First, let's focus on one combination. If we call this combination the first design item and the second design item, the endpoints of the 99.7% confidence interval in this case will be a two-dimensional ellipsoid represented by the following formula.

[0049]

number

[0050] Here, for the coordinate vectors x and x_center, the component in the first direction is denoted as x1 and x_center1, and the component in the second direction is denoted as x2 and x_center2. D2 is the Mahalanobis distance, which can be obtained by inputting 99.7% into the probability density function of the chi-square distribution with 2 degrees of freedom.

[0051] For the neighborhood design values, on this ellipse, choose those where the first component and the second component vary at the same ratio. When choosing such points, it is advisable to consider the rectangle tangent to the ellipse. That is, draw lines from the center of the ellipse towards each vertex of the rectangle, and the points where these lines intersect the ellipse can be used as the neighborhood design values. The number of intersection points is equal to the number of vertices of the rectangle, so it is 4.

[0052] This procedure is Nb performed for all C2 combinations, and all neighborhood design values in the case where 2 design variables vary simultaneously are selected. The total number is 4 × Nb C2.

[0053] Furthermore, consider the case where the number of design items that vary simultaneously is 3. The number of design items that vary is Nb, and the number of combinations where 3 of them vary simultaneously is Nb C3. First, focus on one combination. If the combination under consideration is called the first design item, the second design item, and the third design item, then the boundary of the 99.7% confidence interval at this time is an ellipsoid represented by the following mathematical formula.

[0054]

Equation

[0055] Here, for the coordinate vectors x and x_center, the component in the j-th direction is denoted as x j and x_center j and x_center j (j = 1, 2, 3). D3 is the Mahalanobis distance, which can be obtained by inputting 99.7% into the probability density function of the chi-square distribution with 3 degrees of freedom.

[0056] The neighborhood design values ​​are selected for this ellipsoid where the first, second, and third components are distributed in equal proportions. When selecting such points, it is helpful to consider a rectangular prism tangent to the ellipsoid. That is, lines are drawn from the center of the ellipsoid to each vertex of the rectangular prism, and the points where these lines intersect the ellipsoid are designated as the neighborhood design values. The number of intersection points is equal to the number of vertices of the rectangular prism, so there are 8 intersection points.

[0057] Follow these steps, Nb Performing this for all combinations of C3 values ​​selects all neighboring design values ​​when there are 3 design variables that vary simultaneously. The total number is 8× Nb There will be 3 C's.

[0058] In this way, by increasing the number of simultaneously varying design items from 4, 5, ... up to Nb, and normalizing them as spherical points, it is possible to obtain reasonably dense and equally spaced proximity design values.

[0059] For cases of 4 or more items, the procedure is the same as for 3 items. For example, if the number of design items that vary simultaneously is L (4 ≤ L ≤ Nb), the proximity design value in this case can be calculated as follows: There are Nb design items that vary, and the combinations in which L of them vary simultaneously are: Nb C L There are several possibilities. First, let's focus on one combination. If we call the combination we've focused on the first design item, the second design item, ..., the L-th design item, then the endpoints of the 99.7% confidence interval in this case will be an L-dimensional ellipsoid represented by the following formula.

[0060]

number

[0061] Here, for the coordinate vectors x and x_center, the component in the j-th direction is x j and x_center j This was written as (j=1,2,…,L). D L This is the Mahalanobis distance, which can be calculated by inputting 99.7% into the probability density function of a chi-squared distribution with L degrees of freedom.

[0062] The neighborhood design values ​​are selected from the L-dimensional ellipsoid where each component is distributed at an equal rate. When selecting such points, it is helpful to consider an L-dimensional rectangular prism tangent to the L-dimensional ellipsoid. That is, lines are drawn from the center of the L-dimensional ellipsoid to each vertex of the L-dimensional rectangular prism, and the points where these lines intersect the L-dimensional ellipsoid are designated as the neighborhood design values. The number of intersection points is equal to the number of vertices of the L-dimensional rectangular prism, so 2 L It is an individual.

[0063] Follow these steps, Nb C L Performing this for all possible combinations will select all neighboring design values ​​when there are L design variables that vary simultaneously. The total number of such values ​​is 2 L × Nb C L To become an individual.

[0064] If we count the number of design items that vary simultaneously from 1 to Nb, the number of adjacent design values ​​will be Σ j = 1,…,Nb 2 j × Nb C j The number of items is [number]. If counting up to Nb items results in an enormous number, you may stop midway and use a smaller number of neighborhood design values.

[0065] The following describes the characteristic items and characteristic value sets output by the simulator 130. A set of characteristic items output by the simulator 130 is called the characteristic item set Y, and a corresponding set of characteristic values ​​is called the characteristic value set y. A characteristic item refers to an item that is output when design items are input to the simulator 130. The simulator 130 outputs the representative characteristic value set y_center(i) and the neighboring characteristic value set y_risk(i)[n] in response to the input of the representative design value set x_center(i) and the neighboring design value set x_risk(i)[n]. The simulator 130 sends the outputted representative characteristic value set y_center(i) to the extraction unit 114. The simulator 130 also sends the outputted neighboring characteristic value set y_risk(i)[n] to the calculation unit 111.

[0066] As shown in Figure 1, the parameter optimization device 100 includes a Bayesian estimation unit 110, a calculation unit 111, a file generation unit 112, a determination unit 113, an extraction unit 114, a command generation unit 115, an input unit 116, an output unit 117, and a storage unit 140.

[0067] Figure 3 shows the functional configuration of the calculation unit 111. As shown in Figure 3, the calculation unit 111 includes an acquisition function calculation unit 301, a design value calculation unit 302, a score calculation unit 303, a measurement order calculation unit 304, and an objective function calculation unit 305.

[0068] The acquisition function calculation unit 301 and the design value calculation unit 302 will be described later. When the simulator 130 outputs the neighboring characteristic value set y_risk(i), the score calculation unit 303 calculates the calculated score. The calculated score is calculated based on a specific characteristic value or a specific combination of characteristic values ​​from a certain group of characteristic values. Here, the higher the value of the calculated score, the more representative the characteristic value is. The score calculation unit 303 sends the calculation result of the calculated score to the determination unit 113, the extraction unit 114, and the storage unit 140.

[0069] Figure 4 shows the functional configuration of the determination unit 113. As shown in Figure 4, the determination unit 113 includes a termination determination unit 401, an actual measurement count determination unit 402, a target value determination unit 403, and an estimated count determination unit 404.

[0070] The termination determination unit 401 accesses the storage unit 140 and obtains the termination threshold. The termination determination unit 401 determines the relationship between the calculated score output from the score calculation unit 303 and the termination threshold. The termination determination unit 401 sends the determination result to the storage unit 140.

[0071] The measurement count determination unit 402 determines, if the calculated score is equal to or greater than the termination threshold, whether all of the representative design value set x_center(i) and the neighboring design value set x_risk(i) stored in the file generation unit 112 have been input to the simulator 130. The determination result is sent to the storage unit 140.

[0072] In the termination determination unit 401, if the calculated score is less than the termination threshold, or in the measurement count determination unit 402, if all of the representative design value set x_center(i) and neighboring design value set x_risk(i) stored in the file generation unit 112 have been input to the simulator 130, the extraction unit 114, upon outputting the representative characteristic value set y_center(i) and neighboring characteristic value set y_risk(i) from the simulator 130, extracts characteristic values ​​related to a predetermined characteristic item from the representative characteristic value set y_center(i). For example, the design value Ron-center. The extraction unit 114 also extracts characteristic values ​​related to a predetermined characteristic item from the neighboring characteristic value set y_risk(i)[n]. For example, the characteristic value Vdss-worst with the lowest calculated score. The extraction unit 114 sends these extracted characteristic values ​​to the calculation unit 111. The extraction unit 114 may also extract two characteristic values ​​from the neighboring characteristic value set y_risk(i).

[0073] If the measurement count determination unit 402 has not input all of the representative design value set x_center(i) and neighboring design value set x_risk(i) stored in the file generation unit 112 to the simulator 130, the measurement count determination unit 402 sends the remaining representative design value set x_center(i) and neighboring design value set x_risk(i) to the simulator 130.

[0074] The objective function calculation unit 305 accesses the storage unit 140 and obtains the objective function. The objective function calculation unit 305 inputs the characteristic value extracted from the representative characteristic value set y_center(i) and the characteristic value with the lowest calculated score extracted from the neighboring characteristic value set y_risk(i)[n] into the objective function and calculates the value of the objective function. The objective function is a function for calculating a calculated score from characteristic values ​​and is set in advance by the user.

[0075] The objective function calculation unit 305 stores the calculated objective function value in the storage unit 140, linking it to the representative characteristic value set y_center(i) and the neighboring characteristic value set y_risk(i), which include the characteristic values ​​input to the objective function, and the representative design value set x_center(i) and the neighboring design value set x_risk(i) that formed the basis of those characteristic value sets.

[0076] The memory unit 140 stores the censorship threshold, target value, historical data, objective function, and specified number of iterations. The censorship threshold is a value used to compare the magnitude of the characteristic value with the calculated score. To reduce the number of simulations and to terminate simulations of unsuitable design values ​​as early as possible, the censorship threshold may be gradually increased during the search. The historical data includes one or more datasets. Each dataset includes the calculated score and the value of the objective function. The value of the objective function is associated with the representative characteristic value set y_center(i) and the neighboring characteristic value set y_risk(i), which contain the characteristic values ​​input into the objective function, and the representative design value set x_center(i) and the neighboring design value set x_risk(i), which are the basis for those characteristic value sets.

[0077] The target value determination unit 403 determines the relationship between the value of the objective function calculated by the objective function calculation unit 305 and the target value. The target value determination unit 403 sends the determination result to the storage unit 140.

[0078] If the objective function value exceeds the target value in the target value determination unit 403, the predicted number of times determination unit 404 determines the relationship between the number of times the representative design value set x_center(i) and the neighboring design value set x_risk(i) were calculated in the design value calculation unit 302 and the specified number of times. The predicted number of times determination unit 404 sends the determination result to the storage unit 140.

[0079] When a new dataset is saved to the storage unit 140 from the score calculation unit 303 and the objective function calculation unit 305, the Bayesian estimation unit 110 accesses the storage unit 140 and retrieves the historical data obtained. From the historical data, the Bayesian estimation unit 110 estimates a surrogate model of the objective function and sends it to the acquisition function calculation unit 301.

[0080] The acquisition function calculation unit 301 calculates the acquisition function from a surrogate model of the objective function. The acquisition function calculation unit 301 sends the acquisition function to the design value calculation unit 302.

[0081] The design value calculation unit 302 calculates a new representative design value set x_center(i+1) and a new neighbor design value set x_risk(i+1) based on the acquisition function. The design value calculation unit 302 sends the calculated new representative design value set x_center(i+1) and new neighbor design value set x_risk(i+1) to the file generation unit 112 and the storage unit 140. The design value calculation unit 302 also sends the new neighbor design value set x_risk(i+1) to the score calculation unit 303. When referring to design values, design value groups, or design value sets in the (i+1)th search cycle, (i+1) is added to the notation. i is a natural number greater than or equal to 1. In the cycle immediately preceding the (i+1)th search cycle, data with (i) added is used.

[0082] When a new set of neighboring design values ​​x_risk(i+1) is saved from the design value calculation unit 302, the score calculation unit 303 calculates the predicted score for each of the new neighboring design values ​​b_risk(i+1).

[0083] The prediction score is either a regression of neighboring characteristic values ​​or a combination of regressions of neighboring characteristic values.

[0084] According to this embodiment, a prediction score is calculated from a new set of neighboring design values ​​x_risk(i+1). The order of severity is determined by the relative magnitudes of the prediction scores, and the new set of neighboring design values ​​x_risk(i+1) is rearranged in order of severity of prediction scores. A portion of the new set of neighboring design values ​​x_risk(i+1) is then input into the simulator in order of severity of prediction scores. The order of severity of scores refers to arranging the predicted or calculated score values ​​from the neighboring design value set x_risk(i) in descending order of severity.

[0085] The measurement order calculation unit 304 determines the order in which to input the new neighboring design value set x_risk(i+1) into the simulator 130 based on the predicted score of the new neighboring design value group b_risk(i+1) calculated by the score calculation unit 303, and sends the simulation order information to the file generation unit 112.

[0086] The file generation unit 112 generates a file for input to the simulator 130. The file contains data in simulation order for a new representative design set x_center(i), a new neighborhood design value set x_risk(i+1), and a new neighborhood design value b_risk(i+1). For example, the number of design values ​​calculated by the design value calculation unit 302 is the same as the number of design values ​​included in the representative design value set x_center(i) and the neighborhood design value set x_risk(i). In this case, the design value calculation unit 302 generates a new representative design value set x_center(i+1) and a new neighborhood design value set x_risk(i+1). The number of new design values ​​calculated by the design value calculation unit 302 may be less than the number of design values ​​included in the representative design value set x_center(i) and the neighborhood design value set x_risk(i). If the number of newly calculated design values ​​is less than the number of design values ​​included in the representative design value set x_center(i) and the neighboring design value set x_risk(i), the file generation unit 112 adds the missing design values ​​as appropriate. In this case, the file generation unit 112 generates a new representative design value set x_center(i+1) and a new neighboring design value set x_risk(i+1). The file generation unit 112 inputs the new representative design value set x_center(i+1) and the new neighboring design value set x_risk(i+1) into the simulator 130.

[0087] The instruction generation unit 115 generates execution instructions for the simulator 130 to run the simulation. The instruction generation unit 115 sends the execution instructions to the simulator 130 at a predetermined timing.

[0088] The simulator 130 executes a simulation using the representative design value set x_center(i+1) or the neighboring design value set x_risk(i+1) input from the file generation unit 112. The simulator 130 outputs the new representative characteristic value set y_center(i+1) and the new neighboring characteristic value set y_risk(i+1) obtained as a result of the simulation to the extraction unit 114.

[0089] The input unit 116 is used by the user to input data into the parameter optimization system. The user can use the input unit 116 to store data necessary for processing by the parameter optimization system, such as the termination threshold, target value, objective function, specified number of iterations, and initial search conditions, in the storage unit 140.

[0090] If the target value determination unit 403 determines that the value of the objective function is below the target value, or if the predicted number of calculations determination unit determines that the number of calculations for the representative design value set x_center(i) and the neighboring design value set x_risk(i) exceeds a specified number of calculations, the output unit 117 outputs data to the user indicating at least one selected from the group consisting of the representative design value set x_center(i), the neighboring design value set x_risk(i), the representative characteristic value set y_center(i), the neighboring characteristic value set y_risk(i), and the calculated score. For example, the output unit 117 displays the number of iterations of a processing set that includes input of the representative design value group x_center(i) and the neighboring design value group x_risk(i), calculation of the prediction score, acquisition of the representative characteristic value group y_center(i) and the neighboring design value group y_risk(i), calculation of the calculated score, generation of a new representative design value group x_center(i+1) and a new neighboring design value group x_risk(i+1), and the new representative characteristic value group y_center(i+1) and the new neighboring characteristic value group y_risk(i+1). The output unit 117 may also output the best design value set z_center of the device as data. Hereafter, the processing set will also be referred to as a "trial". The output unit 117 may also display a structural diagram of the device that reflects the best design value set z_center after the trial has been repeatedly executed.

[0091] Figure 5 is a flowchart illustrating the parameter optimization method according to the embodiment. In the parameter optimization method shown in Figure 5, the file generation unit 112 generates a file for input to the simulator 130 based on the calculated representative design value set x_center(i) and multiple neighboring design value sets x_risk(i), and inputs it into the simulator 130. (Step S501).

[0092] The extraction unit 114 obtains characteristic values ​​related to predetermined characteristic items from the representative characteristic value set y_center(i) output from the simulator 130. The extraction unit 114 also obtains the characteristic value with the worst calculated score from the neighboring characteristic value set y_risk(i) (step S502).

[0093] The objective function calculation unit 305 calculates the value of the objective function by inputting the characteristic value related to a predetermined characteristic item in the representative characteristic value set y_center(i) and the characteristic value with the worst calculation score in the neighboring characteristic value set y_risk(i) into the objective function (step S503).

[0094] The Bayesian estimation unit 110 generates a surrogate model of the objective function from historical data including combinations of calculated scores and objective function values, and sends it to the acquisition function calculation unit 301. The acquisition function calculation unit 301 obtains the acquisition function based on the surrogate model of the objective function and sends it to the design value calculation unit 302 (step S504).

[0095] The design value calculation unit 302 obtains a new representative design value set x_center(i+1) based on the acquisition function and sends it to the design value calculation unit 302. The design value calculation unit 302 calculates a new neighboring design value group y_risk(i) based on the new representative design value group x_center(i+1). (Step S505).

[0096] The design values ​​of the device are explored by repeating the trial that includes steps S501 to S505.

[0097] Figure 6 is a schematic diagram illustrating the hardware configuration of a parameter optimization system. The parameter optimization system according to this embodiment can be realized with the hardware configuration of the parameter optimization system shown in Figure 6. The processing unit 600 shown in Figure 6 includes a CPU 601, ROM 602, RAM 603, storage device 604, input interface 605, output interface 606, and communication interface 607.

[0098] ROM602 stores programs that control the computer's operation. ROM602 contains the programs necessary for the computer to perform the processes described above. RAM603 functions as a memory area where the programs stored in ROM602 are deployed.

[0099] The CPU 601 includes processing circuits. The CPU 601 uses the RAM 603 as work memory and executes programs stored in at least one of the ROM 602 or the storage device 604. During program execution, the CPU 601 controls each component via the system bus 608 and performs various processes.

[0100] The storage device 604 stores data necessary for program execution and data obtained through program execution.

[0101] The input interface (I / F) 605 connects the processing unit 600 and the input device 605a. The input I / F 605 is, for example, a serial bus interface such as USB. The CPU 601 can read various data from the input device 605a via the input I / F 605.

[0102] The output interface (I / F) 606 connects the processing unit 600 and the output device 606a. The output I / F 606 is a video output interface such as Digital Visual Interface (DVI) or High Definition Multimedia Interface (HDMI®). The CPU 601 transmits data to the output device 606a via the output I / F 606. The output device 606a outputs the data.

[0103] The communication interface (I / F) 607 connects the processing unit 600 to a server 607a located outside the processing unit 600. The communication I / F 607 is, for example, a network card such as a LAN card. The CPU 601 can read various data from the server 607a via the communication I / F 607.

[0104] The storage device 604 includes one or more selected from Hard Disk Drives (HDDs) and Solid State Drives (SSDs). The input device 605a includes one or more selected from a mouse, keyboard, microphone (for voice input), and touchpad. The output device 606a includes one or more selected from a monitor, printer, speaker, and projector. Devices that have the functions of both input device 605a and output device 606a, such as a touch panel, may also be used.

[0105] Hereafter, the parameter optimization method according to the embodiment will be explained with reference to a specific example. Figure 7 is a flowchart showing the parameter optimization method according to the embodiment. In the parameter optimization method shown in Figure 7, the user sets the censorship threshold, target value, objective function, and specified number of iterations (step S701). Next, initial sampling is performed (step S702). In initial sampling, the design value calculation unit 302 randomly sets the representative setting value set x_center(i) and the neighboring design value set x_risk(i), and the file generation unit 112 inputs the representative setting value set x_center(i) and the neighboring design value set x_risk(i) into the simulator 130.

[0106] The extraction unit 114 obtains the characteristic value related to a predetermined characteristic item in the representative characteristic value set y_center(i) output from the simulator 130, and the characteristic value with the worst calculated score in the neighboring characteristic value set y_risk(i).

[0107] The objective function calculation unit 305 calculates the value of the objective function by inputting the characteristic value related to a predetermined characteristic item in the representative characteristic value set y_center(i) and the characteristic value with the worst calculation score in the neighboring characteristic value set y_risk(i) into the objective function. In the initial sampling, a trial is repeated that includes inputting the representative design value set x_center(i) and the neighboring design value set x_risk(i), obtaining the representative characteristic value set y_center(i) and the neighboring characteristic value set y_risk(i), calculating the value of the objective function, and generating a new representative design value set x_center(i+1) and a new neighboring design value set x_risk(i+1). For example, the initial sampling is repeated 10 to 30 times. Through the repetition of initial sampling, the dataset of the representative setting value set x_center and neighboring design value set x_risk, the representative characteristic value set y_center(i) and the neighboring characteristic value set y_risk(i), and the value of the objective function is repeatedly stored in the storage unit 140.

[0108] The Bayesian estimation unit 110 generates a surrogate model of the objective function from multiple datasets stored in the memory unit 140 and sends it to the acquisition function calculation unit 301 (step S703).

[0109] The acquisition function calculation unit 301 calculates the acquisition function based on a surrogate model of the objective function and sends it to the design value calculation unit 302 (step S704).

[0110] The design value calculation unit 302 calculates a representative design value set x_center(i) based on the acquisition function (step S705). The design value calculation unit 302 calculates a neighboring design value set x_risk(i) based on the acquisition function, and calculates a plurality of neighboring design value groups b_risk(i) based on the neighboring design value set x_risk(i) (step S706).

[0111] When multiple neighboring design value groups b_risk(i) are obtained, the score calculation unit 303 calculates the predicted score for each of the multiple neighboring design value groups b_risk(i). (Step S707).

[0112] The measurement order calculation unit 304 determines the simulation order so that the predicted scores of multiple neighboring design value groups b_risk(i) are input to the simulator 130 in order from worst to best. (Step S708).

[0113] The file generation unit 112 obtains a file for input to the simulator 130, containing the representative design value set x_center(i) calculated by the design value calculation unit 302 and multiple neighboring design value sets x_risk(i) arranged in order of worst predicted score by the measurement order calculation unit 304. The simulator 130 inputs the representative design value set x_center(i) and the multiple neighboring design value sets x_risk(i) arranged in order of worst predicted score into the simulator (step S709). The representative characteristic value set y_center(i) is obtained by inputting the representative design value set x_center(i), and the neighboring characteristic value set y_risk(i) is obtained by inputting the neighboring design value set x_risk(i).

[0114] The score calculation unit 303 calculates the score of the neighboring characteristic value set y_risk(i) output from the simulator 130 (step S710).

[0115] The censorship determination unit 401 determines the relationship between the calculated score of the neighboring characteristic value set y_risk(i) and the censorship threshold (step S711).

[0116] If the calculated score is greater than or equal to the censorship threshold, it is determined whether there are any representative design value sets x_center(i) or multiple neighboring design value sets x_risk(i) that have not been input into the simulator (step S712). If there are any of the first representative design value set x_center(i) or multiple neighboring design value sets x_risk(i) that have not been input into the simulator, the remaining representative design value sets x_center(i) or multiple neighboring design value sets x_risk(i) are input into the simulator (step S709), and the calculated score of the neighboring characteristic value group b_risk included in the neighboring characteristic value set y_risk(i) is calculated (step S710). The relationship between the calculated score and the censorship threshold is determined again (step S711).

[0117] If the calculated score is below the censorship threshold, and if all representative design value sets x_center(i) and neighboring design value sets x_risk(i) have been input into the simulator, the value of the objective function is calculated by inputting the characteristic value for a predetermined characteristic item in the representative characteristic value set y_center(i) and the characteristic value with the worst calculated score in the neighboring characteristic value set y_risk(i) into the objective function (step S713). The relationship between the value of the objective function and the target value is then determined.

[0118] The target value determination unit 403 determines the relationship between the value of the objective function and the target value (step S714). If the value of the objective function is less than the target value, it outputs the best design value set z_center(i) from the history data and terminates the search before all representative design value sets x_center(i) and neighboring design value sets x_risk(i) are input to the simulator.

[0119] If the value of the objective function exceeds the target value, the predicted number determination unit 404 determines the relationship between the number of times the representative design value set x_center(i) and the neighboring design value set x_risk(i) were calculated by the design value calculation unit 302 and the specified number of times. (Step S715).

[0120] If the value of the objective function is greater than or equal to the target value, it is determined whether the number of calculations for the neighboring design value set x_risk(i) has reached the specified number. If the value of the objective function is less than the target value, and the number of calculations for the neighboring design value set has reached the specified number, the best design value set z_center(i) is output (step S716).

[0121] If the number of times the representative design value set x_center(i) and the neighboring design value set x_risk(i) are calculated in the design value calculation unit 302 falls below a specified number, step S703 is executed again. If the number of predictions for the representative design value set x_center(i) meets the specified number, the output unit 117 outputs the best design value set z_center. (Step S716).

[0122] The trials in steps S703 to S715 are repeated until the termination conditions are met. Examples of termination conditions include: in step S711, the representative characteristic value set y_center(i) or the neighboring characteristic value set y_risk(i) falls below the termination threshold; in step S712, all representative design value sets x_center(i) and neighboring design value sets x_risk(i) are input to the simulator 130; in step S714, the value of the objective function exceeds the target value; or in step S715, the number of times the representative design value set x_center(i) and neighboring design value set x_risk(i) have been calculated meets the specified number of times.

[0123] Step S703: Generation of a surrogate model for the objective function; Step 704: Calculation of the acquisition function; Step S705: Calculation of the representative design value set x_center(i); Step S706: Calculation of the neighboring design value set x_risk(i) and neighboring design value group b_risk(i); Step S707: Calculation of the predicted score of the neighboring design value group b_risk(i); Step S708: Planning of the simulation order based on the predicted score of the neighboring design value set x_risk(i); Step S709: Input of the representative design value set x_center(i) and neighboring design value set x_risk(i) into the simulator; Step Step S710 involves calculating the calculation score of the neighboring characteristic value group y_risk(i,N), step S711 involves determining the magnitude relationship between the calculated score and the censorship threshold, step S712 involves determining whether all of the representative design value set x_center(i) and neighboring design value set x_risk(i) have been input to the simulator 130, step S713 involves calculating the value of the objective function, step S714 involves determining the magnitude relationship between the value of the objective function and the target value, and step S715 involves determining the magnitude relationship between the number of times the representative design value set x_center(i) and neighboring design value set x_risk(i) have been calculated and a specified number of times. This trial is repeated. Through repeated trials, the preferred best design value set z_center for the design of the device is searched for.

[0124] As an example of a device to be designed, the structure of a semiconductor device will be described. Figure 8 is a schematic cross-sectional view illustrating the structure of a semiconductor element. The parameter optimization system according to this embodiment searches for design values ​​related to the structure of the semiconductor element 800 shown in Figure 8. The semiconductor element 800 is a MOSFET.

[0125] The semiconductor device 800 consists of a first electrode 801, a second electrode 802, and n + Semiconductor layer 811, n - p-type semiconductor layer 812, p-type semiconductor layer 813, n + The semiconductor includes a p-type semiconductor layer 814, an insulating layer 820, a field plate electrode (hereinafter referred to as an FP electrode) 821, and a gate electrode 822. The p-type and n-type of each semiconductor layer may be reversed.

[0126] The first electrode 801 and the second electrode 802 are separated from each other. The direction from the first electrode 801 to the second electrode 802 is defined as the Z direction. + The shaped semiconductor layer 811 is provided between the first electrode 801 and the second electrode 802. + The shaped semiconductor layer 811 is electrically connected to the first electrode 801. - The semiconductor layer 812 is n + It is provided between the shaped semiconductor layer 811 and the second electrode 802. - The n-type impurity concentration in the n-type semiconductor layer 812 is n + The p-type semiconductor layer 813 has a lower n-type impurity concentration than the n-type impurity concentration in the n-type semiconductor layer 811. - It is provided between the shaped semiconductor layer 812 and the second electrode 802. + The p-type semiconductor layer 814 is provided between the p-type semiconductor layer 813 and the second electrode 802.

[0127] The insulating layer 820 has n in the Z direction. + It is provided between the semiconductor layer 811 and the second electrode 802. The insulating layer 820 is in the X direction perpendicular to the Z direction, n - A portion of the p-type semiconductor layer 812, the p-type semiconductor layer 813, and n + It is aligned with a portion of the shaped semiconductor layer 814. A portion of the insulating layer 820 is provided around the FP electrode 821. - The direction from a portion of the p-type semiconductor layer 812 to the FP electrode 821 is along the X direction. The gate electrode 822 is provided between the FP electrode 821 and the second electrode 802 in the Z direction. Another portion of the insulating layer 820 is provided around the gate electrode 822. From the gate electrode 822 to the p-type semiconductor layer 813 and n + The direction toward the p-type semiconductor layer 814 is along the X direction. The second electrode 802 is connected to the p-type semiconductor layer 813, n + It is electrically connected to the shaped semiconductor layer 814 and the FP electrode 821, and electrically isolated from the gate electrode 822.

[0128] In semiconductor device 800, the FP electrode 821 includes a first portion 821a and a second portion 821b. The second portion 821b is provided between the first portion 821a and the gate electrode 822. The width (length in the X direction) of the second portion 821b is wider than the width of the first portion 821a. The gate electrode 822 is separated from the FP electrode 821 and electrically isolated from it. The second electrode 802 includes a contact portion 802a. The contact portion 802a protrudes toward the p-type semiconductor layer 813.

[0129] With a positive voltage applied to the first electrode 801 relative to the second electrode 802, a voltage above a threshold is applied to the gate electrode 822. This forms a channel (inversion layer) in the p-type semiconductor layer 813, turning the semiconductor device 800 ON. Electrons flow through the channel from the second electrode 802 to the first electrode 801. When the voltage applied to the gate electrode 822 falls below the threshold, the channel in the p-type semiconductor layer 813 disappears, and the semiconductor device 800 turns OFF.

[0130] When the semiconductor element 800 is switched to the off state, the positive voltage applied to the first electrode 801 relative to the second electrode 802 increases. At this time, the insulating layer 820 and n - From the interface with the shaped semiconductor layer 812, n - The depletion layer extends toward the semiconductor layer 812. This expansion of the depletion layer can increase the breakdown voltage of the semiconductor element 800. Alternatively, while maintaining the breakdown voltage of the semiconductor element 800, n - By increasing the n-type impurity concentration in the n-type semiconductor layer 812, the on-resistance of the semiconductor device 800 can be reduced.

[0131] The objective function outputs a value of the objective function in response to inputs from a portion of the representative characteristic value set y_center(i) and a portion of the neighboring characteristic value group y_risk(i,N). As an example, the first function f(x) is expressed by the following equation 1. The representative characteristic value set y_center(i) of on-resistance RonA (a portion of the first characteristic value) and the neighboring characteristic value group y_risk(i,N) of withstand voltage BVdss (a portion of the second characteristic value) are input to the first function f(x). Here, on-resistance RonA refers to the resistance value between the input and output terminals of the current when the semiconductor device is operating, divided by the element area. Withstand voltage BVdss refers to the withstand voltage value between the input and output terminals of the current when the semiconductor device is flowing a specified leakage current. The ramp function ReLU outputs its value as is if it is 0 or greater, and outputs 0 if it is less than 0. As an example, the objective function f is expressed by the following equation.

[0132]

number

[0133] "1 / 30" and "10" are values ​​that can be set by the user as appropriate. "100" is BVdss worst This is the target value. Equation 1 shows the output from simulator 130, RonA center and BVdss worst By inputting this, the objective function for the representative characteristic value set y_center(i) and the neighboring characteristic value set y_risk(i) is obtained. Here, the lower the value of the objective function, the more representative the design value is. To suppress the divergence of the value of the objective function, the upper limit of the value is set to 10.

[0134] Figure 9 is a table illustrating design items. Figure 10 is a schematic diagram showing the correspondence between design items and semiconductor devices. The cell pitch in the table in Figure 9 corresponds to the pitch CP in the X direction of the gate electrode 822 (shown in Figure 10). The gate oxide film thickness corresponds to the thickness T_G in the X direction of the gate insulating layer 820a. The source depth is n + This corresponds to the depth D_S in the Z direction of the p-type semiconductor layer 814. The base depth is the same as that of the p-type semiconductor layer 813 and n +From the boundary with the n-type semiconductor layer 814, the p-type semiconductor layer 813 and n - The length corresponds to the Z-direction depth D_B to the boundary with the semiconductor layer 812. The gate length corresponds to the Z-direction length L_G of the gate electrode 822. The gate depth is n + This corresponds to the depth D_G in the Z direction from the upper surface of the semiconductor layer 814 to the lower end of the gate electrode 822. The source concentration is n + This corresponds to the n-type impurity concentration C_S in the n-type semiconductor layer 814. The substrate thickness is n + This corresponds to the thickness T_Sub in the Z direction of the semiconductor layer 811. The substrate density is n + The n-type impurity concentration C_Sub corresponds to the n-type impurity concentration in the semiconductor layer 811. The trench bottom curvature corresponds to the curvature R_TB at the lower end of the insulating layer 820. The contact depth is n + This corresponds to the depth D_TC in the Z direction from the upper surface of the semiconductor layer 814 to the lower end of the contact portion 802a. The contact half width corresponds to half the width of the contact portion 802a, W_TC. The drift layer thickness is n - This corresponds to the thickness T_D of the semiconductor layer 812 in the Z direction. The drift layer concentration is n - The n-type impurity concentration C_D corresponds to the n-type impurity concentration in the n-type semiconductor layer 812. The base concentration corresponds to the p-type impurity concentration C_B in the p-type semiconductor layer 813. The trench inclination angle corresponds to the angle Taper between the side surface of the insulating layer 820 and the X direction. The trench half-width corresponds to half the width of the insulating layer 820 W_T. The gate / FP distance corresponds to the distance D_GFP in the Z direction between the FP electrode 821 and the gate electrode 822. The FP1 half-width corresponds to half the width of the first part 821a W_FP1. The FP1 length corresponds to the length L_FP1 in the Z direction of the first part 821a. The FP2 half-width corresponds to half the width of the second part 821b W_FP2. The FP2 length corresponds to the length L_FP2 in the Z direction of the second part 821b. The trench bottom FP thickness corresponds to the thickness T_FP in the Z direction of the lower end of the insulating layer 820.

[0135] Figure 11 is a table illustrating characteristic items. The characteristic value group is output from the simulator based on one input from either the representative design value group or the neighboring design value group. The characteristic value group includes at least one characteristic value selected from on-resistance, withstand voltage at gate voltage 0[V], withstand voltage when gate voltage is applied, switching charge, gate stored charge, gate-source stored charge, gate-drain stored charge, output charge, threshold voltage, and channel length.

[0136] In the table in Figure 11, the on-resistance RonA is the on-resistance per unit area when a voltage greater than the threshold is applied to the gate electrode 822 and the semiconductor element 800 is turned on. The breakdown voltage Vdss is the breakdown voltage of the semiconductor element 800 when the voltage of the gate electrode 822 relative to the second electrode 802 is set to 0V. The breakdown voltage Vdsx is the breakdown voltage of the semiconductor element 800 when the voltage of the gate electrode 822 relative to the second electrode 802 is set to -20V. The switching charge Qsw is the total amount of charge accumulated on the gate electrode 822 when the gate voltage is above the threshold Vth and below the Miller voltage in the switching state of the semiconductor element 800. The gate accumulated charge Qg is the amount of charge accumulated on the gate electrode 822 when the semiconductor element 800 is turned on. The gate-source accumulated charge Qgs is a portion of the amount of charge accumulated between the gate electrode 822 and the second electrode 802 (source electrode) when the semiconductor element 800 is turned on. The gate-drain accumulated charge Qgd is a portion of the charge accumulated between the gate electrode 822 and the first electrode 801 when the semiconductor device 800 is in the ON state. The output charge Qoss is a portion of the charge accumulated on the drain electrode (first electrode 801) when the semiconductor device 800 is in the OFF state. The threshold voltage Vth is the voltage applied to the gate electrode 822 required to form a channel (inversion layer) in the p-type semiconductor layer 813. The channel length L_Ch is the distance between the p-type semiconductor layer 813 and n + From the boundary with the n-type semiconductor layer 814, the p-type semiconductor layer 813 and n - This is the length along the Z direction to the boundary with the semiconductor layer 812.

[0137] In the example in Figure 9, there are 23 design items. The parameter optimization method according to the embodiment can be applied to these 23 design items. In the example in Figure 11, there are 10 characteristic items. From these characteristic items, some characteristic items are extracted, and the relationship between the calculated score and the censorship threshold is determined. For the extracted partial characteristic items, design items that can obtain a better score are searched for. For example, the partial characteristic items include on-resistance and breakdown voltage.

[0138] For example, using equation (8) as the first function, a total of 1000 trials are performed for the design items shown in Figure 9. This search makes it possible to find design values ​​that exhibit characteristics equivalent to those found by experts. By performing a larger number of trials, it becomes possible to find design values ​​that exhibit superior characteristics than those found by experts.

[0139] As mentioned above, the characteristics of semiconductor devices vary depending on various design factors. For example, on-resistance and breakdown voltage are generally considered important characteristics of semiconductor devices. On-resistance is affected by the concentration and thickness of each semiconductor layer. In particular, n - The impurity concentration (drift layer concentration) in the semiconductor layer 812 affects the on-resistance. - The higher the impurity concentration in the semiconductor layer 812, the lower the on-resistance. On the other hand, the breakdown voltage is n - The lower the impurity concentration in the semiconductor layer 812, the better the performance. In some design aspects, on-resistance and breakdown voltage are in a trade-off relationship.

[0140] When aiming to improve characteristic values, design items may influence each other. For example, when the cell pitch becomes narrower, the n between the insulating layers 820 may affect each other. - The n-type semiconductor layer 812 becomes more prone to depletion. Therefore, the breakdown voltage can be improved. Alternatively, the n-type semiconductor layer 812 between the insulating layers 820 becomes more prone to depletion. - By increasing the impurity concentration in the semiconductor layer 812, it is also possible to reduce the on-resistance while maintaining the breakdown voltage. In other words, the design value of the cell pitch is n- This can affect the impurity concentration in the semiconductor layer 812.

[0141] Even for an expert, properly setting multiple design parameters that affect both on-resistance and voltage breakdown, while paying attention to the on-resistance and voltage breakdown values ​​obtained from the simulator 130, requires considerable effort. According to this embodiment, it is possible to explore favorable design values ​​for both on-resistance and voltage breakdown without requiring detailed human analysis.

[0142] In this example, we explored the design values ​​for each of the multiple design items shown in Figure 9. Alternatively, we could explore the design values ​​for some of the multiple design items shown in Figure 9 and set the other design items to fixed values. - The impurity concentration in the semiconductor layer 812 has a significant effect on on-resistance and breakdown voltage. Therefore, n - The impurity concentration in the semiconductor layer 812 is preferably the target of investigation.

[0143] Figure 12 is a schematic cross-sectional view illustrating the structure of another semiconductor device. The parameter optimization system according to this embodiment may be used to search for design values ​​for the structure of the semiconductor device 1200 shown in Figure 12. The semiconductor device 1200 is an IGBT.

[0144] The semiconductor device 1200 has a first electrode 1201, a second electrode 1202, and p + n-type semiconductor layer 1211, n-type semiconductor layer 1212, n - n + The semiconductor includes a p-type semiconductor layer 1215 and a gate electrode 1220. The p-type and n-type of each semiconductor layer may be reversed.

[0145] The first electrode 1201 and the second electrode 1202 are separated from each other. The direction from the first electrode 1201 to the second electrode 1202 is defined as the Z direction. + The shaped semiconductor layer 1211 is provided between the first electrode 1201 and the second electrode 1202. + The n-type semiconductor layer 1211 is electrically connected to the first electrode 1201. The n-type semiconductor layer 1212 is p+ It is provided between the n-type semiconductor layer 1211 and the second electrode 1202. - The n-type semiconductor layer 1213 is provided between the n-type semiconductor layer 1212 and the second electrode 1202. - The n-type impurity concentration in the n-type semiconductor layer 1213 is lower than the n-type impurity concentration in the n-type semiconductor layer 1212. The p-type semiconductor layer 1214 is - provided between the n-type semiconductor layer 1213 and the second electrode 1202. + The p-type semiconductor layer 1215 is provided between the p-type semiconductor layer 1214 and the second electrode 1202.

[0146] The gate electrode 1220 is provided between the n-type semiconductor layer 1212 and the second electrode 1202 in the Z direction. - A part of the n-type semiconductor layer 1213, the p-type semiconductor layer 1214, and + the direction from a part of the n-type semiconductor layer 1215 toward the gate electrode 1220 follows the X direction. - Between the n-type semiconductor layer 1213 and the gate electrode 1220, between the p-type semiconductor layer 1214 and the gate electrode 1220, and + between the n-type semiconductor layer 1215 and the gate electrode 1220, a gate insulating layer 1220a is provided. The second electrode 1202 is + electrically connected to the p-type semiconductor layer 1214 and the n-type semiconductor layer 1215 and is electrically separated from the gate electrode 1220.

[0147] With a positive voltage applied to the first electrode 1201 with respect to the second electrode 1202, a voltage equal to or higher than the threshold value is applied to the gate electrode 1220. As a result, a channel (inversion layer) is formed in the p-type semiconductor layer 1214. Electrons flow from the second electrode 1202 through the channel to the - n-type semiconductor layer 1213. Holes flow from the first electrode 1201 through the + p-type semiconductor layer 1211 to the - n-type semiconductor layer 1213. - Conductivity modulation occurs in the n-type semiconductor layer 1213, and -The electrical resistance of the p-type semiconductor layer 1213 decreases. As a result, the semiconductor element 1200 is turned on. When the voltage applied to the gate electrode 1220 becomes lower than the threshold value, the channel in the p-type semiconductor layer 1214 disappears, and the semiconductor element 1200 becomes off.

[0148] With the parameter optimization system according to the embodiment, for the semiconductor element 1200 shown in FIG. 12, similar to the semiconductor element 800, it is possible to search for the impurity concentration in each semiconductor layer, the thickness of each semiconductor layer, and the dimensions of other elements. For example, n - The n-type impurity concentration (drift layer concentration) in the n-type semiconductor layer 1213, n - The thickness in the Z direction of the n-type semiconductor layer 1213 (drift layer thickness), the pitch in the X direction of the gate electrode 1220 (cell pitch), the thickness in the X direction of the gate insulating layer 1220a (gate oxide film thickness), n + The depth in the Z direction of the n-type semiconductor layer 1215 (source depth), the length in the Z direction of the p-type semiconductor layer 1214 (channel length), the length in the Z direction of the gate electrode 1220 (gate length), n + The depth in the Z direction from the upper surface of the n-type semiconductor layer 1215 to the lower end of the gate electrode 1220 (gate electrode depth), n + The n-type impurity concentration (source concentration) in the n-type semiconductor layer 1215, the curvature at the lower end of the gate insulating layer 1220a (trench bottom curvature), the angle between the side surface of the gate insulating layer 1220a and the X direction (trench tilt angle), half of the width of the gate insulating layer 1220a (trench half width), etc. can be searched.

[0149] The advantages of the embodiment will be described. For example, the design values of semiconductor elements are determined by a person through trial and error using a simulator. However, semiconductor elements include many design items, imposing a large burden on people. Furthermore, the characteristics of semiconductor elements, particularly on-resistance and breakdown voltage, vary due to the influence of various design items. Therefore, specialized knowledge and experience are required to evaluate the characteristic values for the input design values and determine the next design values. Variations also occur in the evaluation of characteristic values for design values by people. [[ID=第十九]] [[ID=第二十]]

[0150] [[ID=第二十一]] According to this embodiment, the input of design value groups into the simulator 130, acquisition of characteristic value groups from the simulator 130, evaluation, and generation of new design value groups are automatically repeated. This reduces the burden on humans. It does not require specialized knowledge and experience, and it can also suppress variability in the evaluation of characteristic values.

[0151] According to the embodiment, a new set of design values ​​is generated based on an acquisition function derived by Bayesian estimation. When Bayesian estimation is applied to the design of semiconductor devices that include a large number of design values, it requires more time for initial search compared to response surface methods or manual design. However, the inventors have found that Bayesian estimation is particularly suitable for the design of semiconductor devices. As a result, Bayesian estimation makes it possible to set the design values ​​of semiconductor devices to more desirable values ​​in a shorter amount of time.

[0152] Figure 13 compares the evolution of the objective function between the reference example and the proposed method. The reference example refers to a method that adds a process of setting neighboring design values ​​and calculating the value of the objective function to the technology of the prior application, Patent Document 1. The horizontal axis shows the number of times the representative design value set x_center(i) or the neighboring design value set x_risk(i) was input to the simulator 130, and the vertical axis shows the value of the objective function. In the flowchart of the first embodiment in Figure 7, the simulations in "severity order" in steps S707, S708, and S709, and S710, S711, and S712 differ from the reference example. Compared to the reference example, the proposed method can calculate a smaller objective function value with fewer simulations. In other words, it is possible to output good design values ​​with fewer simulations.

[0153] Figure 14 compares the number of terminations for the reference example and the proposed method. The horizontal axis shows the number of times the representative design value set x_center(i) was calculated, and the vertical axis shows the number of neighboring design value sets x_risk(i) input into the simulator 130. In the reference example, all eight neighboring design value sets are input into the simulator 130 for all explored representative design value sets and the simulation is performed. In contrast, the proposed method terminates the search after inputting one, three, or five neighboring design value sets into the simulator 130. Since the proposed method does not require inputting all eight neighboring design value sets into the simulator 130, the simulation termination condition can be met more quickly compared to the reference example.

[0154] (Second embodiment) According to the second embodiment, a representative characteristic value set y_center(i) is obtained from the simulator based on the input of a representative design value set x_center(i), and a neighboring characteristic value set y_risk(i) is obtained from the simulator based on the input of one of the multiple neighboring design value sets x_risk(i). The calculation score of the neighboring characteristic value b_risk included in the neighboring characteristic value set y_risk(i) is calculated, and the relationship between the calculation score and the censorship threshold is determined. If the calculation score is greater than or equal to the censorship threshold, a new prediction score is calculated from the multiple neighboring design value sets x_risk(i). It is determined whether to change the order in which the multiple neighboring design value sets x_risk(i), which have been sorted in order of severity of the prediction score, are input into the simulator. If the input order is changed, a portion of the neighboring design value sets x_risk(i) are input into the simulator in the new order of severity of the prediction score. If the input order is not changed, it is determined whether there are any representative design value sets x_center(i) or multiple neighboring design value sets x_risk(i) that have not been input into the simulator.

[0155] Figure 15 is a flowchart showing a parameter optimization method according to the second embodiment of the embodiment. In the parameter optimization method shown in Figure 7, the neighboring design value sets x_risk(i), which are arranged in order of severity of predicted scores, are not changed in order until the last neighboring design value set x_risk(i) is input to the simulator 130. In the parameter optimization method according to the second embodiment shown in Figure 15, a new predicted score can be calculated from the calculated score before the last neighboring design value set x_risk(i) is input to the simulator 130, and the order in which the neighboring design value sets x_risk(i) are input to the simulator 130 can be changed.

[0156] In the parameter optimization method shown in Figure 15, steps S701 to S711 are executed in the same manner as in the parameter optimization method shown in Figure 7. The second embodiment differs from the first embodiment in that steps S720 and S721 are added.

[0157] The censorship determination unit 401 determines the relationship between the calculated score of the neighboring characteristic value set y_risk(i) and the censorship threshold (step S711). After it is determined in step S711 that the calculated score is greater than or equal to the censorship threshold, the score calculation unit 303 creates a new regression model of the neighboring design value group b_risk(i) by adding the data each time it calculates a score. The score calculation unit 303 uses this regression model to calculate a new predicted score from the same design value set (step S720). The measurement order calculation unit 304 determines whether or not to change the simulation order (step S721). The measurement order calculation unit 304 can change the order in which the neighboring design value set x_risk(i) is input to the simulator 130 based on the new predicted score, before all neighboring design value sets x_risk(i) are input to the simulator 130.

[0158] In step S721, if the simulation order is changed, the plan is made to input the neighboring design value set x_risk(i) into the simulator 130 again in order of severity of the predicted score (step S708). In step S721, if the simulation order is not changed, it is determined whether all of the representative design value set x_center(i) and neighboring characteristic value set x_risk(i) have been input into the simulator 130 (step S712).

[0159] After it is determined in step S711 that the calculated score is below the censorship threshold, steps S713 to S716 are executed, similar to the parameter optimization method shown in Figure 7.

[0160] According to the second embodiment, a new prediction score can be calculated during the search for representative design values, and the simulation order can be changed midway through. For example, if it is determined in step S711 that the calculated score is greater than the censorship threshold, a new prediction score can be calculated and the simulation order changed, thereby increasing the likelihood of obtaining more favorable characteristic values.

[0161] (Third embodiment) Figure 16 is a flowchart illustrating a parameter optimization method according to a third embodiment of the embodiment. In the parameter optimization method shown in Figure 7, once the design item group A is set, it remains unchanged until the best design value set z_center(i) is output. In the parameter optimization method according to the third embodiment shown in Figure 16, the design item group A can be changed before the best design value set z_center(i) is output.

[0162] In the parameter optimization method shown in Figure 15, steps S701 to S715 are executed in the same manner as in the parameter optimization method shown in Figure 7. The third embodiment differs from the first embodiment in that steps S722 to S724 are added.

[0163] If the value of the objective function exceeds the target value, the predicted number of calculations determination unit 404 determines the relationship between the number of times the representative design value set x_center and the neighboring design value set x_risk have been calculated in the design value calculation unit 302 and the specified number of calculations (step S715). In step S715, after the predicted number of calculations determination unit 404 determines that the number of calculations of the neighboring design values ​​is equal to or greater than the specified number, a decision is made as to whether or not to change the design item group A (step S722). In step S722, if it is determined that the design item group A should be changed, the input unit 116 resets the target value (step S723). The reset target value is stored in the storage unit 140. Also, the design item group A is set again (step S724). In step S722, if it is determined that the design item group A should not be changed, the output unit 117 outputs the best design value set z_center(i), and the simulation ends (step S716).

[0164] According to the third embodiment, the design item group A can be changed during the search for representative design values. For example, if it is determined in step S715 that the number of calculations for neighboring design values ​​is greater than a specified number, and it is determined that the number of searches using the initially set design item group A is sufficient, then in step S722, it is determined whether or not to change the design item group A. Compared to the first embodiment, the possibility of obtaining more favorable characteristic values ​​can be increased.

[0165] (Fourth embodiment) Figure 17 is a flowchart showing a parameter optimization method according to the fourth embodiment of the embodiment. In the parameter optimization method shown in Figure 7, all of the set design item group A are subject to parameter optimization. In the parameter optimization method according to the fourth embodiment shown in Figure 17, a portion of the set design item group A can be optimized by performing a low-dimensional search. In another search run, another set of design items from the design item group A can be extracted and searched (optimized).

[0166] In the parameter optimization method shown in Figure 17, steps S701 and S702 are performed in the same manner as in the parameter optimization method shown in Figure 7. The fourth embodiment differs from the first embodiment in that step S725 is added.

[0167] Initial sampling is performed (step S702). After the initial sampling is performed, a sub-search space with a second dimension smaller than the first dimension is generated from the first-dimensional search space (step S725). The Bayesian estimation unit 110 generates a surrogate model of the objective function from multiple datasets stored in the memory unit 140 and sends it to the acquisition function calculation unit 301 (step S703).

[0168] According to the fourth embodiment, the objective function y(x1, ..., x) includes D parameters. D The search space of the objective function y(x1, x2) is defined in D-dimensional space. For example, a two-dimensional subsearch space is generated as the second dimension from a six-dimensional search space, which is the first dimension of a semiconductor device. Figure 18 shows an example of a subsearch space of the objective function y(x1, x2) defined in two dimensions. For example, multiple subsearch spaces are generated such that each contains the current representative search point. The current representative search point is the design value in the search history data that minimizes the objective function the most. Compared to the first embodiment, a large number of parameters can be optimized in a short time by performing a low-dimensional search.

[0169] According to the parameter optimization method of at least one embodiment described above, by determining the relationship between the calculated score and the termination threshold, it is possible to satisfy the simulation termination condition more quickly compared to conventional methods.

[0170] In this specification, "perpendicular" and "parallel" do not mean strictly perpendicular and strictly parallel, but also include variations in the manufacturing process, for example, and it is sufficient if they are substantially perpendicular and substantially parallel.

[0171] The embodiments of the present invention have been described above with reference to specific examples. However, the embodiments of the present invention are not limited to these specific examples. For example, the specific configurations of each element included in the parameter optimization system, such as the Bayesian estimation unit, calculation unit, file generation unit, determination unit, extraction unit, instruction generation unit, input unit, output unit, and storage unit, are included within the scope of the present invention as long as those skilled in the art can appropriately select from the known scope to implement the present invention in a similar manner and obtain similar effects.

[0172] Furthermore, combinations of two or more elements from any of the specific examples, to the extent technically feasible, are also included within the scope of the present invention, insofar as they encompass the gist of the invention.

[0173] Furthermore, all parameter optimization methods, parameter optimization systems, programs, and storage media that can be appropriately designed and implemented by those skilled in the art based on the above-described embodiments of the present invention also fall within the scope of the present invention, insofar as they encompass the gist of the present invention.

[0174] Furthermore, within the scope of the concept of the present invention, a person skilled in the art could conceive of various modifications and alterations, and it is understood that such modifications and alterations also fall within the scope of the present invention.

[0175] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These embodiments can be carried out in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of Symbols]

[0176] 100 Parameter Optimization Device 110 Bayesian Estimation Unit 111 Calculation Section 112 File Generation Section 113 Judgment section 114 Extraction part 115 Instruction generation section 116 Input section 117 Output section 130 Simulators 140 Storage section 301 Acquisition Function Calculation Unit 302 Design Value Calculation Unit 303 Score Calculation Unit 304 Measurement Order Calculation Unit 305 Objective Function Calculation Unit 401 Judgment section 402 Actual measurement count determination unit 403 Target Value Determination Unit 404 Prediction of Number of Counts Determination Unit 600 Processing Unit 604 Storage device 605 Input Interface 605a Input device 606 Output Interface 606a Output device 607 Communication Interface 607a Server 608 System Bus 800 semiconductor elements 801 First electrode 802 Second electrode 802a Contact section 811 type semiconductor layer 812 n - Semiconductor layer 813 p-type semiconductor layer 814 n + Semiconductor layer 820 Insulating layer 820a Gate Insulation Layer 821 FP electrode 821a first part 821b Second part 822 Grid gate 1200 semiconductor devices 1201 First electrode 1202 Second electrode 1211 type semiconductor layer 1212 n-type semiconductor layer 1213 n - Semiconductor layer 1214 p-type semiconductor layer 1215 n + Semiconductor layer 1220 Temporary gate 1220a Gate Insulation Layer

Claims

1. Multiple sets of neighboring design values ​​are generated from a first representative set of design values ​​for the device. By inputting the aforementioned first representative design value set into the simulator, the first representative characteristic value set output from the simulator is obtained. A simulation was performed on the characteristics of the aforementioned device, The first set of neighboring characteristic values ​​output from the simulator is obtained by inputting the first set of neighboring design values ​​included in the plurality of neighboring design value sets. A first calculation score is calculated from the neighboring characteristic values ​​included in the first set of neighboring characteristic values. The relationship between the first calculated score and the censorship threshold is determined, If the first calculated score is greater than the censorship threshold, The second set of neighboring design values ​​included in the aforementioned set of multiple neighboring design values ​​is input to the simulator. If the first calculated score is less than the censorship threshold, The value of the objective function is calculated by inputting the characteristic values ​​included in the first representative characteristic value set and the characteristic values ​​included in the neighboring characteristic value set output from the simulator based on the input of one of the neighboring design value sets included in the plurality of neighboring design value sets into the objective function. The acquisition function is calculated from the surrogate model of the objective function using Bayesian estimation. A second representative design value set is generated based on the aforementioned acquisition function. Parameter optimization method.

2. Multiple sets of neighboring design values ​​are generated from a first representative set of design values ​​for the device. By inputting the aforementioned first representative design value set into the simulator, the first representative characteristic value set output from the simulator is obtained. The first set of neighboring characteristic values ​​output from the simulator is obtained by inputting the first set of neighboring design values ​​included in the plurality of neighboring design value sets. A first calculation score is calculated from the neighboring characteristic values ​​included in the first set of neighboring characteristic values. The relationship between the first calculated score and the censorship threshold is determined, If the first calculated score is less than the censorship threshold, The second set of neighboring design values ​​included in the aforementioned set of multiple neighboring design values ​​is input to the simulator. If the first calculated score is greater than the censorship threshold, The value of the objective function is calculated by inputting the characteristic values ​​included in the first representative characteristic value set and the characteristic values ​​included in the neighboring characteristic value set output from the simulator based on the input of one of the neighboring design value sets included in the plurality of neighboring design value sets into the objective function. The acquisition function is calculated from the surrogate model of the objective function using Bayesian estimation. A second representative design value set is generated based on the aforementioned acquisition function. Parameter optimization method.

3. The relationship between the value of the objective function and the target value is determined. If the value of the objective function is greater than the target value, It is determined whether the number of calculations for the aforementioned set of neighboring design values ​​has reached the specified expected number. If the value of the objective function is smaller than the target value, Outputs the best design value set. The parameter optimization method according to claim 1 or 2.

4. The relationship between the value of the objective function and the target value is determined. If the value of the objective function is smaller than the target value, It is determined whether the number of calculations for the aforementioned set of neighboring design values ​​has reached the specified expected number. If the value of the objective function is greater than the target value, Outputs the aforementioned set of best design values. The parameter optimization method according to claim 1 or 2.

5. It is determined whether there is a first representative design value set or a plurality of neighboring design value sets that have not been input into the simulator. If there is a first representative design value set or a plurality of neighboring design value sets that have not been input into the simulator, The second set of neighboring design values ​​included in the aforementioned set of multiple neighboring design values ​​is input to the simulator. If there is no first representative design value set or any of the multiple neighboring design value sets that are not input into the simulator, or if, in determining the relationship between the calculated score and the censorship threshold, the calculated score is smaller than the censorship threshold, The value of the objective function is calculated by inputting the characteristic values ​​included in the first representative characteristic value set and the characteristic values ​​included in the neighboring characteristic value set output from the simulator based on the input of one of the neighboring design value sets included in the plurality of neighboring design value sets into the objective function. The parameter optimization method according to claim 1 or 2.

6. It is determined whether there is a first representative design value set or a plurality of neighboring design value sets that have not been input into the simulator. If there is a first representative design value set or a plurality of neighboring design value sets that have not been input into the simulator, The second set of neighboring design values ​​included in the plurality of neighboring design value sets is input to the simulator. If there is no first representative design value set or any of the multiple neighboring design value sets that have not been input into the simulator, or if, in determining the relationship between the calculated score and the censorship threshold, the calculated score is greater than the censorship threshold, The value of the objective function is calculated by inputting the characteristic values ​​included in the first representative characteristic value set and the characteristic values ​​included in the neighboring characteristic value set output from the simulator based on the input of one of the neighboring design value sets included in the plurality of neighboring design value sets into the objective function. The parameter optimization method according to claim 1 or 2.

7. The first prediction score is calculated from each of the aforementioned sets of neighboring design values. The multiple sets of neighboring design values ​​are sorted in order of severity of the first prediction score. A portion of the neighboring design value set is input into the simulator in order of severity of the first prediction score. The parameter optimization method according to claim 1 or 2.

8. The first prediction score is the regression value of the neighboring characteristic value, or a combination of the regression values ​​of the neighboring characteristic value. The parameter optimization method according to claim 7.

9. By inputting the first representative design value set, a second representative characteristic value set is obtained from the simulator. A second set of neighboring characteristic values ​​output from the simulator is obtained by inputting one of the aforementioned sets of neighboring design values. A second calculation score is calculated for the neighboring characteristic values ​​included in the second set of neighboring characteristic values. In the determination of the magnitude relationship between the calculated score and the termination threshold, if the first determination result is obtained, A second prediction score is calculated from the aforementioned set of neighboring design values, and a decision is made as to whether to change the order in which the set of neighboring design values, which has been sorted in order of severity of the first prediction score, is input to the simulator. If you want to change the order in which you enter the information, A portion of the neighboring design value set, ordered by severity of the second prediction score, is input into the simulator. If you do not change the order in which you enter the information, It is determined whether there is a first representative design value set or a plurality of neighboring design value sets that have not been input into the simulator. The parameter optimization method according to claim 1 or 2.

10. The first calculation score of the neighboring characteristic values ​​included in the first set of neighboring characteristic values ​​is calculated. In determining the relative magnitude of the calculated score and the termination threshold, if the second determination result is obtained, The value of the objective function is calculated by inputting a portion of the first representative characteristic value set and a portion of the first neighboring characteristic value set into the objective function. In determining the relationship between the value of the objective function and the target value, in the case of the second determination result, The best design value set is output from the aforementioned historical data. The search is terminated before all of the aforementioned representative design value sets and neighboring design value sets are input to the simulator. The parameter optimization method according to claim 1 or 2.

11. From a first-dimensional search space, a second-dimensional subsearch space smaller than the first dimension is generated. The parameter optimization method according to claim 1 or 2.

12. Multiple sets of neighboring design values ​​are generated from a first representative set of design values ​​for the device. By inputting the aforementioned first representative design value set into the simulator, the first representative characteristic value set output from the simulator is obtained. We performed a simulation regarding the device characteristics. The first set of neighboring characteristic values ​​output from the simulator is obtained by inputting the first set of neighboring design values ​​included in the plurality of neighboring design value sets. A first calculation score is calculated from the neighboring characteristic values ​​included in the first set of neighboring characteristic values. The relationship between the first calculated score and the censorship threshold is determined, In the case of the first judgment result, The second set of neighboring design values ​​included in the aforementioned set of multiple neighboring design values ​​is input to the simulator. In the case of the second judgment result, The value of the objective function is calculated by inputting the characteristic values ​​included in the first representative characteristic value set and the characteristic values ​​included in the neighboring characteristic value set output from the simulator based on the input of one of the neighboring design value sets included in the plurality of neighboring design value sets into the objective function. The acquisition function is calculated from the surrogate model of the objective function using Bayesian estimation. A second representative design value set is generated based on the aforementioned acquisition function. The parameter optimization system according to claim 1 or 2.

13. In the processing unit, From a first representative set of design values ​​for the device, multiple sets of neighboring design values ​​are generated. By inputting the aforementioned first representative design value set into the simulator, the first representative characteristic value set output from the simulator is obtained. We will run a simulation regarding the device characteristics. The first set of neighboring characteristic values ​​output from the simulator is obtained by inputting the first set of neighboring design values ​​included in the plurality of neighboring design value sets. A first calculation score is calculated from the neighboring characteristic values ​​included in the first set of neighboring characteristic values. The relationship between the first calculated score and the termination threshold is determined. In the case of the first judgment result, The simulator is instructed to input a second set of neighboring design values ​​included in the aforementioned set of multiple neighboring design values. In the case of the second judgment result, The value of the objective function is calculated by inputting the characteristic values ​​included in the first representative characteristic value set and the characteristic values ​​included in the neighboring characteristic value set output from the simulator based on the input of one of the neighboring design value sets included in the plurality of neighboring design value sets into the objective function. The acquisition function is calculated from the surrogate model of the objective function using Bayesian estimation. Based on the aforementioned acquisition function, a second representative design value set is generated. The parameter optimization program according to claim 1 or 2.

14. A storage medium storing the program described in claim 13.

15. In determining the relationship between the value of the objective function and the target value, If the value of the objective function is greater than the target value, It is determined whether the number of calculations for the aforementioned set of neighboring design values ​​has reached the specified expected number. If the number of calculations for the aforementioned set of neighboring design values ​​has reached the specified number of calculations, It is determined whether or not to change the aforementioned design item group A. If the aforementioned design item group A is changed, the target value shall be reset. If the aforementioned design item group A is not changed, the best design value set is output. The parameter optimization method according to claim 1 or 2.

16. In determining the relationship between the value of the objective function and the target value, If the value of the objective function is smaller than the target value, It is determined whether the number of calculations for the aforementioned set of neighboring design values ​​has reached the specified expected number. If the number of calculations for the aforementioned set of neighboring design values ​​has reached the specified number of calculations, It is determined whether or not to change the aforementioned design item group A. If the aforementioned design item group A is changed, the target value shall be reset. If the aforementioned design item group A is not changed, the best design value set is output. The parameter optimization method according to claim 1 or 2.

17. Design item set X includes design item group A, design item group B, and design item group C. The aforementioned design item group A consists of the design items to be explored. The aforementioned design item group B consists of design items that take into account manufacturing variations. The aforementioned design item group C is the design items obtained by excluding the aforementioned design item group A and the aforementioned design item group B from the aforementioned design item set X. The design value set x includes a design value group a corresponding to the design item group A, a design value group b corresponding to the design item group B, and a design value group c corresponding to the design item group C. Each set of design values ​​includes multiple design values. The values ​​of the design value group a are adjusted by inputting the aforementioned sets of neighboring design values ​​into the simulator. By changing the representative design value group of the first representative design value set to a neighboring design value group, the neighboring design value set is generated. The second representative design value set is generated by changing the values ​​of the design value group a based on the acquisition function. Parameter optimization method.

18. The representative design value set includes the design value group a, the representative design value group, and the design value group c. The aforementioned neighborhood design value set includes the design value group a, the neighborhood design value group, and the design value group c. When the aforementioned representative design value set is input to the simulator, the aforementioned representative characteristic value set is output. When the aforementioned neighborhood design value set is input to the simulator, the aforementioned neighborhood characteristic value set is output. The parameter optimization method according to any one of claims 1, 2, or 17.

19. A certain design item is included in both design item group A and design item group B. The parameter optimization method according to claim 17.

20. The design value group is output from the simulator based on one input from the representative design value group or the neighboring design value group. The design value group includes at least one characteristic value selected from on-resistance, withstand voltage at gate voltage 0[V], withstand voltage when gate voltage is applied, switching charge, gate stored charge, gate-source stored charge, gate-drain stored charge, output charge, threshold voltage, and channel length. The parameter optimization method according to claim 18.

21. The aforementioned set of neighboring design values ​​is obtained by extracting the edges of the confidence interval of the representative design value set at equal intervals. The parameter optimization method according to claim 18.

22. Multiple sets of neighboring design values ​​are generated from a first representative set of design values ​​for the device. By inputting the aforementioned first representative design value set into the simulator, the first representative characteristic value set output from the simulator is obtained. A simulation was performed on the characteristics of the aforementioned device, The first set of neighboring characteristic values ​​output from the simulator is obtained by inputting the first set of neighboring design values ​​included in the plurality of neighboring design value sets. A first calculation score is calculated from the neighboring characteristic values ​​included in the first set of neighboring characteristic values. Parameter optimization method.

Citation Information

Patent Citations

  • DESIGN ASSISTANCE METHOD, DESIGN ASSISTANCE SYSTEM, PROGRAM, AND STORAGE MEDIUM

    JP7443224B2