# US 12,008,299 B2 · Buffer insertion method and device, storage medium, and electronic device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,299 B2
- Document ID: US12008299B2
- Status: Granted
- Kind: B2
- Application number: 17/806,975
- Filed: 2022-06-15
- Published: 2023-08-17
- Granted: 2024-06-11
- Earliest claimed: 2022-02-15
- Assignees: Changxin Memory Technologies, Inc.
- Applicants: Changxin Memory Technologies, Inc.
- Inventors: Tao Du
- Web page: https://patentgrep.com/patent/US12008299B2

## CPC

- G06F 30/373: Design optimisation
- G06F 30/27: using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
- G06F 30/327: Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
- G06F 30/39: Circuit design at the physical level (physical level design for reconfigurable circuits G06F30/347)
- G06F 30/392: Floor-planning or layout, e.g. partitioning or placement
- G06F 30/394: Routing (G06F30/396 takes precedence)
- G11C 11/401: forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C 11/4076: Timing circuits (for regeneration management G11C11/406)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

In a method for buffer insertion, a circuit to be processed and a plurality of insertion strategy parameters are determined; a target insertion strategy parameter is determined by calculating the plurality of insertion strategy parameters by using a preset population genetic model; and a target circuit is obtained by performing buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter.

## Claims

### Claim 1

A method for buffer insertion, comprising:
determining a circuit to be processed and a plurality of insertion strategy parameters;
determining a target insertion strategy parameter by calculating the plurality of insertion strategy parameters by using a preset population genetic model; and
obtaining a target circuit by performing buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter;
wherein the preset population genetic model comprises a fitness submodel and a genetic submodel; and determining the target insertion strategy parameter by calculating the plurality of insertion strategy parameters by using the preset population genetic model comprises:
initializing a number of iterations to 0;
obtaining a fitness value corresponding to a first insertion strategy parameter by performing fitness calculation on circuit parameters of the circuit to be processed and the first insertion strategy parameter by using the fitness submodel, wherein the first insertion strategy parameter is any one of the plurality of insertion strategy parameters;
after respective fitness values corresponding to the plurality of insertion strategy parameters are obtained, obtaining a plurality of iterative insertion strategy parameters by performing iterative processing on the plurality of insertion strategy parameters by using the genetic submodel according to the respective fitness values corresponding to the plurality of insertion strategy parameters;
adding 1 to the number of iterations, and determining whether the number of iterations or an iterative variance meet a preset condition.

### Claim 2 (depends on 1)

The method for buffer insertion of claim 1, wherein an insertion strategy parameter comprises a buffer quantity parameter, a buffer position parameter, and a buffer size parameter.

### Claim 3 (depends on 1)

The method for buffer insertion of claim 1, wherein
determining whether the number of iterations or the iterative variance meet the preset condition comprises:
determining whether the number of iterations is greater than a preset number threshold value;
in a case where the number of iterations is less than or equal to the preset number threshold value, redetermining the plurality of iterative insertion strategy parameters as the plurality of insertion strategy parameters, and returning to the step of performing the fitness calculation on the circuit parameters of the circuit to be processed and the first insertion strategy parameter by using the fitness submodel; and
in a case where the number of iterations is greater than the preset number threshold value, determining the target insertion strategy parameter according to the plurality of iterative insertion strategy parameters.

### Claim 4 (depends on 3)

The method for buffer insertion of claim 3, wherein after obtaining the respective fitness values corresponding to the plurality of insertion strategy parameters, the method further comprises:
comparing the respective fitness values corresponding to the plurality of insertion strategy parameters, and directly determining an insertion strategy parameter with a highest fitness value as an iterative insertion strategy parameter.

### Claim 5 (depends on 3)

The method for buffer insertion of claim 3, wherein obtaining the fitness value corresponding to the first insertion strategy parameter by performing fitness calculation on the circuit parameters of the circuit to be processed and the first insertion strategy parameter by using the fitness submodel comprises:
obtaining a first sub-fitness value, a second sub-fitness value, a third sub-fitness value, and a fourth sub-fitness value by calculating the circuit parameters of the circuit to be processed and the first insertion strategy parameter; and
obtaining the fitness value corresponding to the first insertion strategy parameter by performing 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 by using preset weight values.

### Claim 6 (depends on 5)

The method for buffer insertion of claim 5, wherein the preset weight values comprise a first weight value, a second weight value, a third weight value, and a fourth weight value; and the method further comprises:
setting respective values of the first weight value, the second weight value, the third weight value, and the fourth weight value, wherein the sum of the respective values of the first weight value, the second weight value, the third weight value, and the fourth weight value is 1;
the first weight value refers to a weight value of the first sub-fitness value, the second weight value refers to a weight value of the second sub-fitness value, the third weight value refers to a weight value of the third sub-fitness value, and the fourth weight value refers to a weight value of the fourth sub-fitness value.

### Claim 7 (depends on 3)

The method for buffer insertion of claim 3, wherein obtaining the plurality of iterative insertion strategy parameters by performing iterative processing on the plurality of insertion strategy parameters by using the genetic submodel according to the respective fitness values corresponding to the plurality of insertion strategy parameters comprises:
obtaining a plurality of first intermediate parameters by selecting from the plurality of insertion strategy parameters according to the respective fitness values corresponding to the plurality of insertion strategy parameters;
obtaining a plurality of second intermediate parameters by performing crossover processing on the plurality of first intermediate parameters; and
obtaining the plurality of iterative insertion strategy parameters by performing mutation processing on the plurality of second intermediate parameters.

### Claim 8 (depends on 7)

The method for buffer insertion of claim 7, wherein obtaining the plurality of first intermediate parameters by selecting from the plurality of insertion strategy parameters according to the respective fitness values corresponding to the plurality of insertion strategy parameters comprises:
obtaining a total fitness value by performing summation operation on the respective fitness values corresponding to the plurality of insertion strategy parameters;
obtaining respective selection probability values corresponding to the plurality of insertion strategy parameters by performing division operation on the respective fitness values corresponding to the plurality of insertion strategy parameters and the total fitness value; and
determining the plurality of first intermediate parameters according to the respective selection probability values corresponding to the plurality of insertion strategy parameters.

### Claim 9 (depends on 7)

The method for buffer insertion of claim 7, wherein obtaining the plurality of second intermediate parameters by performing crossover processing on the plurality of first intermediate parameters comprises:
obtaining the plurality of second intermediate parameters by performing multi- point crossover processing on the plurality of first intermediate parameters according to a preset crossover probability.

### Claim 10 (depends on 7)

The method for buffer insertion of claim 7, wherein obtaining the plurality of iterative insertion strategy parameters by performing mutation processing on the plurality of second intermediate parameters comprises:
determining a random number conforming to normal distribution; and
obtaining the plurality of iterative insertion strategy parameters by performing, according to a preset mutation probability, Gaussian mutation processing on the plurality of second intermediate parameters by using the random number.

### Claim 11 (depends on 10)

The method for buffer insertion of claim 10, wherein determining the target insertion strategy parameter according to the plurality of iterative insertion strategy parameters comprises:
obtaining the respective fitness values corresponding to the plurality of iterative insertion strategy parameters by calculating, based on the circuit parameters of a circuit to be processed, the plurality of iterative insertion strategy parameters by using the fitness submodel; and
comparing the respective fitness values corresponding to the plurality of iterative insertion strategy parameters, and determining an iterative insertion strategy parameter with a highest fitness value as a target insertion strategy parameter.

### Claim 12 (depends on 1)

The method for buffer insertion of claim 1, wherein
determining whether the number of iterations or the iterative variance meet the preset condition comprises:
determining whether the variance is less than a preset variance threshold value;
in a case where the iterative variance is greater than or equal to the preset a variance threshold value, redetermining the plurality of iterative insertion strategy parameters as the plurality of insertion strategy parameters, and returning to a step of performing the fitness calculation on the circuit parameters of the circuit to be processed and the first insertion strategy parameter by using the fitness submodel; and
in a case where the number of iterations is greater than the preset variance threshold value, determining the target insertion strategy parameter according to the plurality of iterative insertion strategy parameters.

### Claim 13 (depends on 12)

The method for buffer insertion of claim 12, wherein before determining whether the iterative variance is less than the preset iterative variance, the method further comprises:
obtaining a highest fitness value in an n-th iteration process by comparing the respective fitness values corresponding to the plurality of insertion strategy parameters; and
obtaining the iterative variance by performing variance calculation on highest fitness values in (n-m)-th to n-th iterations, wherein
n is a value of the number of iterations, and m is a positive integer.

### Claim 14 (depends on 12)

The method for buffer insertion of claim 12, wherein after obtaining the respective fitness values corresponding to the plurality of insertion strategy parameters, the method further comprises:
comparing the respective fitness values corresponding to the plurality of insertion strategy parameters, and directly determining an insertion strategy parameter with a highest fitness value as an iterative insertion strategy parameter.

### Claim 15 (depends on 12)

The method for buffer insertion of claim 12, wherein obtaining the fitness value corresponding to the first insertion strategy parameter by performing fitness calculation on the circuit parameters of the circuit to be processed and the first insertion strategy parameter by using the fitness submodel comprises:
obtaining a first sub-fitness value, a second sub-fitness value, a third sub- fitness value, and a fourth sub-fitness value by calculating the circuit parameters of the circuit to be processed and the first insertion strategy parameter; and
obtaining the fitness value corresponding to the first insertion strategy parameter by performing 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 by using preset weight values.

### Claim 16 (depends on 15)

The method for buffer insertion of claim 15, wherein the preset weight values comprise a first weight value, a second weight value, a third weight value, and a fourth weight value; and the method further comprises:
setting respective values of the first weight value, the second weight value, the third weight value, and the fourth weight value, wherein the sum of the respective values of the first weight value, the second weight value, the third weight value, and the fourth weight value is 1;
the first weight value refers to a weight value of the first sub-fitness value, the second weight value refers to a weight value of the second sub-fitness value, the third weight value refers to a weight value of the third sub-fitness value, and the fourth weight value refers to a weight value of the fourth sub-fitness value.

### Claim 17 (depends on 12)

The method for buffer insertion of claim 12, wherein obtaining the plurality of iterative insertion strategy parameters by performing iterative processing on the plurality of insertion strategy parameters by using the genetic submodel according to the respective fitness values corresponding to the plurality of insertion strategy parameters comprises:
obtaining a plurality of first intermediate parameters by selecting from the plurality of insertion strategy parameters according to the respective fitness values corresponding to the plurality of insertion strategy parameters;
obtaining a plurality of second intermediate parameters by performing crossover processing on the plurality of first intermediate parameters; and
obtaining the plurality of iterative insertion strategy parameters by performing mutation processing on the plurality of second intermediate parameters.

### Claim 18 (depends on 17)

The method for buffer insertion of claim 17, wherein obtaining the plurality of first intermediate parameters by selecting from the plurality of insertion strategy parameters according to the respective fitness values corresponding to the plurality of insertion strategy parameters comprises:
obtaining a total fitness value by performing summation operation on the respective fitness values corresponding to the plurality of insertion strategy parameters;
obtaining respective selection probability values corresponding to the plurality of insertion strategy parameters by performing division operation on the respective fitness values corresponding to the plurality of insertion strategy parameters and the total fitness value; and
determining the plurality of first intermediate parameters according to the respective selection probability values corresponding to the plurality of insertion strategy parameters.

### Claim 19

A device for buffer insertion, comprising a memory and a processor, wherein the memory is configured to store a computer program executable on the processor; and
the processor is configured to:
determine a circuit to be processed and a plurality of insertion strategy parameters;
determine a target insertion strategy parameter by calculating the plurality of insertion strategy parameters by using a preset population genetic model; and
obtain a target circuit by performing buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter;
wherein the preset population genetic model comprises a fitness submodel and a genetic submodel; and determine the target insertion strategy parameter by calculating the plurality of insertion strategy parameters by using the preset population genetic model comprises:
initialize a number of iterations to 0;
obtain a fitness value corresponding to a first insertion strategy parameter by performing fitness calculation on circuit parameters of the circuit to be processed and the first insertion strategy parameter by using the fitness submodel, wherein the first insertion strategy parameter is any one of the plurality of insertion strategy parameters;
after respective fitness values corresponding to the plurality of insertion strategy parameters are obtained, obtain a plurality of iterative insertion strategy parameters by performing iterative processing on the plurality of insertion strategy parameters by using the genetic submodel according to the respective fitness values corresponding to the plurality of insertion strategy parameters;
add 1 to the number of iterations, and determine whether the number of iterations or an iterative variance meet a preset condition.

### Claim 20

A non-transitory computer-readable storage medium having stored a computer program which, when executed by a processor, causes the processor to perform a method for buffer insertion; the method comprising:
determining a circuit to be processed and a plurality of insertion strategy parameters;
determining a target insertion strategy parameter by calculating the plurality of insertion strategy parameters by using a preset population genetic model; and
obtaining a target circuit by performing buffer insertion processing on the circuit to be processed according to the target insertion strategy parameter;
wherein the preset population genetic model comprises a fitness submodel and a genetic submodel; and determining the target insertion strategy parameter by calculating the plurality of insertion strategy parameters by using the preset population genetic model comprises:
initializing a number of iterations to 0;
obtaining a fitness value corresponding to a first insertion strategy parameter by performing fitness calculation on circuit parameters of the circuit to be processed and the first insertion strategy parameter by using the fitness submodel, wherein the first insertion strategy parameter is any one of the plurality of insertion strategy parameters;
after respective fitness values corresponding to the plurality of insertion strategy parameters are obtained, obtaining a plurality of iterative insertion strategy parameters by performing iterative processing on the plurality of insertion strategy parameters by using the genetic submodel according to the respective fitness values corresponding to the plurality of insertion strategy parameters;
adding 1 to the number of iterations, and determining whether the number of iterations or an iterative variance meet a preset condition.
