US8935131B2 - Model expression generation method and apparatus - Google Patents
Model expression generation method and apparatus Download PDFInfo
- Publication number
- US8935131B2 US8935131B2 US13/071,625 US201113071625A US8935131B2 US 8935131 B2 US8935131 B2 US 8935131B2 US 201113071625 A US201113071625 A US 201113071625A US 8935131 B2 US8935131 B2 US 8935131B2
- Authority
- US
- United States
- Prior art keywords
- model expression
- simulation
- vertexes
- model
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G06F17/505—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G06F2217/08—
Definitions
- This technique relates a technique for designing a Static Random Access Memory (SRAM).
- SRAM Static Random Access Memory
- design conditions are represented as a function (e.g. objective function, cost function or the like) of various parameters, and the parameters are optimized so that the value of the objective function becomes minimum, for example.
- a function e.g. objective function, cost function or the like
- SPICE Simulation Program with Integrated Circuit Emphasis
- a following technique for reducing the number of times of the simulation exists. Namely, in this technique, the influence of discrepancies of circuit element values due to the manufacturing process of the circuit or fluctuation of the use conditions to the circuit characteristics is analyzed. More specifically, after it is evaluated whether or not the distribution of the fluctuation factor parameters, which is determined by the Monte Carlo method, satisfies the analysis accuracy requested by the designer, the values of the fluctuation factor parameters are determined. Then, the minimum number of times of the circuit simulation, which satisfies the analysis accuracy requested by the designer is automatically determined. However, this technique does not use the characteristic peculiar to SRAM.
- a model expression generation method is a method for generating model expressions of plural objective functions at vertexes of a quadrilateral relating to a yield on a plane for predetermined indicators concerning N and P channel of transistors in a Static Random Access Memory (SRAM).
- SRAM Static Random Access Memory
- this method includes: (A) allocating the initial number of times of simulation to each of the plurality of objective functions at each of designated vertexes according to weight values that are set in advance based on relationships presumed among the plurality of objective functions at each of the designated vertexes; (B) carrying out, for each of the plurality of objective functions at each of the designated vertexes, first simulation the allocated number of times while changing values of predetermined parameters; (C) generating, for each of the plurality of objective functions at each of the designated vertexes, a first model expression from a result of the first simulation, and calculating a first evaluation indicator of an approximation accuracy of the first model expression; (D) first determining, for each of the generated first model expressions, whether the corresponding first model expression has influence on a predetermined yield model expression; and (E) second determining, for each of the plurality of objective functions at each of the designated vertexes, based on the first evaluation indicator of the corresponding first model expression and whether the corresponding first model expression has influence on
- FIG. 1 is a diagram to explain a PN plane in this embodiment
- FIG. 2 is a diagram to explain the PN plane in this embodiment
- FIG. 3 is a diagram to explain influence on yield
- FIG. 4 is a diagram to explain the influence on the yield
- FIG. 5 is a functional block diagram of a model expression generation apparatus
- FIG. 6 is a diagram depicting a processing flow relating to the embodiment
- FIG. 7 is a diagram depicting an example of data stored in a simulation data storage unit
- FIG. 8 is a diagram depicting an example of data stored in a model expression evaluation data storage unit
- FIG. 9 is a diagram depicting an example of data stored in the model expression evaluation data storage unit.
- FIG. 10 is a diagram depicting the processing flow relating to the embodiment.
- FIG. 11 is a diagram to explain determination of whether or not the model expression has influence on the yield
- FIG. 12 is a diagram depicting an example of data stored in the model expression data storage unit.
- FIG. 13 is a functional block diagram of a computer.
- This plane is mapped by a predetermined indicator (e.g. a threshold voltage Vth of pMOS transistor, which is normalized by an average value or the like) for the P channel of the transistors included in SRAM and a predetermined indicator (e.g. a threshold voltage Vth of nMOS transistor, which is normalized by an average value or the like) for the N channel of the transistors included in SRAM.
- a predetermined indicator e.g. a threshold voltage Vth of pMOS transistor, which is normalized by an average value or the like
- a predetermined indicator e.g. a threshold voltage Vth of nMOS transistor, which is normalized by an average value or the like
- a set of parameters x i are searched, by which the yields ⁇ (P,N,x i ) at all points within a designated region on such a PN plane become equal to or greater than a certain value c (or maximum).
- the parameter x i is a cell voltage, load gate length, driver gate length, transfer gate length, load width, driver width, transfer width, word line voltage, Vth of the load, Vth of the driver, Vth of the transfer or the like, for example.
- the designated region is designated as a quadrilateral (typically, parallelogram) formed by segments connecting the vertexes A 1 to A 4 .
- each vertex of this quadrilateral are designated so as to belong anyone of 4 quadrants on the PN plane.
- Vth the threshold voltage
- a sample may occur that the threshold voltage of the pMOS transistor is greater than the average value, however, the threshold voltage of the nMOS transistor is less than the average value, for example. So, in this embodiment, permissible fluctuation ranges of Vth are designated by the quadrilateral.
- SNM means a static noise margin
- WM means a write margin.
- SNM and WM are well-known cost functions. So, further explanation is omitted. These values are calculated by SPICE simulator, for example. ⁇ (P,N,x i ) is defined as described above in order to search parameters x i by which SNM and WM, both of which are not bad, are calculated.
- the four vertexes A 1 to A 4 are evaluated to identify a set of parameters x i satisfying ⁇ (P,N,x i ) ⁇ c at these four points A 1 to A 4 .
- ⁇ b(x i ) is defined in order to search a set of parameters x i , by which the values of SNM and WM at all vertexes of the quadrilateral do not become bad, namely, both of the read operation and write operation can be appropriately carried out.
- 8 sets of simulations are required in order to carry out modeling of SNM and WM per one vertex.
- the respective vertexes have following features as depicted in FIG. 2 , it is possible to simplify ⁇ b(x i ). Namely, typically, the relationship WM>>SNM (WM is very larger) is valid at the vertex A 1 , which is a lower right vertex of the quadrilateral. Therefore, it is sufficient that only SNM is considered. In addition, typically, the relationship WM>SNM is valid at the vertex A 2 , which is a lower left vertex of the quadrilateral. Therefore, it is sufficient that only SNM is considered. Furthermore, typically, the relationship WM ⁇ SNM is valid at the vertex A 3 , which is an upper right vertex of the quadrilateral. Therefore, it is sufficient that only WM is considered.
- the modeling error is not permitted, and the modeling having high accuracy is required.
- the accuracy is required only for portion affecting ⁇ b(x i ).
- FIGS. 3 and 4 The presence or absence of the influence on ⁇ b(x i ) is depicted in FIGS. 3 and 4 , for example.
- the horizontal axis represents a parameter x i
- the vertical axis represents a value of SNM or WM.
- ⁇ b(x i ) is a function which adopts a lesser output value
- a portion of the straight line a is less than a straight line b
- a portion of the straight line b is less than the straight line a
- SNM and WM are represented by the straight lines a and b for the parameter x i as depicted in FIG. 3 .
- FIGS. 5 to 12 Next, a specific embodiment will be explained by using FIGS. 5 to 12 .
- FIG. 5 illustrates a functional block diagram of a model expression generation apparatus this embodiment.
- the model expression generation apparatus has (A) an input unit 101 to accept inputs from the user; (B) a setting data storage unit 103 storing setting data accepted by the input unit 101 ; (C) a simulation controller 105 that carries out a processing such as control for the simulator 200 by using data stored in the setting data storage unit 103 ; (D) a simulation data storage unit 107 storing data used by the simulation controller 105 and processing results; (E) a model expression generator 109 that carries out a processing such as generation of the model expression by using data stored in the simulation data storage unit 107 ; (F) a model expression evaluation data storage unit 111 storing data such as model expressions generated by the model expression generator 109 ; and (G) an evaluation unit 113 that cooperates with a Quantifier Elimination (QE) tool to carry out an evaluation processing by using data stored in the model expression evaluation data storage unit 111 and setting data storage unit 103 .
- the evaluation unit 113 outputs an instruction to the simulation controller 105 , when regeneration of the model expressions is required.
- the simulation controller 105 instructs the model expression generator 109 to carry out the generation of the model expressions again when the additional simulation is carried out.
- the simulator 200 and QE tool 300 may be included in the model expression generation apparatus, and the simulator 200 and QE tool 300 , which are implemented in another apparatus, may be utilized.
- a quantifier i.e. ⁇ and ⁇
- QE is a technique, which has been implemented in SyNRAC developed by Fujitsu Laboratories Ltd., or the like.
- the simulator 200 is a SPICE simulator, for example.
- the SPICE simulator is well-known. Therefore, further explanation is omitted.
- a user who generates the model expressions inputs coordinate values of the four vertexes of the quadrilateral on the PN plane, variation widths V i of parameters x i , the initial number of times of the simulation and weight setting values w j for the initial number of times of the simulation to the input unit 101 of the model expression generation apparatus.
- the input unit 101 accepts inputs of such data, and stores the accepted data into the setting data storage unit 103 ( FIG. 6 : step S 1 ).
- the simulation controller 105 allocates the initial number of times of the simulation to the respective cost functions (SNM and WM) at the four vertexes according to the weight setting values w j by using the initial number of times of the simulation and weight setting values for the initial number of times of the simulation, which are stored in the setting data storage unit 103 , and stores data of the allocation results into the simulation data storage unit 107 (step S 3 ).
- Such calculated allocation data for each cost function at each vertex is stored in the simulation data storage unit 107 .
- the simulation controller 105 generates, for each cost function (SNM and WM) at each of the four vertexes, parameter value sets of the allocated number of times, and stores the generated data into the simulation data storage unit 107 (step S 5 ).
- a value of each parameter x i is generated within the variation range V i stored in the setting data storage unit 103 according to a well-known method such as Latin Hypercubic method, and is stored into the simulation data storage unit 107 .
- data as depicted in FIG. 7 is stored.
- x i for each combination of the vertex and cost function, x i (here, 1 ⁇ i ⁇ n) and simulation result are stored.
- the number of parameter value sets, which are generated for each combination of the vertex and cost function follows the allocation of the initial number of times of the simulation as described above. Incidentally, the simulation result is not registered at the step S 5 .
- the simulation controller 105 causes the simulator 200 to carry out the simulation by designating, for each record as depicted in FIG. 7 , the vertex (p,n), parameter value set and cost function type, obtains the simulation result (i.e. value of the cost function SNM or value of the cost function WM), and stores the simulation result into the simulation data storage unit 107 (step S 7 ).
- the model expression generator 109 generates a model expression for each cost function at each of the four vertexes, by using the parameter value sets and simulation results, which are stored in the simulation data storage unit 107 , and stores data of the generated model expressions into the model expression evaluation data storage unit 111 (step S 9 ).
- the generation of the model expression is carried out by a well-known method such as the least squares method. Therefore, further explanation is omitted.
- data as schematically depicted in FIG. 8 is stored into the model expression evaluation data storage unit 111 .
- the model expression, approximation accuracy evaluation indicator and presence or absence of the influence on the yield ⁇ b(x i ) are registered.
- model expressions are registered.
- simplified forms of the model expressions such as SNM A1 (x i ) and WM A1 (x i ) are depicted.
- coefficient values of terms of the predetermined variables x i may be registered.
- the model expression generator 109 calculates the approximation accuracy evaluation indicator of each model expression, and stores the calculated indicators into the model expression evaluation data storage unit 111 (step S 11 ).
- the approximation accuracy evaluation indicator is a correlation coefficient, for example.
- the approximation accuracy evaluation indicator which is not the correlation coefficient, the sum of squares of the difference between a function value calculated by substituting the parameter value set generated at the step S 5 and used for the model expression generation into the model expression and the simulation result may be adopted.
- the step S 11 data as depicted in FIG. 9 is stored into the model expression evaluation data storage unit 111 . Namely, for each generated model expression, the approximation evaluation indicator is stored. The processing moves to a processing depicted in FIG. 10 through a terminal A.
- the evaluation unit 113 determines the presence or absence of the influence on the yield ⁇ b(x i ) for each model expression by using data stored in the model expression evaluation data storage unit 111 (step S 13 ). Specifically, it is determined whether or not values of the model expression are not greater values of the other model expressions. For example, as depicted in FIG. 11 , the horizontal axis represents the parameter x i , and the vertical axis represents SNM or WM. In addition, it is assumed that the straight lines p to u, which represent the model expressions, are obtained.
- the straight line p is always higher than the straight line q, and a portion of the straight line p is higher than the straight lines r and s. Therefore, it can be determined that the straight line p does not have no influence on the yield ⁇ b(x i ), which is the minimum value of the respective model expressions.
- the straight line is a mere example, and the curved line may be applied.
- the evaluation unit 113 generates a QE problem as described below, outputs the QE problem to the QE tool 300 , and determines whether the solution is “true” or “false”. Incidentally, this is a QE problem for the determination of SNW A1 (x i ).
- D(x i ) is defined as x 1 ⁇ V 1 AND x 2 ⁇ V 2 AND . . . x n ⁇ V n .
- the QE problem as described below is generated and outputted to the QE tool 300 to instruct the execution of the processing.
- the result of such a processing is stored in the model expression evaluation data storage unit 111 .
- data as depicted in FIG. 12 is stored, for example. In the example of FIG. 12 , it is determined that SNM A1 , WM A3 and WM A4 have the influence.
- the evaluation unit 113 determines the necessity of the additional simulation from the relationship between the presence or absence of the influence and the approximation evaluation indicator for each model expression, and stores the determination results into the model expression evaluation data storage unit 111 (step S 15 ).
- a first threshold e.g. “0.80” for the approximation accuracy evaluation indicator is set for “absence of influence” in advance
- a second threshold e.g. “0.95” for the approximation accuracy evaluation indicator is set for “presence of influence” in advance. Then, based on this data, the necessity of the additional simulation is determined.
- the approximation accuracy evaluation indicator is “0.80”, it is determined that there is no need to carry out the additional simulation.
- SNM A4 (x i ) because “absence of influence” is determined, the first threshold “0.80” is applied.
- the approximation accuracy evaluation indicator is “0.88”, it is determined that there is no need to carry out the additional simulation.
- WM A1 because “absence of influence” is determined, the first threshold “0.80” is applied. However, because the approximation accuracy evaluation indicator is “0.95”, it is determined that there is no need to carry out the additional simulation.
- WM A2 because “absence of influence” is determined, the first threshold “0.80” is applied. However, because the approximation accuracy evaluation indicator is “0.50” and less than the first threshold, it is determined that there is need to carry out the additional simulation.
- WM A3 because “presence of influence” is determined, the first threshold “0.95” is applied.
- the evaluation unit 113 judges whether or not any model expression for which the additional simulation is required (step S 17 ), and when there is no model expression for which the additional expression is required, the model expressions having the sufficient approximation accuracy corresponding to the presence or absence of the influence on the yield ⁇ b(x i ) have been generated. Therefore, the processing ends.
- the evaluation unit 113 notifies the simulation controller 105 of the vertex relating to the model expression for which the additional simulation is required and cost function type.
- the simulation controller 105 In response to notification from the evaluation unit 113 , the simulation controller 105 generates a predetermined number of additional parameter value sets for the vertex and cost function, which relate to the model expression for which the additional simulation is required, and stores the generated data into the simulation data storage unit 107 (step S 19 ).
- the predetermined number at this step may be the same for any combination of the vertex and cost function. For example, a predetermined ratio (e.g. 10%) of the initial number of times of the simulation may be added. Furthermore, because there is a method for determining the number of times of the simulation by using the characteristic peculiar to SRAM, such a method may be used. In addition, a predetermined ratio of the initial allocation may be added.
- a first objective function modeling unit calculates, for each of the plural objective functions, a first modeling objective function by modeling each of the plural objective functions, by formula approximation, while calculating each value of the plural objective functions for the input design parameter sample sets.
- a weight determination unit determines, for each value of the plural objective functions, the weight according to whether or not the value is included in the value range designated as the region for which the accuracy is required, and whether or not the value is less than a reference value of any other objective function or first modeling objective function, which corresponds to the input design parameter sample set from which the value is calculated.
- a second objective function modeling unit carries out modeling of the respective plural objective functions by the expression approximation to calculate the second modeled objective function, while carrying out modeling according to the weight determined for each value of the plural objective functions based on the input design parameter sample set and the respective values of the plural objective functions calculated in association with the input design parameter sample set.
- An accuracy condition determination unit determines, for each of the plural second modeled objective functions, whether or not accuracy information calculated by the second objective function modeling unit satisfies designated accuracy conditions. When the accuracy condition determination unit determines that the accuracy conditions are satisfied, an output modeling objective function determination unit determines the second modeled objective function relating to that determination, as an output modeled objective function for calculating a set of optimum design parameters.
- a modeled objective function value calculation unit calculates the respective values of the second modeled objective functions relating to that second determination for a second predetermined sets of design parameter samples, which are more than the first predetermined sets.
- a reverse image calculation unit stores the design parameter sample set from which the value is calculated in association with the objective function corresponding to the value.
- a modeling iteration controller determines, for each objective function corresponding to the second modeled objective function relating to the second determination, new input design parameter sample sets based on the current input design parameter sample sets and the design parameter sample set stored by the reverse image calculation unit in association with the objective function, inputs the determined data into the first objective function modeling unit, and causes the first objective function modeling unit, weight determination unit, second objective function modeling unit and accuracy condition determination unit to repeat their operations.
- the first and second objective function modeling units approximate the objective function by the polynomial expressions obtained by the linear regression analysis based on the input design parameter sample sets and respective values of the plural objective functions calculated in association with the input design parameter sample set.
- the simulation controller 105 causes the simulator 200 to carry out the simulation for each of the additionally generated parameter value sets, obtains the simulation results and stores the obtained simulation results into the simulation data storage unit 107 (step S 21 ).
- the data generated at the steps S 19 and S 21 is stored into the simulation data storage unit 107 in a format as depicted in FIG. 7 , for example.
- the simulation controller 105 notifies the model expression generator 109 of the vertex and cost function type, for which the additional simulation is required, and requests the model expression generator 109 to generate the corresponding model expression again.
- the model expression generator 109 regenerates the model expression relating to the vertex and cost function for which the additional simulation is required, according to the notification from the simulation controller 105 , and stores data of the generated model expression into the model expression evaluation data storage unit 111 (step S 23 ). For example, by using the simulation results additionally generated and the simulation results previously generated, model expression is regenerated by the least square method or the like. Then, the processing returns to the step S 13 .
- the approximation accuracy evaluation indicator can be improved.
- the processing returns to the step S 13 to determine the presence or absence of the influence on the yield ⁇ b(x i ) for all of the model expressions.
- the model expression generation apparatus is a computer device as shown in FIG. 13 . That is, a memory 2501 (storage device), a CPU 2503 (processor), a hard disk drive (HDD) 2505 , a display controller 2507 connected to a display device 2509 , a drive device 2513 for a removable disk 2511 , an input device 2515 , and a communication controller 2517 for connection with a network are connected through a bus 2519 as shown in FIG. 13 .
- An operating system (OS) and an application program for carrying out the foregoing processing in the embodiment are stored in the HDD 2505 , and when executed by the CPU 2503 , they are read out from the HDD 2505 to the memory 2501 .
- OS operating system
- an application program for carrying out the foregoing processing in the embodiment
- the CPU 2503 controls the display controller 2507 , the communication controller 2517 , and the drive device 2513 , and causes them to perform necessary operations.
- intermediate processing data is stored in the memory 2501 , and if necessary, it is stored in the HDD 2505 .
- the application program to realize the aforementioned functions is stored in the removable disk 2511 and distributed, and then it is installed into the HDD 2505 from the drive device 2513 . It may be installed into the HDD 2505 via the network such as the Internet and the communication controller 2517 .
- the hardware such as the CPU 2503 and the memory 2501 , the OS and the necessary application programs systematically cooperate with each other, so that various functions as described above in details are realized.
- a model expression generation method relating to this embodiment is a method for generating model expressions of plural objective functions (e.g. SNM and WM) at vertexes (in some cases, vertexes of a solid for which the yield is to be considered in a space) of a quadrilateral relating to a yield on a plane for predetermined indicators concerning N and P channel of transistors in a Static Random Access Memory (SRAM).
- SNM and WM plural objective functions
- this method includes: (A) allocating the initial number of times of simulation to each of the plurality of objective functions at each of designated vertexes according to weight values that are set in advance based on relationships presumed among the plurality of objective functions at each of the designated vertexes; (B) carrying out, for each of the plurality of objective functions at each of the designated vertexes, first simulation the allocated number of times while changing values of predetermined parameters; (C) generating, for each of the plurality of objective functions at each of the designated vertexes, a first model expression from a result of the first simulation, and calculating a first evaluation indicator of an approximation accuracy of the first model expression; (D) first determining, for each of the generated first model expressions, whether the corresponding first model expression has influence on a predetermined yield model expression; and (E) second determining, for each of the plurality of objective functions at each of the designated vertexes, based on the first evaluation indicator of the corresponding first model expression and whether the corresponding first model expression has influence on
- the model expressions can be generated with appropriate accuracy corresponding to whether or not the model expression has influence on the yield model expression as a result of allocating the initial number of times of the simulation based on the weight values, it is possible to reduce the entire number of times of the simulation, compared with a case where the number of times of the simulation is equally allocated to each of the plural objective functions at each of the designated vertexes. Incidentally, even when the lack of the approximation accuracy is found, the entire number of times of the simulation can be reduced in case where the additional number of times of the simulation is appropriately determined.
- the aforementioned first evaluation indicator may be a correlation coefficient.
- the evaluation indicator may be a indicator representing other error.
- the first determining may comprise: determining by a quantifier elimination method, whether a relationship that a specific model expression among the generated first model expressions is equal to or greater than any one of the generated first model expressions other than the specific model expression for all of the predetermined parameters. Thus, it becomes possible to easily determine whether or not the high accuracy is required.
- the second determining may comprise: upon determining that the corresponding first model expression has influence on the yield model expression, determining whether the first evaluation indicator of the corresponding first model expression is equal to or greater than a first threshold; and upon determining that the corresponding first model expression does not have influence on the yield model expression, determining whether the first evaluation indicator of the corresponding first model expression is equal to or greater than a second threshold less than the first threshold.
- the first model expression has influence, higher approximation accuracy is requested, and when the first model expression has no influence, relatively lower approximation accuracy may be acceptable. However, when the approximation accuracy is too lower, the determination of whether or not the first model expression has no influence on the yield model expression is doubtful. Therefore, the second threshold is adopted.
- this model expression generation method may further include: (F) carrying out the additional simulation the predetermined number of times, for a combination of the objective function and the designated vertex, for which it is determined in the second determining that the additional simulation is required, while changing values of the predetermined parameters; (G) generating a second model expression for the combination by using the result of the first simulation and a result of the additional simulation; and (H) calculating a second evaluation indicator of the approximation accuracy for the second model expression.
- the first model expression and the first evaluation value for the combination may be replaced with the second model expression and the second evaluation value for the combination to execute the first determining and the second determining.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Operations Research (AREA)
- Tests Of Electronic Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
ψ(P,N,x i)=min(SNM(P,N,x i),WM(P,N,x i))
φb(x i)=min(WM(3,3,x i),SNM(−3,−3,x i),SNM(2,−2,x i),WM(−2,2,x i))≧c (2)
WM(−2,2)<WM(3,3)
SNM(2,−2)<SNM(−3,−3)
∀x i(D(x i) SNM A1(x i)≧SNM A2(x i) SNM A1(x i)≧SNM A3(x i) SNM A1(x i)≧SNM A4(x i) SNM A1(x i)≧WM A1(x i) SNM A1(x i)≧WM A2(x i) SNM A1(x i)≧WM A3(x i) SNM A1(x i)≧WM A4(x i)) (3)
∀x i(D(x i) SNM A2(x i)≧SNM A1(x i) SNM A2(x i)≧SNM A3(x i) SNM A2(x i)≧SNM A4(x i) SNM A2(x i)≧WM A1(x i) SNM A2(x i)≧WM A2(x i) SNM A2(x i)≧WM A3(x i) SNM A2(x i)≧WM A4(x i))
∀x i(D(x i) SNM A3(x i)≧SNM A1(x i) SNM A3(x i)≧SNM A2(x i) SNM A3(x i)≧SNM A4(x i) SNM A3(x i)≧WM A1(x i) SNM A3(x i)≧WM A2(x i) SNM A3(x i)≧WM A3(x i) SNM A3(x i)≧WM A4(x i))
∀x i(D(x i) SNM A4(x i)≧SNM A1(x i) SNM A4(x i)≧SNM A2(x i) SNM A4(x i)≧SNM A3(x i) SNM A4(x i)≧WM A1(x i) SNM A4(x i)≧WM A2(x i) SNM A4(x i)≧WM A3(x i) SNM A4(x i)≧WM A4(x i))
∀x i(D(x i) WM A1(x i)≧SNM A1(x i) WM A1(x i)≧SNM A2(x i) WM A1(x i)≧SNM A3(x i) WM A1(x i)≧SNM A4(x i) WM A1(x i)≧WM A2(x i) WM A1(x i)≧WM A3(x i) WM A1(x i)≧WM A4(x i))
∀x i(D(x i) WM A2(x i)≧SNM A1(x i) WM A2(x i)≧SNM A2(x i) WM A2(x i)≧SNM A3(x i) WM A2(x i)≧SNM A4(x i) WM A2(x i)≧WM A1(x i) WM A2(x i)≧WM A3(x i) WM A2(x i)≧WM A4(x i))
∀x i(D(x i) WM A3(x i)≧SNM A1(x i) WM A3(x i)≧SNM A2(x i) WM A3(x i)≧SNM A3(x i) WM A3(x i)≧SNM A4(x i) WM A3(x i)≧WM A1(x i) WM A3(x i)≧WM A2(x i) WM A3(x i)≧WM A4(x i))
∀x i(D(x i) WM A4(x i)≧SNM A1(x i) WM A4(x i)≧SNM A2(x i) WM A4(x i)≧SNM A3(x i) WM A4(x i)≧SNM A4(x i) WM A4(x i)≧WM A1(x i) WM A4(x i)≧WM A2(x i) WM A4(x i)≧WM A3(x i))
Claims (7)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010-125658 | 2010-06-01 | ||
| JP2010125658A JP5418409B2 (en) | 2010-06-01 | 2010-06-01 | Model formula generation method, apparatus and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20110295573A1 US20110295573A1 (en) | 2011-12-01 |
| US8935131B2 true US8935131B2 (en) | 2015-01-13 |
Family
ID=45022788
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/071,625 Active 2033-04-13 US8935131B2 (en) | 2010-06-01 | 2011-03-25 | Model expression generation method and apparatus |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8935131B2 (en) |
| JP (1) | JP5418409B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140350900A1 (en) * | 2013-05-27 | 2014-11-27 | Jin-Young Lee | Simulation system and method thereof and computing system including the simulation system |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5402351B2 (en) * | 2009-07-24 | 2014-01-29 | 富士通株式会社 | Multi-objective optimization design support apparatus, method, and program |
| JP5477242B2 (en) * | 2010-09-22 | 2014-04-23 | 富士通株式会社 | Optimization processing program, method and apparatus |
| JP6191300B2 (en) * | 2013-07-19 | 2017-09-06 | 富士通株式会社 | Response surface calculation program, response surface calculation device, and response surface calculation method |
| KR20160061701A (en) * | 2014-11-24 | 2016-06-01 | 삼성전자주식회사 | Method and apparatus for processing data using calculators which have different degree of accuracy respectively |
| JP7188754B2 (en) * | 2019-01-17 | 2022-12-13 | 東海光学株式会社 | Warp prediction method and program for optical products |
| CN111899321B (en) * | 2020-08-26 | 2023-09-26 | 网易(杭州)网络有限公司 | Method and device for displaying expression of virtual character |
| CN116880382B (en) * | 2023-07-05 | 2024-04-05 | 南通大学 | Chemical production control model generation method, chemical production control method and device |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5424964A (en) * | 1990-12-21 | 1995-06-13 | Texas Instruments Incorporated | Method and system for optimizing a transistor model |
| JP2003006263A (en) | 2001-06-22 | 2003-01-10 | Mitsubishi Electric Corp | Variation analyzer and variation analysis method |
| US7979832B2 (en) * | 2006-12-06 | 2011-07-12 | Qualcomm Incorporated | Process variation tolerant memory design |
| US8364450B2 (en) * | 2009-07-24 | 2013-01-29 | Fujitsu Limited | Multi-objective optimization design support apparatus and method |
| US8498844B2 (en) * | 2010-01-26 | 2013-07-30 | Fujitsu Limited | Optimization processing method and apparatus |
| US8533653B2 (en) * | 2009-02-12 | 2013-09-10 | Fujitsu Limited | Support apparatus and method for simplifying design parameters during a simulation process |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002043429A (en) * | 2000-07-24 | 2002-02-08 | Mitsubishi Electric Corp | Simulation method and simulation device |
| JP2005129015A (en) * | 2003-09-30 | 2005-05-19 | Fujitsu Ltd | Model parameter determination program and determination apparatus in simulation |
| JP5062046B2 (en) * | 2008-01-14 | 2012-10-31 | 富士通株式会社 | Multi-objective optimization design support apparatus, method, and program using mathematical expression processing technique |
| JP5176895B2 (en) * | 2008-11-18 | 2013-04-03 | 富士通株式会社 | Multi-objective optimization design support apparatus, method, and program for SRAM shape parameters, etc. |
-
2010
- 2010-06-01 JP JP2010125658A patent/JP5418409B2/en not_active Expired - Fee Related
-
2011
- 2011-03-25 US US13/071,625 patent/US8935131B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5424964A (en) * | 1990-12-21 | 1995-06-13 | Texas Instruments Incorporated | Method and system for optimizing a transistor model |
| JP2003006263A (en) | 2001-06-22 | 2003-01-10 | Mitsubishi Electric Corp | Variation analyzer and variation analysis method |
| US7979832B2 (en) * | 2006-12-06 | 2011-07-12 | Qualcomm Incorporated | Process variation tolerant memory design |
| US8533653B2 (en) * | 2009-02-12 | 2013-09-10 | Fujitsu Limited | Support apparatus and method for simplifying design parameters during a simulation process |
| US8364450B2 (en) * | 2009-07-24 | 2013-01-29 | Fujitsu Limited | Multi-objective optimization design support apparatus and method |
| US8498844B2 (en) * | 2010-01-26 | 2013-07-30 | Fujitsu Limited | Optimization processing method and apparatus |
Non-Patent Citations (12)
| Title |
|---|
| Anai, Hirokazu, "Introduction to Computational Real Algebraic Geometry" Series No. 1, Nov. 2007. |
| Anai, Hirokazu, "Introduction to Computational Real Algebraic Geometry" Series No. 2, Dec. 2007. |
| Anai, Hirokazu, "Introduction to Computational Real Algebraic Geometry" Series No. 3, Jan. 2008. |
| Anai, Hirokazu, "Introduction to Computational Real Algebraic Geometry" Series No. 4, Mar. 2008. |
| Anai, Hirokazu, "Introduction to Computational Real Algebraic Geometry" Series No. 5, Apr. 2008. |
| Cadence Design Systems, Recommended Monte Carlo Modeling Methodology for Virtuoso Spectre Circuit Simulator Application Note, Nov. 2003. * |
| Fujitsu, "Design Technology Based on Symbolic Computation," 2009, pp. 514-521. |
| Jirstrand, Mats, "Cylindrical Algebraic Decomposition - an Introduction," Oct. 18, 1995, pp. 1-38. |
| Jirstrand, Mats, "Cylindrical Algebraic Decomposition — an Introduction," Oct. 18, 1995, pp. 1-38. |
| Mukhopadhyay, Saibal, Hamid Mahmoodi, and Kaushik Roy. "Modeling of failure probability and statistical design of SRAM array for yield enhancement in nanoscaled CMOS." Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on 24.12 (2005): 1859-1880. * |
| Nalam, Satyanand, et al. "A technology-agnostic simulation environment (TASE) for iterative custom ic design across processes." Computer Design, 2009. ICCD 2009. IEEE International Conference on. IEEE, 2009. * |
| Yamaoka, Masanao, "Low Power SRAM Menu for SOC Application Using Yin-Yang-Feedback Memory Cell Technology," 2004, pp. 288-291. |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140350900A1 (en) * | 2013-05-27 | 2014-11-27 | Jin-Young Lee | Simulation system and method thereof and computing system including the simulation system |
| US9846753B2 (en) * | 2013-05-27 | 2017-12-19 | Samsung Electronics Co., Ltd. | Monte Carlo simulation for analyzing yield of an electric circuit |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5418409B2 (en) | 2014-02-19 |
| US20110295573A1 (en) | 2011-12-01 |
| JP2011253279A (en) | 2011-12-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8935131B2 (en) | Model expression generation method and apparatus | |
| US11556690B2 (en) | Generating integrated circuit placements using neural networks | |
| US6480991B1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
| US8990743B2 (en) | Automated circuit design | |
| Chen et al. | Toward silicon-proven detailed routing for analog and mixed-signal circuits | |
| US6986109B2 (en) | Practical method for hierarchical-preserving layout optimization of integrated circuit layout | |
| US20120131530A1 (en) | Partitioning for hardware-accelerated functional verification | |
| US20110295403A1 (en) | Simulation parameter correction technique | |
| KR102398596B1 (en) | Method of estimating a yield of an integrated circuit and method of optimizing a design for an integrated circuit | |
| US8726201B2 (en) | Method and system to predict a number of electromigration critical elements | |
| US8028263B2 (en) | Method, system, and computer program product for implementing incremental placement in electronics design | |
| US11966682B2 (en) | Fast independent checker for extreme ultraviolet (EUV) routing | |
| US11983476B2 (en) | Technology-independent line end routing | |
| US8661391B1 (en) | Spare cell insertion based on reachable state analysis | |
| EP4356283A1 (en) | Machine-learning-based power/ground (p/g) via removal | |
| Lin et al. | High performance dummy fill insertion with coupling and uniformity constraints | |
| US8577653B2 (en) | Optimization processing method and apparatus | |
| Glynn | Exact simulation vs exact estimation | |
| Balaskas et al. | Variability-aware approximate circuit synthesis via genetic optimization | |
| US8942968B2 (en) | Analysis support computer product, apparatus, and method | |
| US20240095424A1 (en) | Alignment Cost for Integrated Circuit Placement | |
| Zhong et al. | Algorithms for simultaneous satisfaction of multiple constraints and objective optimization in a placement flow with application to congestion control | |
| US11210448B1 (en) | Mitigating timing yield loss due to high-sigma rare-event process variation | |
| US11783108B2 (en) | System memory-aware circuit region partitioning | |
| US8606736B2 (en) | Technique for solving optimization problem |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: FUJITSU LIMITED, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:IWANE, HIDENAO;ANAI, HIROKAZU;YANAMI, HITOSHI;REEL/FRAME:026022/0278 Effective date: 20110207 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |