WO2023155259A1 - 一种缓冲器插入方法、装置、存储介质及电子设备 - Google Patents

一种缓冲器插入方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
WO2023155259A1
WO2023155259A1 PCT/CN2022/080580 CN2022080580W WO2023155259A1 WO 2023155259 A1 WO2023155259 A1 WO 2023155259A1 CN 2022080580 W CN2022080580 W CN 2022080580W WO 2023155259 A1 WO2023155259 A1 WO 2023155259A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameters
insertion strategy
fitness
circuit
strategy parameters
Prior art date
Application number
PCT/CN2022/080580
Other languages
English (en)
French (fr)
Inventor
杜涛
Original Assignee
长鑫存储技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 长鑫存储技术有限公司 filed Critical 长鑫存储技术有限公司
Priority to US17/806,975 priority Critical patent/US20230259682A1/en
Publication of WO2023155259A1 publication Critical patent/WO2023155259A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/373Design optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model

Definitions

  • the present disclosure relates to the technical field of integrated circuits, and in particular to a buffer insertion method, device, storage medium and electronic equipment.
  • Dynamic Random Access Memory is a semiconductor storage device commonly used in computers.
  • DRAM Dynamic Random Access Memory
  • some signals need to be transmitted through a very long transmission path, so it is necessary to insert a buffer on the transmission path to ensure the signal transmission speed and signal transmission quality.
  • the present disclosure provides a buffer insertion method, device, storage medium and electronic equipment, which can quickly and efficiently determine a buffer insertion scheme, and can also improve the circuit performance of a target circuit.
  • an embodiment of the present disclosure provides a buffer insertion method, the method including:
  • one of the insertion strategy parameters includes a buffer quantity parameter, a buffer location parameter and a buffer size parameter.
  • the preset population genetic model includes a fitness sub-model and a genetic sub-model; the calculation of the multiple insertion strategy parameters using the preset population genetic model to determine the target insertion strategy parameters includes:
  • the number of iterations is initialized to 0; the fitness sub-model is used to calculate the fitness of the circuit parameters and the first insertion strategy parameters of the circuit to be processed, and obtain the fitness value corresponding to the first insertion strategy parameters; wherein, The first insertion strategy parameter is any one of the plurality of insertion strategy parameters; after obtaining the fitness values corresponding to the plurality of insertion strategy parameters, according to the fitness values corresponding to the plurality of insertion strategy parameters, Using the genetic sub-model to iteratively process the multiple insertion strategy parameters to obtain multiple iterative insertion strategy parameters; add 1 to the number of iterations, and determine whether the number of iterations is greater than a preset number of thresholds; When the number of iterations is less than or equal to the preset number of thresholds, re-determine the multiple iterative insertion strategy parameters as the multiple insertion strategy parameters, and return to the execution of the algorithm using the fitness sub-model for the The step of calculating the fitness of the circuit parameters of the circuit to be processed and the first
  • the preset population genetic model includes a fitness sub-model and a genetic sub-model; the calculation of the multiple insertion strategy parameters using the preset population genetic model to determine the target insertion strategy parameters includes:
  • the number of iterations is initialized to 0; the fitness sub-model is used to calculate the fitness of the circuit parameters and the first insertion strategy parameters of the circuit to be processed, and obtain the fitness value corresponding to the first insertion strategy parameters; wherein, The first insertion strategy parameter is any one of the plurality of insertion strategy parameters; after obtaining the fitness values corresponding to the plurality of insertion strategy parameters, according to the fitness values corresponding to the plurality of insertion strategy parameters, Using the genetic sub-model to iteratively process the multiple insertion strategy parameters to obtain multiple iterative insertion strategy parameters; add 1 to the number of iterations, and determine whether the iteration variance is less than a preset variance threshold; When the iteration variance is greater than or equal to the preset variance threshold, re-determine the multiple iterative insertion strategy parameters as the multiple insertion strategy parameters, and return to perform the processing of the pending processing by using the fitness sub-model A step of calculating the fitness of the circuit parameters and the first insertion strategy parameters; if the iter
  • the method before the judging whether the iteration variance is less than a preset variance threshold, the method further includes:
  • the method further includes:
  • the fitness values corresponding to the plurality of insertion strategy parameters are compared, and the insertion strategy parameter with the highest fitness value is directly determined as an iterative insertion strategy parameter.
  • the fitness calculation is performed on the circuit parameters of the circuit to be processed and the first insertion strategy parameter by using the fitness sub-model, and the fitness value corresponding to the first insertion strategy parameter is obtained, including :
  • the weight value performs a weighted summation operation on the first sub-fitness value, the second sub-fitness value, the third sub-fitness value and the fourth sub-fitness value to obtain the first insertion
  • the fitness value corresponding to the policy parameter.
  • the preset weights include a first weight, a second weight, a third weight, and a fourth weight; the method further includes:
  • the genetic sub-model is used to iteratively process the multiple insertion strategy parameters to obtain multiple iterative insertion strategy parameters, including:
  • the multiple insertion strategy parameters are screened according to the fitness values corresponding to the multiple insertion strategy parameters to obtain a plurality of first intermediate parameters, including:
  • the fitness values corresponding to the multiple insertion strategy parameters are summed to obtain the total fitness value; the fitness values corresponding to the multiple insertion strategy parameters are divided by the total fitness value to obtain the total fitness value.
  • performing cross processing on the multiple first intermediate parameters to obtain multiple second intermediate parameters includes:
  • the mutating the multiple second intermediate parameters to obtain the multiple iterative insertion strategy parameters includes:
  • a random number conforming to a normal distribution is determined; according to a preset mutation probability, the random number is used to perform Gaussian mutation processing on the plurality of second intermediate parameters to obtain the plurality of iterative insertion strategy parameters.
  • the determining the target insertion strategy parameters according to the multiple iterative insertion strategy parameters includes:
  • the fitness sub-model is used to calculate the multiple iterative insertion strategy parameters to obtain fitness values corresponding to the multiple iterative insertion strategy parameters;
  • the fitness values corresponding to the insertion strategy parameters are compared, and the iterative insertion strategy parameter with the highest fitness value is determined as the target insertion strategy parameter.
  • an embodiment of the present disclosure provides a buffer insertion device, the buffer insertion device includes a determination unit, a calculation unit, and a processing unit; wherein,
  • the determination unit is configured to determine a circuit to be processed and a plurality of insertion strategy parameters
  • the calculation unit is configured to use a preset population genetic model to calculate the plurality of insertion strategy parameters to determine target insertion strategy parameters;
  • the processing unit is configured to perform buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter to obtain a target circuit.
  • an embodiment of the present disclosure provides a buffer insertion device, where the buffer insertion device includes a memory and a processor; wherein,
  • memory for storing computer programs capable of running on the processor
  • the processor is configured to execute the steps of the method of the first aspect when running the computer program.
  • an embodiment of the present disclosure provides a computer storage medium, the computer storage medium stores a computer program, and when the computer program is executed, the steps of the method described in the first aspect are implemented.
  • an embodiment of the present disclosure provides an electronic device, the electronic device at least including the buffer insertion device described in the second aspect or the third aspect.
  • Embodiments of the present disclosure provide a buffer insertion method, device, storage medium, and electronic equipment, which determine the circuit to be processed and multiple insertion strategy parameters; use the preset population genetic model to calculate multiple insertion strategy parameters, and determine the target insertion strategy parameter; perform buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter to obtain the target circuit.
  • FIG. 1 is a schematic flowchart of a buffer insertion method provided by an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of another buffer insertion method provided by an embodiment of the present disclosure
  • FIG. 3 is a schematic flowchart of another buffer insertion method provided by an embodiment of the present disclosure.
  • FIG. 4 is a schematic flowchart of another buffer insertion method provided by an embodiment of the present disclosure.
  • FIG. 5 is a statistical schematic diagram of a fitness value provided in an embodiment of the present disclosure.
  • FIG. 6A is a schematic diagram of a buffer insertion effect provided by an embodiment of the present disclosure.
  • FIG. 6B is a schematic diagram of another buffer insertion effect provided by an embodiment of the present disclosure.
  • FIG. 7 is a schematic diagram of the composition and structure of a buffer insertion device provided by an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of a hardware structure of a buffer insertion device provided by an embodiment of the present disclosure.
  • FIG. 9 is a schematic diagram of the composition and structure of an electronic device provided by an embodiment of the present disclosure.
  • first ⁇ second ⁇ third involved in the embodiments of the present disclosure are only used to distinguish similar objects, and do not represent a specific ordering of objects. Understandably, “first ⁇ second ⁇ third 3" where permitted, the specific order or sequence may be interchanged such that the embodiments of the disclosure described herein can be practiced in sequences other than those illustrated or described herein.
  • the function and idealized delay are usually designed first, and then the timing and delay in the circuit are adjusted according to the specific situation.
  • many signals are encountered, and the signals need to be transmitted through long traces.
  • a buffer needs to be added to the transmission path of these signals to ensure that the transmission speed of the signals is relatively fast, and the signals have better signal quality after reaching the end point.
  • experienced designers need to conduct circuit evaluation, give some buffer insertion rules, and then use software scripts to automate or manually insert buffers according to the buffer insertion rules. .
  • an embodiment of the present disclosure provides a buffer insertion method, the method includes: determining the circuit to be processed and multiple insertion strategy parameters; using a preset population genetic model to calculate multiple insertion strategy parameters, and determining the target insertion strategy Parameters: perform buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter to obtain the target circuit.
  • FIG. 1 shows a schematic flowchart of a buffer insertion method provided by an embodiment of the present disclosure.
  • the method may include:
  • S101 Determine a circuit to be processed and multiple insertion strategy parameters.
  • the embodiment of the present disclosure provides a buffer insertion method for inserting a buffer into a circuit to be processed, so as to ensure that each signal in the circuit to be processed is in a better working state.
  • the buffer insertion method provided by the embodiments of the present disclosure can be applied to various electronic devices with computing functions.
  • the circuits to be processed may be various types of circuits, such as circuits in a DRAM chip.
  • the multiple insertion strategy parameters may be randomly generated for the circuit to be processed, and the multiple insertion strategy parameters are then iteratively processed and screened to obtain the best target insertion strategy parameters.
  • an insertion strategy parameter may include a buffer quantity parameter, a buffer location parameter, and a buffer size parameter.
  • the buffer refers to a unit circuit composed of two inverters, and its output signal is the same as the input signal. Adding a buffer in the circuit to be processed can make the circuit to be processed have stable output resistance, better voltage transmission characteristics and a steeper output curve.
  • the buffer quantity parameter may point to the number of buffers inserted in the circuit to be processed; the buffer position parameter may refer to the insertion position of each buffer, that is, the buffer is connected to a specified circuit node (such as a signal The distance between the input terminal), the buffer size parameter can refer to the size of the transistor in each buffer, such as N-type field effect transistor (NMOS) width/length, P-type field effect transistor (PMOS) width/length, with It is used to characterize the driving ability of transistors.
  • NMOS N-type field effect transistor
  • PMOS P-type field effect transistor
  • the insertion strategy parameter may be an encoded parameter, and the specific encoding rules are not limited.
  • S102 Using a preset population genetic model to calculate multiple insertion strategy parameters to determine target insertion strategy parameters.
  • genetic algorithm (or called population genetic algorithm) is used to optimize insertion strategy parameters, so as to obtain target insertion strategy parameters with the best effect.
  • genetic algorithm is a method of simulating the natural evolution process to search for the optimal solution, which is widely used in the fields of combinatorial optimization, machine learning, signal processing, adaptive control and artificial life.
  • the preset population genetic model is constructed based on the genetic algorithm and the task scenario of inserting the buffer into the circuit to be processed, so that the insertion strategy parameters are iteratively optimized by using the preset population genetic model, and finally the target insertion strategy parameters are obtained .
  • the design of buffer insertion can be automated, improving the efficiency of circuit design and saving the designer's time; in addition, the buffer insertion process no longer depends on the designer's experience, which is objective and Stability to ensure the final performance of the circuit.
  • the preset population genetic model includes a fitness sub-model and a genetic sub-model; according to the circuit parameters of the circuit to be processed, a plurality of insertion strategy parameters are performed using the preset population genetic model Calculation, to determine target insertion strategy parameters, may include:
  • the first insertion strategy parameter is any one of multiple insertion strategy parameters
  • the circuit parameters of the circuit to be processed include at least the total length of the circuit to be processed.
  • the circuit parameters of the circuit to be processed and each insertion strategy parameter are calculated by using the fitness sub-model, and the fitness corresponding to each insertion strategy parameter can be obtained. degree value.
  • the fitness sub-model is used to calculate the fitness value corresponding to the insertion strategy parameters, and the fitness value is an index to measure the pros and cons of the insertion strategy parameters.
  • the higher the fitness value corresponding to the insertion strategy parameter the better the effect of buffer insertion according to the insertion strategy parameter.
  • the use of the fitness sub-model to perform fitness calculations on the circuit parameters of the circuit to be processed and the first insertion strategy parameters to obtain the fitness value corresponding to the first insertion strategy parameters may include:
  • the fitness sub-model is established based on multiple indicators to measure the pros and cons of the circuit design.
  • the first sub-fitness value may be the signal delay of the circuit
  • the second sub-fitness value may be the circuit area
  • the third sub-fitness value may be the signal pulse width of the output signal
  • the fourth sub-fitness value Can be circuit power dissipation.
  • the larger the signal pulse width the faster the rising time/falling time of the signal, the corresponding waveform distortion is less, and the signal quality value is higher.
  • the power consumption of the circuit can be determined according to the circuit current, and the larger the circuit current, the larger the power consumption value.
  • the signal delay value of the circuit is smaller, the circuit area is smaller, the signal pulse width is wider, and the circuit power consumption is smaller.
  • the preset weight includes a first weight, a second weight, a third weight, and a fourth weight; the method may also include:
  • the first weight refers to the weight of the first sub-fitness value
  • the second weight refers to the weight of the second sub-fitness value
  • the third weight refers to the weight of the third sub-fitness value
  • the fourth weight refers to the weight of the fourth sub-fitness value.
  • the values of the first weight, the second weight, the third weight, and the fourth weight need to be specifically determined according to actual application scenarios. For example, for a scenario that requires a high signal delay, the first weight may be set to a larger value.
  • the fitness sub-model can be shown as formula (1):
  • x refers to the first insertion strategy parameter
  • F(x) refers to the fitness value of x
  • delay refers to the signal delay
  • total size refers to the circuit area
  • pluse width refers to the signal pulse width
  • current refers to the circuit current (circuit power dissipation).
  • A, B, C, and D are respectively the first weight, the second weight, the third weight, and the fourth weight, and delay, total size, pluse width, and current are respectively the first sub-fitness value, A second sub-fitness value, a third sub-fitness value, and a fourth sub-fitness value.
  • delay, total size, pluse width, and current are all calculated according to the circuit length of the circuit to be processed and the first insertion strategy parameter (x), which can represent the circuit to be processed after the buffer is inserted according to the first insertion strategy parameter performance.
  • the signal delay, circuit area, signal pulse width, and circuit current are not in the same unit system, and may not be in the same order of magnitude. Therefore, delay, total size, pluse width, and current need to be modeled according to actual application scenarios in order to adapt to the preset population genetic model of the embodiment of the present disclosure. For example, the larger the fitness value, the better the insertion strategy parameters, so the delay can be designed as the reciprocal of the real circuit delay.
  • the genetic submodel is used to specify the iteration rules to obtain the parameters of the iterative insertion strategy.
  • the genetic sub-model is used to iteratively process the multiple insertion strategy parameters to obtain multiple iterative insertion strategy parameters, which may include:
  • the iterative process includes three main steps: screening, crossover, and mutation.
  • the specific process of iteration can be understood as follows: select some better insertion strategy parameters (ie, the first intermediate parameters) among multiple insertion strategy parameters, and use the screened first intermediate parameters to perform cross processing to obtain the second intermediate parameters , performing mutation processing on the second intermediate parameter to obtain the iterative insertion strategy parameter.
  • the filtering of multiple insertion strategy parameters according to the fitness values corresponding to the multiple insertion strategy parameters to obtain a plurality of first intermediate parameters may include:
  • the fitness value corresponding to multiple insertion strategy parameters is summed to obtain the total fitness value
  • the fitness value corresponding to the multiple insertion strategy parameters and the total fitness value are divided to obtain the selection probability value corresponding to the multiple insertion strategy parameters;
  • Multiple first intermediate parameters are determined according to selection probability values corresponding to multiple insertion strategy parameters.
  • the essence of the screening process is to simulate natural selection, and the specific screening algorithm can be selected according to the actual application scenario, such as the roulette algorithm.
  • an insertion strategy parameter may be selected multiple times.
  • the multi-point crossing method can be used.
  • the cross-processing of multiple first intermediate parameters to obtain multiple second intermediate parameters may include:
  • multi-point crossing processing is performed on the multiple first intermediate parameters to obtain multiple second intermediate parameters.
  • the insertion strategy parameters can be regarded as chromosomes in the genetic algorithm.
  • Crossover processing refers to the process in which two paired chromosomes exchange some genes with each other to obtain new chromosomes. That is to say, among the plurality of first intermediate parameters, chromosome segments, that is, partial parameters are exchanged for every two first intermediate parameters, so as to obtain two cross-exchanged second intermediate parameters.
  • the preset crossover probability needs to be selected according to the actual application scenario.
  • the method of Gaussian variation can be used.
  • performing mutation processing on multiple second intermediate parameters to obtain multiple iterative insertion strategy parameters may include:
  • random numbers are used to perform Gaussian mutation processing on multiple second intermediate parameters to obtain multiple iterative insertion strategy parameters.
  • iterative insertion strategy parameters can be obtained through screening, crossover, and mutation.
  • the direction of iterative processing is not certain, that is, the parameters of the iterative insertion strategy may be better than the parameters of the insertion strategy before the iteration, or the parameters of the iterative insertion strategy may be worse than the parameters of the insertion strategy before the iteration. Therefore, it is also necessary to ensure that the optimal insertion strategy parameters in each generation must be completely inherited to the next generation.
  • the method may further include:
  • the fitness values corresponding to multiple insertion strategy parameters are compared, and the insertion strategy parameter with the highest fitness value is directly determined as an iterative insertion strategy parameter.
  • the insertion strategy parameters of each generation will be screened, iterated, and cross-processed to obtain the insertion strategy parameters of the next generation, and the optimal insertion strategy parameters in each generation must be reserved for the next generation. In this way, it can ensure that the optimal insertion strategy parameters continue to exist in the iterative process, avoiding the uncertainty of iterations, so that the finally screened target insertion strategy parameters have better performance.
  • the iterative processing may also include only screening and crossover, or only screening and mutation.
  • S2041 Add 1 to the number of iterations, and determine whether the number of iterations is greater than a preset threshold.
  • step S2041 if the judgment result is no, then execute step S205, and if the judgment result is yes, then execute step S206.
  • the target insertion strategy parameter is selected from multiple iteration insertion strategy parameters.
  • the determining the target insertion strategy parameters according to multiple iterative insertion strategy parameters may include:
  • the fitness sub-model is used to calculate multiple iterative insertion strategy parameters, and the fitness values corresponding to the multiple iterative insertion strategy parameters are obtained;
  • the fitness values corresponding to multiple iterative insertion strategy parameters are compared, and the iterative insertion strategy parameter with the highest fitness value is determined as the target insertion strategy parameter.
  • the described utilization preset population genetic model calculates a plurality of insertion strategy parameters, determines target insertion strategy parameter, can include:
  • S2042 Add 1 to the number of iterations, and determine whether the iteration variance is smaller than a preset variance threshold.
  • step S2042 if the judgment result is no, then execute step S205, and if the judgment result is yes, then execute step S206.
  • the iteration variance is used to indicate the degree of change between the iterative results. If the degree of change between the iterative results in different iterative processes is large, it means that the iterative process needs to be continued; if the iterative results in different iterative processes are different The degree of change is small, indicating that iterations have been repeated near the optimal solution, the iterative process can be terminated, and the optimal solution can be output.
  • the iteration variance can be calculated according to the highest fitness value. Therefore, before judging whether the iteration variance is less than a preset variance threshold, the method may further include:
  • n is the value of the number of iterations
  • m is a positive integer
  • the number of iterations can be used alone as the termination condition, or the iteration variance can be used as the termination condition, or the number of iterations and the variance of iterations can be used as the termination condition at the same time, that is, the number of iterations is satisfied or the variation between iteration results is satisfied
  • the degree limit can be terminated iteratively.
  • the embodiment of the present disclosure designs the fitness sub-model and the genetic sub-model according to the principle of the genetic algorithm, and controls the evolution of the insertion strategy parameters to a direction with better performance through multiple iterative processing of the insertion strategy parameters, and finally Get target insertion strategy parameters.
  • S103 Perform buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter to obtain the target circuit.
  • the target insertion strategy parameter indicates the number of buffers, the buffer insertion position and the size of the buffer, so that the buffer can be inserted into the circuit to be processed according to the target insertion strategy parameter to obtain the target circuit.
  • multiple insertion strategy parameters can be randomly generated, and the preset population genetic model can be used to determine the number of insertion strategy parameters Based on iterative optimization to generate the final target insertion strategy parameters.
  • a circuit aided design method is provided through genetic algorithm, which can automatically determine the buffer insertion strategy, so that the buffer insertion scheme no longer depends on the designer's experience; and the The buffer insertion strategy can make the circuit have better performance, that is, the signal delay value is smaller, the circuit area is smaller, the signal quality is better, and the power consumption is lower, so that after the circuit process is replaced, the designer cannot quickly determine Disadvantages of buffer insertion rules.
  • step S101 can also be considered to be performed by a preset population genetic model.
  • the user only needs to input the circuit parameters of the circuit to be processed into the preset population genetic model, and the preset population genetic model will automatically and randomly generate multiple insertion strategy parameters, and iteratively optimize the insertion strategy parameters, and obtain the target After inserting the policy parameters, return the target insertion policy parameters to the user.
  • the embodiment of the present disclosure provides a buffer insertion method, which determines the circuit to be processed and multiple insertion strategy parameters; uses the preset population genetic model to calculate multiple insertion strategy parameters, and determines the target insertion strategy parameters; according to the target insertion strategy parameters Perform buffer insertion processing on the circuit to be processed to obtain the target circuit.
  • FIG. 4 shows a schematic flowchart of another buffer insertion method provided by an embodiment of the present disclosure. As shown in Figure 4, the method may include:
  • each group of chromosomes is equivalent to the aforementioned insertion strategy parameter, and the circuit sample points to the circuit after the buffer is inserted in the circuit to be processed.
  • the chromosome is obtained by binary coding according to the insertion position of the buffer, the number of the buffer and the type of the buffer, and the chromosome can be shown in formula (2).
  • Chromosome [length, size, number]
  • length refers to the insertion position of the buffer
  • size refers to the size of transistors in the buffer
  • number refers to the number of buffers.
  • the fitness sub-model (or fitness function) is established based on signal delay, circuit area, signal pulse width and circuit current, specifically as shown in the aforementioned formula (1).
  • the weights of signal delay, circuit area, signal pulse width and circuit current can be determined according to actual application scenarios. For example, if you are more concerned about signal delay and less sensitive to circuit current, you can set the weight of signal delay to 90% and the weight of circuit current to 0.5%.
  • the probability of each circuit sample entering the next generation is equal to the ratio of the fitness value of the circuit sample to the sum of individual fitness values in the entire population, while the current population The individual structure with the highest fitness is completely copied to the next generation group.
  • the selection process does not generate new individuals, but only selects those with excellent performance in the original population. It should be noted that excellent individuals may be selected multiple times, and inferior individuals may not be selected once. This is a process of survival of the fittest. In other words, there may be three circuit samples 1 of the previous generation in the next-generation circuit sample, but no circuit sample 2 of the previous generation.
  • the chromosome corresponding to the selected circuit individual is equivalent to the aforementioned first intermediate parameter.
  • crossover process refers to the crossover of the chromosomes corresponding to the circuit samples, rather than the crossover of the circuit samples.
  • a multi-point crossover algorithm is used to perform a crossover operation on the chromosomes corresponding to the selected circuit individuals to obtain crossed chromosomes.
  • multiple intersections can be set according to actual application scenarios.
  • the chromosome after crossover is equivalent to the aforementioned second intermediate parameter.
  • the mutation operation is performed on the crossover chromosome to obtain the mutated chromosome.
  • the mutated chromosomes are equivalent to iterative insertion strategy parameters.
  • the mutation operation can use Gaussian approximate mutation, that is, when performing the mutation operation, replace the original gene value with a random number with a symbol mean of P and a normal distribution with a variance of P ⁇ 2.
  • the specific value can be See the principle of the Gaussian mutation algorithm, which will not be described in detail in this disclosure.
  • FIG. 5 shows the implementation of the present disclosure
  • FIG. 5 shows the implementation of the present disclosure
  • the proportion of the circuit sample with the largest area is 13%, then this circuit sample will directly enter the next generation population; then select 19 times for the remaining circuits, and each The probability that a circuit sample is selected is the percentage corresponding to the individual circuit, and then the selected circuit samples are crossed and mutated to generate 19 new circuit samples to form the next generation population. In this way, the next generation population is still 20 individuals.
  • step S309 if the judgment result is yes, then execute step S310; if the judgment result is no, then return to execute step S303.
  • GEN refers to the preset number of iterations, which is specified by the user according to the actual application scenario.
  • the iteration variance can also be used as the termination condition.
  • the iteration variance may refer to the variance among the highest fitness values in successive generations. If the iteration variance is smaller than the preset variance threshold, the iteration may be terminated, that is, step S310 is executed.
  • the circuit sample with the highest fitness value is selected for output, and the corresponding chromosome is the best solution for buffer insertion, which is equivalent to the aforementioned target insertion strategy parameters.
  • the embodiments of the present disclosure adopt the principle of genetic algorithm, and set the effect (signal delay, total area, signal pulse width, power consumption) to be achieved when inserting a buffer into the circuit as a fitness function.
  • the insertion position of the buffer, the size of the buffer, and the number of insertions of the buffer were used as genes constituting the chromosome. For each generation of chromosomes, selection, crossover, mutation, and cyclic iterations are performed, and the best design scheme is finally output.
  • FIG. 6A it shows a schematic diagram of a buffer insertion effect provided by an embodiment of the present disclosure.
  • curve a represents the signal pulse shape under ideal conditions
  • curve b represents the signal pulse shape after a less experienced designer inserts a buffer into the circuit
  • curve c represents the signal pulse shape after a more experienced designer inserts a buffer into the circuit.
  • the signal pulse shape after the buffer is inserted
  • the curve d represents the signal pulse shape after the buffer is inserted into the circuit through the method of the embodiment of the present disclosure.
  • curve d is closer to curve a, that is, the signal delay of curve d is shorter, and the signal shape of curve d is closer to a square wave, that is, the pulse of the signal
  • the width is larger so that the signal quality of curve d is the best.
  • FIG. 6B it shows a schematic diagram of another buffer insertion effect provided by an embodiment of the present disclosure.
  • region e represents the circuit performance after a less-experienced designer inserts a buffer into the circuit
  • region f represents the circuit performance after a more experienced designer inserts a buffer into the circuit
  • region g represents the The performance of the circuit after inserting the buffer into the circuit according to the method of the embodiment of the present disclosure. It can be seen from Fig. 6B that the circuit performance of region g is the best.
  • the optimal solution of the buffer insertion strategy can be quickly found in the process of inserting the buffer into the circuit, which is beneficial to the subsequent circuit design and improves the efficiency of the circuit. robustness.
  • the embodiment of the present disclosure provides a buffer insertion method. Through this embodiment, the specific implementation method of the foregoing embodiments is described in detail. It can be seen from the above that multiple insertion strategy parameters are optimized and optimized by using the preset population genetic model. selection, get the target insertion strategy parameters with better effect, quickly complete the buffer insertion of the circuit to be processed, save a lot of time and have high efficiency; in addition, through the calculation of the preset population genetic model, the optimal buffer insertion design can be determined The search direction of the solution, the obtained target insertion strategy parameters are more reasonable, which can ensure the performance of the target circuit and improve the robustness of the target circuit.
  • FIG. 7 shows a schematic structural diagram of a buffer insertion device 40 provided by an embodiment of the present disclosure.
  • the buffer insertion device 40 includes a determination unit 401, a calculation unit 402, and a processing unit 403; wherein,
  • a determination unit 401 configured to determine a circuit to be processed and a plurality of insertion strategy parameters
  • the calculation unit 402 is configured to use a preset population genetic model to calculate multiple insertion strategy parameters, and determine target insertion strategy parameters;
  • the processing unit 403 is configured to perform buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter to obtain the target circuit.
  • an insertion strategy parameter includes a buffer quantity parameter, a buffer location parameter and a buffer size parameter.
  • the preset population genetic model includes a fitness sub-model and a genetic sub-model.
  • the calculation unit 402 is configured to initialize the number of iterations to 0; use the fitness sub-model to perform fitness calculations on the circuit parameters of the circuit to be processed and the first insertion strategy parameters, and obtain the fitness value corresponding to the first insertion strategy parameters;
  • the first insertion strategy parameter is any one of multiple insertion strategy parameters; after obtaining the fitness values corresponding to the multiple insertion strategy parameters, according to the fitness values corresponding to the multiple insertion strategy parameters, the genetic sub-model is used to pair multiple Iteratively process each insertion strategy parameter to obtain multiple iteration insertion strategy parameters; add 1 to the number of iterations, and judge whether the number of iterations is greater than the preset number of thresholds; if the number of iterations is less than or equal to the preset number of times A plurality of iterative insertion strategy parameters are re-determined as a plurality of insertion strategy parameters, and return
  • the preset population genetic model includes a fitness sub-model and a genetic sub-model.
  • the calculation unit 402 is configured to initialize the number of iterations to 0; use the fitness sub-model to perform fitness calculations on the circuit parameters of the circuit to be processed and the first insertion strategy parameters, and obtain the fitness value corresponding to the first insertion strategy parameters;
  • the first insertion strategy parameter is any one of multiple insertion strategy parameters; after obtaining the fitness values corresponding to the multiple insertion strategy parameters, according to the fitness values corresponding to the multiple insertion strategy parameters, the genetic sub-model is used to pair multiple Insertion strategy parameters are iteratively processed to obtain multiple iterative insertion strategy parameters; the number of iterations is added to 1, and it is judged whether the iteration variance is less than the preset variance threshold; when the iteration variance is greater than or equal to the preset variance threshold, the A plurality of iterative insertion strategy parameters are re-determined as a plurality of insertion strategy parameters, and return
  • the calculation unit 402 is further configured to compare the fitness values corresponding to multiple insertion strategy parameters to obtain the highest fitness value in the nth iteration process; Calculate the variance of the highest fitness value in the iteration to get the iteration variance; where, n is the value of the number of iterations, and m is a positive integer.
  • the calculation unit 402 is further configured to compare fitness values corresponding to multiple insertion strategy parameters, and directly determine the insertion strategy parameter with the highest fitness value as an iterative insertion strategy parameter.
  • the calculation unit 402 is further configured to calculate the circuit parameters of the circuit to be processed and the first insertion strategy parameter to obtain the first sub-fitness value, the second sub-fitness value, the third sub-fitness value and The fourth sub-fitness value; use the preset weight to perform a weighted sum operation on the first sub-fitness value, the second sub-fitness value, the third sub-fitness value and the fourth sub-fitness value to obtain the first insertion The fitness value corresponding to the policy parameter.
  • the preset weight includes a first weight, a second weight, a third weight, and a fourth weight; correspondingly, the calculation unit 402 is further configured to set the first weight, the second weight value, the third weight and the fourth weight respectively, and the sum of the first weight, the second weight, the third weight and the fourth weight is 1; wherein, the first weight is Refers to the weight of the first sub-fitness value, the second weight refers to the weight of the second sub-fitness value, the third weight refers to the weight of the third sub-fitness value, and the fourth weight refers to the fourth The weight of the sub-fitness value.
  • the calculation unit 402 is further configured to screen multiple insertion strategy parameters according to fitness values corresponding to multiple insertion strategy parameters to obtain multiple first intermediate parameters; perform crossover on multiple first intermediate parameters processing to obtain a plurality of second intermediate parameters; performing mutation processing on the plurality of second intermediate parameters to obtain a plurality of iterative insertion strategy parameters.
  • the calculation unit 402 is further configured to sum the fitness values corresponding to multiple insertion strategy parameters to obtain the total fitness value; the fitness value corresponding to the multiple insertion strategy parameters and the total fitness Values are divided to obtain the selection probability values corresponding to the multiple insertion strategy parameters; according to the selection probability values corresponding to the multiple insertion strategy parameters, multiple first intermediate parameters are determined.
  • the calculation unit 402 is further configured to perform multi-point intersection processing on multiple first intermediate parameters according to preset intersection probabilities to obtain multiple second intermediate parameters.
  • the calculation unit 402 is further configured to determine a random number conforming to a normal distribution; according to a preset mutation probability, use random numbers to perform Gaussian mutation processing on multiple second intermediate parameters to obtain multiple iterative insertion strategy parameters .
  • the processing unit 403 is further configured to use the fitness sub-model to calculate multiple iterative insertion strategy parameters based on the circuit parameters of the circuit to be processed, so as to obtain fitness values corresponding to the multiple iterative insertion strategy parameters; The fitness values corresponding to multiple iterative insertion strategy parameters are compared, and the iterative insertion strategy parameter with the highest fitness value is determined as the target insertion strategy parameter.
  • a "unit” may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course it may also be a module, or it may be non-modular.
  • each component in this embodiment may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software function modules.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of this embodiment is essentially or The part contributed by the prior art or the whole or part of the technical solution can be embodied in the form of software products, the computer software products are stored in a storage medium, and include several instructions to make a computer device (which can be a personal A computer, a server, or a network device, etc.) or a processor (processor) executes all or part of the steps of the method of this embodiment.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read only memory (Read Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other various media that can store program codes.
  • this embodiment provides a computer storage medium, the computer storage medium stores a computer program, and when the computer program is executed by multiple processors, the steps of any one of the methods in the preceding embodiments are implemented.
  • the buffer insertion device 40 may include: a communication interface 501 , a memory 502 and a processor 503 ; each component is coupled together through a bus device 504 .
  • the bus device 504 is used to realize connection and communication between these components.
  • the bus device 504 also includes a power bus, a control bus and a status signal bus.
  • the various buses are labeled as bus device 504 in FIG. 8 .
  • the communication interface 501 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
  • memory 502 used to store computer programs that can run on the processor 503;
  • the processor 503 is configured to, when running the computer program, execute:
  • the memory 502 in the embodiment of the present disclosure may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash.
  • the volatile memory can be Random Access Memory (RAM), which acts as external cache memory.
  • RAM Static Random Access Memory
  • DRAM Dynamic Random Access Memory
  • DRAM Synchronous Dynamic Random Access Memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM, DDRSDRAM enhanced synchronous dynamic random access memory
  • Enhanced SDRAM, ESDRAM synchronous chain dynamic random access memory
  • Direct Rambus RAM Direct Rambus RAM
  • the memory 502 of the devices and methods described in this disclosure is intended to include, but is not limited to, these and any other suitable types of memory.
  • the processor 503 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 503 or instructions in the form of software.
  • the above-mentioned processor 503 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the steps of the methods disclosed in the embodiments of the present disclosure may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory 502, and the processor 503 reads the information in the memory 502, and completes the steps of the above method in combination with its hardware.
  • the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing device (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processor, controller, microcontroller, microprocessor, other electronic units for performing the functions of the present disclosure or a combination thereof.
  • ASIC Application Specific Integrated Circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing device
  • DSPD digital signal processing device
  • PLD programmable Logic Device
  • Field-Programmable Gate Array Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology of the present disclosure can be realized by modules (eg, procedures, functions, etc.) that perform the functions of the present disclosure.
  • Software codes can be stored in memory and executed by a processor.
  • Memory can be implemented within the processor or external to the processor.
  • the processor 503 is further configured to execute the steps of the method in any one of the foregoing embodiments when running the computer program.
  • FIG. 9 shows a composition diagram of an electronic device 60 provided by an embodiment of the disclosure.
  • the electronic device 60 at least includes the buffer insertion device 40 of any one of the foregoing embodiments.
  • a buffer insertion device 40 since it includes a buffer insertion device 40, a plurality of insertion strategy parameters are optimized and selected by using a preset population genetic model, and the target insertion strategy parameters with better effects are obtained, and the buffering of the circuit to be processed is quickly completed.
  • buffer insertion which saves a lot of time and has high efficiency; in addition, through the calculation of the preset population genetic model, the search direction of the optimal solution in the buffer insertion design can be clarified, and the obtained target insertion strategy parameters are more reasonable, which can ensure the target circuit. performance, and improve the robustness of the target circuit.
  • Embodiments of the present disclosure provide a buffer insertion method, device, storage medium, and electronic equipment, which determine the circuit to be processed and multiple insertion strategy parameters; use the preset population genetic model to calculate multiple insertion strategy parameters, and determine the target insertion strategy parameter; perform buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter to obtain the target circuit.

Abstract

本公开实施例提供了一种缓冲器插入方法、装置、存储介质及电子设备,包括:确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。

Description

一种缓冲器插入方法、装置、存储介质及电子设备
相关申请的交叉引用
本公开基于申请号为202210137597.9、申请日为2022年02月15日、发明名称为“一种缓冲器插入方法、装置、存储介质及电子设备”的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本公开作为参考。
技术领域
本公开涉及集成电路技术领域,尤其涉及一种缓冲器插入方法、装置、存储介质及电子设备。
背景技术
动态随机存取存储器(Dynamic Random Access Memory,DRAM)是计算机中常用的半导体存储器件。在DRAM的设计过程中,需要先按照功能需求设计电路器件以及理想化延时,再调整信号的时序和延时。在调整时序和延时的过程中,有些信号需要通过很长的传输路径进行传递,因此需要在传输路径上插入缓冲器,确保信号传输速度和信号传输质量。
发明内容
本公开提供了一种缓冲器插入方法、装置、存储介质及电子设备,能够快速且高效地确定缓冲器插入方案,还能提高目标电路的电路性能。
本公开的技术方案是这样实现的:
第一方面,本公开实施例提供了一种缓冲器插入方法,该方法包括:
确定待处理电路和多个插入策略参数;
利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数;
按照所述目标插入策略参数对所述待处理电路进行缓冲器插入处理,得到目标电路。
在一些实施例中,一个所述插入策略参数中包括缓冲器数量参数、缓冲器位置参数和缓冲器尺寸参数。
在一些实施例中,所述预设种群遗传模型包括适应度子模型和遗传子模型;所述利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数,包括:
将迭代次数初始化为0;利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值;其中,所述第一插入策略参数是所述多个插入策略参数中的任意一个;在得到所述多个插入策略参数对应的适应度值后,根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;对所述迭代次数进行加1处理,并判断所述迭代次数是否大于预设次数阈值;在所述迭代次数小于或等于预设次数阈值的情况下,将所述多个迭代插入策略参数重新确定为所述多个插入策略参数,并返回执行所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;在所述迭代次数大于预设次数阈值的情况下,根据所述多个迭代插入策略参数,确定所述目标插入策略参数。
在一些实施例中,所述预设种群遗传模型包括适应度子模型和遗传子模型;所述利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数,包括:
将迭代次数初始化为0;利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值;其中,所述第一插入策略参数是所述多个插入策略参数中的任意一个;在得到所述多个插入策略参数对应的适应度值后,根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;对所述迭代次数进行加1处理,并判断迭代方差是否小于预设方差阈值;在所述迭代方差大于或等于预设方差阈值的情况下,将所述多个迭代插入策略参数重新确定为所述多个插入策略参数,并返回执行所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;在所述迭代方差小于预设方差阈值的情况下,根据所述多个迭代插入策略参数,确定所述目标插入策略参数。
在一些实施例中,在所述判断迭代方差是否小于预设方差阈值之前,所述方法还包括:
对所述多个插入策略参数对应的适应度值进行比较,得到第n次迭代过程中的最高适应度值;对第(n-m)次~第n次迭代中的最高适应度值进行方差计算,得到所述迭代方差;其中,n为所述迭代次数的取值,m为正整数。
在一些实施例中,在得到所述多个插入策略参数对应的适应度值后,所述方法还包括:
对所述多个插入策略参数对应的适应度值进行比较,将适应度值最高的插入策略参数直接确定为一个迭代插入策略参数。
在一些实施例中,所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值,包括:
对所述待处理电路的电路参数和第一插入策略参数进行计算,得到第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值;利用预设权值对所述第一子适应度值、所述第二子适应度值、所述第三子适应度值和所述第四子适应度值进行加权求和运算,得到所述第一插入策略参数对应的适应度值。
在一些实施例中,所述预设权值包括第一权值、第二权值、第三权值和第四权值;所述方法还包括:
设置所述第一权值、所述第二权值、所述第三权值和所述第四权值各自的取值,且所述第一权值、所述第二权值、所述第三权值和所述第四权值的取值总和为1;其中,所述第一权值是指所述第一子适应度值的权值,所述第二权值是指所述第二子适应度值的权值,所述第三权值是指所述第三子适应度值的权值,所述第四权值是指所述第四子适应度值的权值。
在一些实施例中,所述根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数,包括:
根据所述多个插入策略参数对应的适应度值对所述多个插入策略参数进行筛选,得到多个第一中间参数;对所述多个第一中间参数进行交叉处理,得到多个第二中间参数;对所述多个第二中间参数进行变异处理,得到所述多个迭代插入策略参数。
在一些实施例中,所述根据所述多个插入策略参数对应的适应度值对所述多个插入策略参数进行筛选,得到多个第一中间参数,包括:
对所述多个插入策略参数对应的适应度值进行求和运算,得到总适应度值;对所述多个插入策略参数对应的适应度值与所述总适应度值进行除法运算,得到所述多个插入策略参数对应的选取概率值;根据多个插入策略参数对应的选取概率值,确定所述多个 第一中间参数。
在一些实施例中,所述对所述多个第一中间参数进行交叉处理,得到多个第二中间参数,包括:
根据预设交叉概率,对所述多个第一中间参数进行多点交叉处理,得到所述多个第二中间参数。
在一些实施例中,所述对所述多个第二中间参数进行变异处理,得到所述多个迭代插入策略参数,包括:
确定符合正态分布的随机数;根据预设变异概率,利用所述随机数对所述多个第二中间参数进行高斯变异处理,得到所述多个迭代插入策略参数。
在一些实施例中,所述根据所述多个迭代插入策略参数,确定所述目标插入策略参数,包括:
基于所述待处理电路的电路参数,利用所述适应度子模型对所述多个迭代插入策略参数进行计算,得到所述多个迭代插入策略参数对应的适应度值;对所述多个迭代插入策略参数对应的适应度值进行比较,将适应度值最高的迭代插入策略参数确定为所述目标插入策略参数。
第二方面,本公开实施例提供了一种缓冲器插入装置,该缓冲器插入装置包括确定单元、计算单元和处理单元;其中,
所述确定单元,配置为确定待处理电路和多个插入策略参数;
所述计算单元,配置为利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数;
所述处理单元,配置为按照所述目标插入策略参数向所述待处理电路进行缓冲器插入处理,得到目标电路。
第三方面,本公开实施例提供了一种缓冲器插入装置,该缓冲器插入装置包括存储器和处理器;其中,
存储器,用于存储能够在处理器上运行的计算机程序;
处理器,用于在运行计算机程序时,执行如第一方面方法的步骤。
第四方面,本公开实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该计算机程序被执行时实现如第一方面所述方法的步骤。
第五方面,本公开实施例提供了一种电子设备,该电子设备至少包括第二方面或第三方面所述的缓冲器插入装置。
本公开实施例提供了一种缓冲器插入方法、装置、存储介质及电子设备,确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。这样,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
附图说明
图1为本公开实施例提供的一种缓冲器插入方法的流程示意图;
图2为本公开实施例提供的另一种缓冲器插入方法的流程示意图;
图3为本公开实施例提供的又一种缓冲器插入方法的流程示意图;
图4为本公开实施例提供的再一种缓冲器插入方法的流程示意图;
图5为本公开实施例中提供的一种适应度值的统计示意图;
图6A为本公开实施例提供的一种缓冲器插入效果的示意图;
图6B为本公开实施例提供的另一种缓冲器插入效果的示意图;
图7为本公开实施例提供的一种缓冲器插入装置的组成结构示意图;
图8为本公开实施例提供的一种缓冲器插入装置的硬件结构示意图;
图9为本公开实施例提供的一种电子设备的组成结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关公开,而非对该公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关公开相关的部分。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本公开实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
在集成电路的设计流程中,通常先设计功能和理想化延时,然后再根据具体情况调整电路中的时序和延时。然而,在对时序和延时进行具体调整时会遇到很多信号,而且信号需要通过较长的走线进行传递。此时,需要在这些信号的传递路径上加入缓冲器(Buffer),以保证信号的传输速度比较快,且信号在到达终点后具有较优的信号质量。然而,在向电路插入缓冲器时,需要有经验的设计人员进行电路评估,给出一些缓冲器的插入规则,然后根据缓冲器的插入规则采用软件脚本进行自动化或者人工手动的方式进行缓冲器插入。
但是,这种方法会依赖于设计人员的经验,需要设计人员对电路工艺熟悉,当电路工艺进行换代后会给设计人员带来较大的阻碍。另外,这种方法对经验较少的设计人员不友好。另外,即便是经验较多的设计人员,其设计的缓冲器插入规则也不一定能够取得最好的效果。
基于此,本公开实施例提供了一种缓冲器插入方法,该方法包括:确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。这样,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
下面将结合附图对本公开各实施例进行详细说明。
在本公开的一实施例中,参见图1,其示出了本公开实施例提供的一种缓冲器插入方法的流程示意图。如图1所示,该方法可以包括:
S101:确定待处理电路和多个插入策略参数。
需要说明的是,本公开实施例提供了一种缓冲器插入方法,用于向待处理电路中插入缓冲器,以保证待处理电路中的各个信号处于较优的工作状态。另外,本公开实施例提供的缓冲器插入方法可以应用于具有计算功能的多种电子设备。
在这里,待处理电路可以是各种类型的电路,例如DRAM芯片中的电路。多个插入策略参数可以是针对待处理电路随机生成的,后续对多个插入策略参数进行迭代处理和筛选,以便获得最佳的目标插入策略参数。
在一些实施例中,一个插入策略参数中可以包括缓冲器数量参数、缓冲器位置参数和缓冲器尺寸参数。
需要说明的是,缓冲器是指由两个反相器组成的单元电路,其输出信号与输入信号相同。在待处理电路中加入缓冲器,能够使待处理电路有稳定的输出电阻、更好的电压传输特性和更陡峭的输出曲线。
在本公开实施例中,缓冲器数量参数可以是指向待处理电路中插入的缓冲器个数;缓冲器位置参数可以是指每个缓冲器的插入位置,即缓冲器与指定电路节点(例如信号的输入端)的距离,缓冲器尺寸参数可以是指每个缓冲器中晶体管的尺寸,例如N型场效应管(NMOS)宽度/长度,P型场效应管(PMOS)的宽度/长度,用于表征晶体管的驱动能力。
在这里,插入策略参数可以是经过编码后的参数,具体编码规则不限。
S102:利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数。
需要说明的是,本公开实施例利用遗传算法(或称为种群遗传算法)来优化插入策略参数,从而得到效果最佳的目标插入策略参数。在这里,遗传算法是一种模拟自然进化过程搜索最优解的方法,被广泛应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
在本公开实施例中,基于遗传算法和向待处理电路插入缓冲器的任务场景构造了预设种群遗传模型,从而利用预设种群遗传模型对插入策略参数进行迭代优化,最终得到目标插入策略参数。如此,通过预设种群遗传模型能够自动化的进行缓冲器插入的设计,提高电路设计的效率,节省设计人员的时间;另外,缓冲器的插入过程不再依赖于设计人员的经验,具有客观性和稳定性,保证电路的最终性能。
在一些实施例中,如图2所示,预设种群遗传模型包括适应度子模型和遗传子模型;所述根据待处理电路的电路参数,利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数,可以包括:
S201:将迭代次数初始化为0。
S202:利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值。
需要说明的是,第一插入策略参数是多个插入策略参数中的任意一个,待处理电路的电路参数至少包括待处理电路的总长度。
也就是说,针对待处理电路,在随机生成了多个插入策略参数后,利用适应度子模型对待处理电路的电路参数和每一个插入策略参数进行计算,能够获得每一个插入策略参数对应的适应度值。
在这里,适应度子模型用于计算插入策略参数对应的适应度值,适应度值是一个衡量插入策略参数优劣的指标。例如,在本公开实施例中,插入策略参数对应的适应度值越高,说明按照该插入策略参数进行缓冲器插入的效果越好。
在一些实施例中,所述利用适应度子模型对待处理电路的电路参数和第一插入策略 参数进行适应度计算,得到第一插入策略参数对应的适应度值,可以包括:
对待处理电路的电路参数和第一插入策略参数进行计算,得到第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值;
利用预设权值对第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值进行加权求和运算,得到第一插入策略参数对应的适应度值。
需要说明的是,适应度子模型是根据多个衡量电路设计优劣的指标建立的。示例性地,第一子适应度值可以是电路的信号延时,第二子适应度值可以是电路面积,第三子适应度值可以是输出信号的信号脉冲宽度,第四子适应度值可以是电路功耗。示例性地,信号脉冲宽度越大,说明信号的上升时间快/下降时间越快,对应的波形失真少,信号质量值越高。在这里,电路功耗可以是根据电路电流确定的,电路电流越大,说明功耗值越大。
一般来说,在插入缓冲器后,期望电路的信号延时值较小、电路面积较小、信号脉冲宽度较宽且电路功耗越小。
在一些实施例中,预设权值包括第一权值、第二权值、第三权值和第四权值;该方法还可以包括:
设置第一权值、第二权值、第三权值和第四权值各自的取值,且第一权值、第二权值、第三权值和第四权值的取值总和为1。
在这里,第一权值是指第一子适应度值的权值,第二权值是指第二子适应度值的权值,第三权值是指第三子适应度值的权值,第四权值是指第四子适应度值的权值。
需要说明的是,第一权值、第二权值、第三权值和第四权值的取值需要根据实际应用场景进行具体确定。比如,对于对信号延时要求较高的场景,可以将第一权值取较大值。
示例性地,在第一子适应度值是信号延时,第二子适应度值是电路面积,第三子适应度值是信号脉冲宽度,第四子适应度值是电路功耗的情况下,适应度子模型可以如式(1)所示:
F(x)=A·(delay)+B·(total size)+C·(pluse width)+D·(current)   (1)
在这里,x是指第一插入策略参数,F(x)是指x的适应度值,delay是指信号延时,total size是指电路面积,pluse width是指信号脉冲宽度,current是指电路电流(电路功耗)。应理解,A、B、C、D分别为第一权值、第二权值、第三权值和第四权值,delay、total size、pluse width、current分别为第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值。
应理解,delay、total size、pluse width、current均是根据待处理电路的电路长度和第一插入策略参数(x)计算到的,可以表征按照第一插入策略参数插入缓冲器后的待处理电路的性能。另外,针对一个具体电路而言,信号延时、电路面积、信号脉冲宽度、电路电流并非同一单位制,而且也可能并不处于同一数量级。所以,delay、total size、pluse width、current是需要根据实际应用场景进行建模,以便适应于本公开实施例的预设种群遗传模型。例如,适应度值越大说明插入策略参数越好,所以可以将delay设计为真实电路延时的倒数。
S203:在得到多个插入策略参数对应的适应度值后,根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数。
需要说明的是,通过多个插入策略参数对应的适应度值,可以比较出多个插入策略参数的优劣。在此基础上,通过遗传子模型对多个插入策略参数进行迭代处理,从而得到多个迭代插入策略参数。
在这里,遗传子模型用于规定迭代规则,从以获得迭代插入策略参数。
在一些实施例中,所述根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数,可以包括:
根据多个插入策略参数对应的适应度值对多个插入策略参数进行筛选,得到多个第一中间参数;
对多个第一中间参数进行交叉处理,得到多个第二中间参数;
对多个第二中间参数进行变异处理,得到多个迭代插入策略参数。
需要说明的是,在本公开实施例中,迭代处理包括三个主要步骤:筛选、交叉、变异。迭代的具体过程可以如下理解:在多个插入策略参数中筛选中出部分较好的插入策略参数(即第一中间参数),并利用筛选出来的第一中间参数进行交叉处理得到第二中间参数,对第二中间参数进行变异处理得到迭代插入策略参数。
需要说明的是,在筛选过程中,每个插入策略参数被选中的概率与该插入策略参数的适应度值成正比。因此,在一些实施例中,所述根据多个插入策略参数对应的适应度值对多个插入策略参数进行筛选,得到多个第一中间参数,可以包括:
对多个插入策略参数对应的适应度值进行求和运算,得到总适应度值;
对多个插入策略参数对应的适应度值与总适应度值进行除法运算,得到多个插入策略参数对应的选取概率值;
根据多个插入策略参数对应的选取概率值,确定多个第一中间参数。
需要说明的是,筛选过程的本质是模拟自然选择,具体的筛选算法可以根据实际应用场景进行选择,例如轮盘赌算法。
应理解,一个插入策略参数的适应度值越高,其被选中作为第一中间参数的可能性越大,即一个插入策略参数可能会被多次选择。
需要说明的是,在交叉过程中,在变异过程中,可以参照多种已有的变异方法,例如单点交叉(One-Point Crossover)、多点交叉(Multi-Point Crossover)、均匀交叉(Uniform Crossover)。
在一种具体地实施例中,可以利用多点交叉的方法进行。具体地,所述对多个第一中间参数进行交叉处理,得到多个第二中间参数,可以包括:
根据预设交叉概率,对多个第一中间参数进行多点交叉处理,得到多个第二中间参数。
需要说明的是,在本公开实施例中,插入策略参数可以视为遗传算法中的染色体。交叉处理是指两个相互配对的染色体相互交换部分基因,从而获得新染色体的过程。也就是说,在多个第一中间参数中,每两个第一中间参数进行染色体片段,即部分参数的相互交换,从而得到两个交叉交换后的第二中间参数。
在这里,预设交叉概率需要根据实际应用场景进行选择。
在变异过程中,可以采用多种已有的变异算法,例如基本位变异(Simple Mutation)、均匀变异(Uniform Mutation)、边界变异(Boundary Mutation)、非均匀变异、高斯变异等等。
在一种具体地实施例中,可以利用高斯变异的方法进行。具体地,所述对多个第二中间参数进行变异处理,得到多个迭代插入策略参数,可以包括:
确定符合正态分布的随机数;
根据预设变异概率,利用随机数对多个第二中间参数进行高斯变异处理,得到多个迭代插入策略参数。
这样,通过筛选、交叉、变异,可以获得迭代插入策略参数。然而,迭代处理的方向是不一定的,即迭代插入策略参数可能优于迭代前的插入策略参数,也可能迭代插入 策略参数劣于迭代前的插入策略参数。因此,还需要保证每一代中最优的插入策略参数必定完整遗传到下一代中。
在一些实施例中,在得到多个插入策略参数对应的适应度值后,该方法还可以包括:
对多个插入策略参数对应的适应度值进行比较,将适应度值最高的插入策略参数直接确定为一个迭代插入策略参数。
换句话说,对于每一代的插入策略参数,都会进行筛选、迭代、交叉处理,得到下一代的插入策略参数,且每一代中最优的插入策略参数必定保留到下一代中。这样,能够保证最优的插入策略参数在迭代过程中持续存在,避免迭代的不确定性,从而最终筛选出来的目标插入策略参数性能较好。
另外,根据实际应用场景,迭代处理也可以仅包括筛选和交叉,或者仅包括筛选和变异。
S2041:对迭代次数进行加1处理,并判断迭代次数是否大于预设次数阈值。
在这里,对于步骤S2041,如果判断结果为否,那么执行步骤S205,如果判断结果为是,那么执行步骤S206。
需要说明的是,在每次迭代处理后,需要判断迭代次数是否大于预设次数阈值,从而确定后续处理步骤。
S205:将多个迭代插入策略参数重新确定为多个插入策略参数,并返回执行步骤S202。
需要说明的是,如果迭代次数小于或等于预设次数阈值,那么继续对多个迭代插入策略参数进行迭代处理。
S206:根据多个迭代插入策略参数,确定目标插入策略参数。
需要说明的是,如果迭代次数大于预设次数阈值,那么从多个迭代插入策略参数中选取目标插入策略参数。
在一些实施例中,所述根据多个迭代插入策略参数,确定目标插入策略参数,可以包括:
基于待处理电路的电路参数,利用适应度子模型对多个迭代插入策略参数进行计算,得到多个迭代插入策略参数对应的适应度值;
对多个迭代插入策略参数对应的适应度值进行比较,将适应度值最高的迭代插入策略参数确定为目标插入策略参数。
这样,实现了利用迭代次数作为终止条件的具体实施方案。也就是说,在进行一定次数迭代后,得到目标插入策略参数。
在另一些实施例中,也可以利用迭代方差作为终止条件。因此,如图3所示,所述利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数,可以包括:
S201:将迭代次数初始化为0。
S202:利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值。
S203:在得到多个插入策略参数对应的适应度值后,根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;
S2042:对迭代次数进行加1处理,并判断迭代方差是否小于预设方差阈值。
在这里,对于步骤S2042,如果判断结果为否,那么执行步骤S205,如果判断结果为是,那么执行步骤S206。
需要说明的是,迭代方差用于指示迭代结果之间的变化程度,如果不同迭代过程中 的迭代结果之间的变化程度较大,说明需要继续迭代过程;如果不同迭代过程中的迭代结果之间的变化程度较小,说明已经在最优解附近反复迭代,可以终止迭代过程,输出最优解。
在一种具体地实施例中,迭代方差可以是根据最高适应度值计算的。因此,在判断迭代方差是否小于预设方差阈值之前,该方法还可以包括:
对多个插入策略参数对应的适应度值进行比较,得到第n次迭代过程中的最高适应度值;
对第(n-m)次~第n次迭代中的最高适应度值进行方差计算,得到迭代方差。
在这里,n为迭代次数的取值,m为正整数。
需要说明的是,m需要根据实际应用场景进行取值。以m=10为例,终止条件可以理解为:在近10次迭代过程中,每一代中的最高适应度值变化不大,说明已经在最优解附近反复迭代;反之,若每一代中的最高适应度值变化很大,则无法确定是否找到最优解,需要继续迭代过程。
S205:将多个迭代插入策略参数重新确定为多个插入策略参数,并返回执行步骤S202。
S206:根据多个迭代插入策略参数,确定目标插入策略参数。
这样,实现了利用迭代结果之间的变化程度作为终止条件的具体实施方案。也就是说,在连续多次迭代的迭代结果之间的变化程度很小时,得到目标插入策略参数。
特别地,在实际应用过程中,可以单独将迭代次数作为终止条件,或者迭代方差作为终止条件,或者将迭代次数和迭代方差同时作为终止条件,即满足迭代次数限制或者满足迭代结果之间的变化程度限制均可进行迭代终止。
从以上可以看出,本公开实施例根据遗传算法的原理设计了适应度子模型和遗传子模型,通过对插入策略参数的多次迭代处理,控制插入策略参数向性能较好的方向进化,最终获得目标插入策略参数。
S103:按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。
需要说明的是,根据前述内容,目标插入策略参数指示了缓冲器的数量、缓冲器的插入位置和缓冲器的尺寸,从而可以按照目标插入策略参数向待处理电路插入缓冲器,得到目标电路。
综上所述,通过本公开实施例提供的缓冲器插入方法,在需要向待处理电路插入缓冲器时,可以随机生成多个插入策略参数,并利用预设种群遗传模型在多个插入策略参数的基础上迭代优化生成最终的目标插入策略参数。如此,针对电路设计中缓冲器的插入过程,通过遗传算法提供了一种电路辅助设计方法,可以实现自动化地确定缓冲器插入策略,使得缓冲器插入方案不再依赖于设计人员的经验;且该缓冲器插入策略能够使得电路处于较优性能,即信号的延时值较小、电路面积较小、信号质量较好且功耗较低,避免在电路工艺更换后,设计人员无法凭借经验快速确定缓冲器插入规则的弊端。
特别地,在一种实施例中,步骤S101也可以认为是预设种群遗传模型执行的。换句话说,用户只需要将待处理电路的电路参数输入到预设种群遗传模型,预设种群遗传模型将自动随机生成多个插入策略参数,并对插入策略参数进行迭代优化,并在获得目标插入策略参数以后,将目标插入策略参数返回给用户。
本公开实施例提供了一种缓冲器插入方法,确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。这样,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗 传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
在本公开的另一实施例中,参见图4,其示出了本公开实施例提供的再一种缓冲器插入方法的流程示意图。如图4所示,该方法可以包括:
S301:初始化种群。
需要说明的是,针对待处理电路,随机生成20组染色体,从而建立20组电路样本,组成初始化种群。其中,每组染色体相当于前述的一个插入策略参数,电路样本是指向待处理电路中插入缓冲器后的电路。
在这里,染色体是根据缓冲器的插入位置、缓冲器的数量和缓冲器的类型进行二进制编码得到的,染色体可如式(2)所示。
染色体=[length,size,number]……………………(2)
在式(2)中,length是指缓冲器的插入位置,size是指缓冲器中晶体管的尺寸,number是指缓冲器的数量。
S302:设置种群代数G=0。
S303:计算种群内每一电路样本的适应度值。
需要说明的是,适应度子模型(或称为适应度函数)是根据信号延时、电路面积、信号脉冲宽度和电路电流建立的,具体如前述的式(1)所示。
特别地,信号延时、电路面积、信号脉冲宽度和电路电流的权重可以根据实际应用场景进行确定。例如,如果比较关注信号延时且对电路电流不太敏感的话,可以将信号延时的权重设置为90%,将电路电流的权重设置为0.5%。
S304:选择操作。
需要说明的是,在本公开实施例中,采用最佳保留选择:每个电路样本进入下一代的概率等于该电路样本的适应度值与整个种群中个体适应度值总和的比例,同时当前种群中适应度最高的个体结构完整的复制到下一代群体中。
在这里,选择过程不产生新的个体,只是在原有的种群中选择表现优异的。应注意,优的个体可能会多次选中,劣的个体可能一次都选不中,这是一个优胜劣汰的过程。换句话说,下一代电路样本可能存在3个上一代的电路样本1,但是不存在上一代的电路样本2。
另外,被选中的电路个体所对应的染色体相当于前述的第一中间参数。
S305:交叉操作。
需要说明的是,交叉过程指的是电路样本对应的染色体进行交叉,而非电路样本进行交叉。
在本公开实施例中,采用多点交叉算法对被选中的电路个体对应的染色体进行交叉操作,得到交叉后的染色体。在这里,可以根据实际应用场景设置多个交叉点。
另外,交叉后的染色体相当于前述的第二中间参数。
S306:变异操作。
需要说明的是,对交叉后的染色体进行变异操作,得到变异后的染色体。在这里,变异后的染色体相当于迭代插入策略参数。
示例性地,变异操作可以采用高斯近似变异,即在进行变异操作时用符号均值为P的平均值,方差为P^2的正态分布的一个随机数来替换原有的基因值,具体可参见高斯变异算法原理,本公开不作赘述。
S307:确定下一代种群。
在一种示例的场景中,假设种群中存在20个电路样本,按照电路样本各自的适应度值与适应度值的总和之间的比例生成饼图,参见图5,其示出了本公开实施例中提供 的一种适应度值的统计示意图。如图5所示,在饼图中,面积最大的电路样本所占比例的是13%,则该电路样本将直接进入下一代种群;然后对剩下的电路给进行19次选择,且每个电路样本被选中的概率为该电路个体对应的百分比,然后对被选中的电路样本进行交叉和变异,产生19个新的电路样本,从而构成下一代种群。如此,下一代种群仍然是20个个体。
S308:G=G+1。
S309:判断是否G>GEN。
在这里,对于步骤S309,如果判断结果为是,那么执行步骤S310;如果判断结果为否,那么返回执行步骤S303。
需要说明的是,在迭代次数未超过GEN时,需要进行循环计算。其中,GEN指的是预先设定好的迭代次数,是用户根据实际应用场景指定的。
除了以迭代次数作为终止条件外,也可以将迭代方差作为终止条件。具体地,迭代方差可以是指连续多代中的最高适应度值之间的方差,如果迭代方差小于预设方差阈值,可以终止迭代,即执行步骤S310。
S310:输出最佳方案。
需要说明的是,在当前种群中,选择适应度值最高的电路样本进行输出,其对应的染色体也就是缓冲器插入的最佳方案,相当于前述的目标插入策略参数。
综上所述,本公开实施例采用遗传算法的原理,将向电路中插入缓冲器时需要达到的效果(信号延时,总面积,信号脉冲宽度,功耗)设为适应度函数。将缓冲器的插入位置、缓冲器的尺寸和缓冲器的插入数量作为基因组成染色体。对于每代染色体进行选择,交叉,变异,循环迭代,最终输出最佳的设计方案。
参见图6A,其示出了本公开实施例提供的一种缓冲器插入效果的示意图。如图6A所示,曲线a表示理想情况下的信号脉冲形状,曲线b表示经验较少的设计人员向电路中插入缓冲器后的信号脉冲形状,曲线c表示经验较多的设计人员向电路中插入缓冲器后的信号脉冲形状,曲线d表示通过本公开实施例的方法向电路中插入缓冲器后的信号脉冲形状。从图6A可以看出,相比于曲线b和曲线c,曲线d更接近于曲线a,即曲线d的信号延时更短,且曲线d的信号形状更接近于方波,即信号的脉冲宽度更大,从而曲线d的信号质量是最好的。
参见图6B,其示出了本公开实施例提供的另一种缓冲器插入效果的示意图。如图6B所示,区域e表示经验较少的设计人员向电路中插入缓冲器后的电路性能,区域f表示经验较多的设计人员向电路中插入缓冲器后的电路性能,区域g表示通过本公开实施例的方法向电路中插入缓冲器后的电路性能。从图6B可以看出,区域g的电路性能是最好的。
从图6A和图6B可以看出,通过本公开实施例提供的方法,能够在向电路插入缓冲器的过程中快速找到缓冲器插入策略的最优解,有利于后续的电路设计,提高电路的鲁棒性。
本公开实施例提供了一种缓冲器插入方法,通过本实施例对前述实施例的具体实施方法进行了详细阐述,从中可以看出,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
在本公开的又一实施例中,参见图7,其示出了本公开实施例提供的一种缓冲器插入装置40的组成结构示意图。如图7所示,该缓冲器插入装置40包括确定单元401、 计算单元402和处理单元403;其中,
确定单元401,配置为确定待处理电路和多个插入策略参数;
计算单元402,配置为利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;
处理单元403,配置为按照目标插入策略参数向待处理电路进行缓冲器插入处理,得到目标电路。
在一些实施例中,一个插入策略参数中包括缓冲器数量参数、缓冲器位置参数和缓冲器尺寸参数。
在一些实施例中,预设种群遗传模型包括适应度子模型和遗传子模型。相应地,计算单元402,配置为将迭代次数初始化为0;利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值;其中,第一插入策略参数是多个插入策略参数中的任意一个;在得到多个插入策略参数对应的适应度值后,根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;对迭代次数进行加1处理,并判断迭代次数是否大于预设次数阈值;在迭代次数小于或等于预设次数阈值的情况下,将多个迭代插入策略参数重新确定为多个插入策略参数,并返回执行利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;在迭代次数大于预设次数阈值的情况下,根据多个迭代插入策略参数,确定目标插入策略参数。
在一些实施例中,预设种群遗传模型包括适应度子模型和遗传子模型。相应地,计算单元402,配置为将迭代次数初始化为0;利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值;其中,第一插入策略参数是多个插入策略参数中的任意一个;在得到多个插入策略参数对应的适应度值后,根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;对迭代次数进行加1处理,并判断迭代方差是否小于预设方差阈值;在迭代方差大于或等于预设方差阈值的情况下,将多个迭代插入策略参数重新确定为多个插入策略参数,并返回执行利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;在迭代方差小于预设方差阈值的情况下,根据多个迭代插入策略参数,确定目标插入策略参数。
在一些实施例中,计算单元402,还配置为对多个插入策略参数对应的适应度值进行比较,得到第n次迭代过程中的最高适应度值;对第(n-m)次~第n次迭代中的最高适应度值进行方差计算,得到迭代方差;其中,n为迭代次数的取值,m为正整数。
在一些实施例中,计算单元402,还配置为对多个插入策略参数对应的适应度值进行比较,将适应度值最高的插入策略参数直接确定为一个迭代插入策略参数。
在一些实施例中,计算单元402,还配置为对待处理电路的电路参数和第一插入策略参数进行计算,得到第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值;利用预设权值对第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值进行加权求和运算,得到第一插入策略参数对应的适应度值。
在一些实施例中,预设权值包括第一权值、第二权值、第三权值和第四权值;相应地,计算单元402,还配置为设置第一权值、第二权值、第三权值和第四权值各自的取值,且第一权值、第二权值、第三权值和第四权值的取值总和为1;其中,第一权值是指第一子适应度值的权值,第二权值是指第二子适应度值的权值,第三权值指示第三子适应度值的权值,第四权值是指第四子适应度值的权值。
在一些实施例中,计算单元402,还配置为根据多个插入策略参数对应的适应度值对多个插入策略参数进行筛选,得到多个第一中间参数;对多个第一中间参数进行交叉 处理,得到多个第二中间参数;对多个第二中间参数进行变异处理,得到多个迭代插入策略参数。
在一些实施例中,计算单元402,还配置为对多个插入策略参数对应的适应度值进行求和运算,得到总适应度值;对多个插入策略参数对应的适应度值与总适应度值进行除法运算,得到多个插入策略参数对应的选取概率值;根据多个插入策略参数对应的选取概率值,确定多个第一中间参数。
在一些实施例中,计算单元402,还配置为根据预设交叉概率,对多个第一中间参数进行多点交叉处理,得到多个第二中间参数。
在一些实施例中,计算单元402,还配置为确定符合正态分布的随机数;根据预设变异概率,利用随机数对多个第二中间参数进行高斯变异处理,得到多个迭代插入策略参数。
在一些实施例中,处理单元403,还配置为基于待处理电路的电路参数,利用适应度子模型对多个迭代插入策略参数进行计算,得到多个迭代插入策略参数对应的适应度值;对多个迭代插入策略参数对应的适应度值进行比较,将适应度值最高的迭代插入策略参数确定为目标插入策略参数。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序被多个处理器执行时实现前述实施例中任一项的方法的步骤。
基于上述的一种缓冲器插入装置40的组成以及计算机存储介质,参见图8,其示出了本公开实施例提供的一种缓冲器插入装置40的硬件结构示意图。如图8所示,缓冲器插入装置40可以包括:通信接口501、存储器502和处理器503;各个组件通过总线设备504耦合在一起。可理解,总线设备504用于实现这些组件之间的连接通信。总线设备504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线设备504。其中,通信接口501,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
存储器502,用于存储能够在处理器503上运行的计算机程序;
处理器503,用于在运行计算机程序时,执行:
确定待处理电路和多个插入策略参数;
利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;
按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。
可以理解,本公开实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器 (Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步链动态随机存取存储器(Synchronous link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本公开描述的设备和方法的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器503可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器503可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器503读取存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本公开描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本公开功能的其它电子单元或其组合中。
对于软件实现,可通过执行本公开功能的模块(例如过程、函数等)来实现本公开的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,处理器503还配置为在运行计算机程序时,执行前述实施例中任一项的方法的步骤。
在本公开的再一实施例中,基于上述缓冲器插入装置40的组成示意图,参见图9,其示出了本公开实施例提供的一种电子设备60的组成结构示意图。如图9所示,该电子设备60至少包括前述实施例中任一项的缓冲器插入装置40。
对于电子设备60而言,由于其包括缓冲器插入装置40,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
以上,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。
需要说明的是,在本公开中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
本公开所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本公开所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本公开所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
工业实用性
本公开实施例提供了一种缓冲器插入方法、装置、存储介质及电子设备,确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。这样,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。

Claims (17)

  1. 一种缓冲器插入方法,该方法包括:
    确定待处理电路和多个插入策略参数;
    利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数;
    按照所述目标插入策略参数对所述待处理电路进行缓冲器插入处理,得到目标电路。
  2. 根据权利要求1所述的缓冲器插入方法,其中,一个所述插入策略参数中包括缓冲器数量参数、缓冲器位置参数和缓冲器尺寸参数。
  3. 根据权利要求1所述的缓冲器插入方法,其中,所述预设种群遗传模型包括适应度子模型和遗传子模型;所述利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数,包括:
    将迭代次数初始化为0;
    利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值;其中,所述第一插入策略参数是所述多个插入策略参数中的任意一个;
    在得到所述多个插入策略参数对应的适应度值后,根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;
    对所述迭代次数进行加1处理,并判断所述迭代次数是否大于预设次数阈值;
    在所述迭代次数小于或等于预设次数阈值的情况下,将所述多个迭代插入策略参数重新确定为所述多个插入策略参数,并返回执行所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;
    在所述迭代次数大于预设次数阈值的情况下,根据所述多个迭代插入策略参数,确定所述目标插入策略参数。
  4. 根据权利要求1所述的缓冲器插入方法,其中,所述预设种群遗传模型包括适应度子模型和遗传子模型;所述利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数,包括:
    将迭代次数初始化为0;
    利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值;其中,所述第一插入策略参数是所述多个插入策略参数中的任意一个;
    在得到所述多个插入策略参数对应的适应度值后,根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;
    对所述迭代次数进行加1处理,并判断迭代方差是否小于预设方差阈值;
    在所述迭代方差大于或等于预设方差阈值的情况下,将所述多个迭代插入策略参数重新确定为所述多个插入策略参数,并返回执行所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;
    在所述迭代方差小于预设方差阈值的情况下,根据所述多个迭代插入策略参数,确定所述目标插入策略参数。
  5. 根据权利要求4所述的缓冲器插入方法,其中,在所述判断迭代方差是否小于预设方差阈值之前,所述方法还包括:
    对所述多个插入策略参数对应的适应度值进行比较,得到第n次迭代过程中的最高 适应度值;
    对第(n-m)次~第n次迭代中的最高适应度值进行方差计算,得到所述迭代方差;
    其中,n为所述迭代次数的取值,m为正整数。
  6. 根据权利要求3或4所述的缓冲器插入方法,其中,在得到所述多个插入策略参数对应的适应度值后,所述方法还包括:
    对所述多个插入策略参数对应的适应度值进行比较,将适应度值最高的插入策略参数直接确定为一个迭代插入策略参数。
  7. 根据权利要求3或4所述的缓冲器插入方法,其中,所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值,包括:
    对所述待处理电路的电路参数和第一插入策略参数进行计算,得到第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值;
    利用预设权值对所述第一子适应度值、所述第二子适应度值、所述第三子适应度值和所述第四子适应度值进行加权求和运算,得到所述第一插入策略参数对应的适应度值。
  8. 根据权利要求7所述的缓冲器插入方法,其中,所述预设权值包括第一权值、第二权值、第三权值和第四权值;所述方法还包括:
    设置所述第一权值、所述第二权值、所述第三权值和所述第四权值各自的取值,且所述第一权值、所述第二权值、所述第三权值和所述第四权值的取值总和为1;
    其中,所述第一权值是指所述第一子适应度值的权值,所述第二权值是指所述第二子适应度值的权值,所述第三权值是指所述第三子适应度值的权值,所述第四权值是指所述第四子适应度值的权值。
  9. 根据权利要求3或4所述的缓冲器插入方法,其中,所述根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数,包括:
    根据所述多个插入策略参数对应的适应度值对所述多个插入策略参数进行筛选,得到多个第一中间参数;
    对所述多个第一中间参数进行交叉处理,得到多个第二中间参数;
    对所述多个第二中间参数进行变异处理,得到所述多个迭代插入策略参数。
  10. 根据权利要求9所述的缓冲器插入方法,其中,所述根据所述多个插入策略参数对应的适应度值对所述多个插入策略参数进行筛选,得到多个第一中间参数,包括:
    对所述多个插入策略参数对应的适应度值进行求和运算,得到总适应度值;
    对所述多个插入策略参数对应的适应度值与所述总适应度值进行除法运算,得到所述多个插入策略参数对应的选取概率值;
    根据多个插入策略参数对应的选取概率值,确定所述多个第一中间参数。
  11. 根据权利要求9所述的缓冲器插入方法,其中,所述对所述多个第一中间参数进行交叉处理,得到多个第二中间参数,包括:
    根据预设交叉概率,对所述多个第一中间参数进行多点交叉处理,得到所述多个第二中间参数。
  12. 根据权利要求9所述的缓冲器插入方法,其中,所述对所述多个第二中间参数进行变异处理,得到所述多个迭代插入策略参数,包括:
    确定符合正态分布的随机数;
    根据预设变异概率,利用所述随机数对所述多个第二中间参数进行高斯变异处理,得到所述多个迭代插入策略参数。
  13. 根据权利要求12所述的缓冲器插入方法,其中,所述根据所述多个迭代插入 策略参数,确定所述目标插入策略参数,包括:
    基于所述待处理电路的电路参数,利用所述适应度子模型对所述多个迭代插入策略参数进行计算,得到所述多个迭代插入策略参数对应的适应度值;
    对所述多个迭代插入策略参数对应的适应度值进行比较,将适应度值最高的迭代插入策略参数确定为所述目标插入策略参数。
  14. 一种缓冲器插入装置,所述缓冲器插入装置包括确定单元、计算单元和处理单元;其中,
    所述确定单元,配置为确定待处理电路和多个插入策略参数;
    所述计算单元,配置为利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数;
    所述处理单元,配置为按照所述目标插入策略参数向所述待处理电路进行缓冲器插入处理,得到目标电路。
  15. 一种缓冲器插入装置,所述缓冲器插入装置包括存储器和处理器;其中,
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求1至13任一项所述方法的步骤。
  16. 一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被执行时实现如权利要求1至13任一项所述方法的步骤。
  17. 一种电子设备,所述电子设备至少包括如权利要求14或15所述的缓冲器插入装置。
PCT/CN2022/080580 2022-02-15 2022-03-14 一种缓冲器插入方法、装置、存储介质及电子设备 WO2023155259A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/806,975 US20230259682A1 (en) 2022-02-15 2022-06-15 Buffer insertion method and device, storage medium, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210137597.9A CN114510896A (zh) 2022-02-15 2022-02-15 一种缓冲器插入方法、装置、存储介质及电子设备
CN202210137597.9 2022-02-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/806,975 Continuation US20230259682A1 (en) 2022-02-15 2022-06-15 Buffer insertion method and device, storage medium, and electronic device

Publications (1)

Publication Number Publication Date
WO2023155259A1 true WO2023155259A1 (zh) 2023-08-24

Family

ID=81552135

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/080580 WO2023155259A1 (zh) 2022-02-15 2022-03-14 一种缓冲器插入方法、装置、存储介质及电子设备

Country Status (2)

Country Link
CN (1) CN114510896A (zh)
WO (1) WO2023155259A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122032A1 (en) * 2012-10-26 2014-05-01 Xerox Corporation Methods, systems and processor-readable media for optimizing intelligent transportation system strategies utilizing systematic genetic algorithms
CN111343027A (zh) * 2020-03-11 2020-06-26 中国电子科技集团公司第五十四研究所 一种基于遗传算法的网络切片部署方法和装置
CN112257378A (zh) * 2020-10-30 2021-01-22 东南大学 一种针对近阈值的鲁棒时钟树综合算法实现方法
CN113128655A (zh) * 2021-05-07 2021-07-16 北京石油化工学院 基于多种群遗传算法工控入侵检测分类器参数选择方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122032A1 (en) * 2012-10-26 2014-05-01 Xerox Corporation Methods, systems and processor-readable media for optimizing intelligent transportation system strategies utilizing systematic genetic algorithms
CN111343027A (zh) * 2020-03-11 2020-06-26 中国电子科技集团公司第五十四研究所 一种基于遗传算法的网络切片部署方法和装置
CN112257378A (zh) * 2020-10-30 2021-01-22 东南大学 一种针对近阈值的鲁棒时钟树综合算法实现方法
CN113128655A (zh) * 2021-05-07 2021-07-16 北京石油化工学院 基于多种群遗传算法工控入侵检测分类器参数选择方法

Also Published As

Publication number Publication date
CN114510896A (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
US20130275351A1 (en) Controlling quarantining and biasing in cataclysms for optimization simulations
US20170262752A1 (en) Adaptive cataclysms in genetic algorithms
CN111026544A (zh) 图网络模型的节点分类方法、装置及终端设备
JP2019139323A (ja) 最適化システム、最適化装置及び最適化システムの制御方法
CN111077768A (zh) 优化装置及优化装置的控制方法
CN113821983A (zh) 基于代理模型的工程设计优化方法、装置及电子设备
Idais et al. Optimal knots allocation in the cubic and bicubic spline interpolation problems
JP7137074B2 (ja) 最適化計算方法、最適化計算装置及び最適化計算プログラム
CN114722482A (zh) 高原隧道形变量的预测方法及高原隧道健康检测系统
US9940418B2 (en) Simulation of hierarchical circuit element arrays
WO2023155259A1 (zh) 一种缓冲器插入方法、装置、存储介质及电子设备
US7139986B2 (en) Systems and methods for determining costs associated with a selected objective
JPWO2005098612A1 (ja) 重要成分優先計算方式ならびに装置
KR101806628B1 (ko) 통합 회귀 분석 네트워크 구축 방법 및 이에 의한 통합 분석 시스템
US20100014569A1 (en) Identifying An Optimized Test Bit Pattern For Analyzing Electrical Communications Channel Topologies
CN112016667A (zh) 优化装置和优化方法
US20230259682A1 (en) Buffer insertion method and device, storage medium, and electronic device
WO2020054046A1 (ja) 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム
Luo et al. Sampling-based adaptive bounding evolutionary algorithm for continuous optimization problems
US20050197979A1 (en) Speculation count in a genetic algorithm
CN113642226A (zh) 基于多目标进化算法的公平机器学习模型的训练方法
JP7450833B1 (ja) パラメータ最適化装置およびパラメータ最適化方法
US20050159897A1 (en) Postponing validation of speculative chromosomes
CN111913685A (zh) 运算处理装置、运算处理方法和非暂态计算机可读介质
CN110544113A (zh) 基于智能合约的交易中燃油费的输入确定方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22926577

Country of ref document: EP

Kind code of ref document: A1