Circuit multi-objective optimization method based on hyper-volume guidance and variable optimality classification

Through the super-volume guidance and variable optimization classification methods, the balance and local optimization problems in circuit optimization are solved, more efficient circuit multi-objective optimization is achieved, and better circuit performance is obtained.

CN119167840APending Publication Date: 2024-12-20JILIN UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411311189.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

The existing circuit optimization methods are difficult to achieve a balance between area, power consumption and delay, and are prone to local optimal solutions, with slow convergence speed, and multi-objective evolution algorithms are prone to local optimal during population evolution, affecting the solution set. Quality and algorithmic efficiency.

Method used

Using a multi-objective optimization method based on super-volume guidance and variable optimization classification, the quality control evolution parameters of the solution are determined by super-volume change quantities and measures, and different evolution strategies are distinguished between single and multi-optimal variables, combining area and power consumption. The delay estimation model performs population evolution and circuit multi-objective optimization, and uses variation correction for mapping differences to jump out of local optimality.

Benefits of technology

A more effective balance between area, power consumption and delay is achieved, convergence speed and solution set quality are improved, and the optimal polarity set for circuits is obtained, and the performance is better than the existing circuit multi-objective optimization method.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119167840A_ABST
    Figure CN119167840A_ABST
Patent Text Reader

Abstract

The invention discloses a circuit multi-objective optimization method based on hyper-volume guidance and variable optimality classification. The method comprises the following steps: 1, reading a Boolean logic circuit, initializing a population, and constructing association between population evolution and circuit multi-objective optimization; secondly, a hyper-volume guiding method is provided, storage and change of evolution parameters are controlled, and a population is guided to evolve towards the Pareto leading edge direction; 3, a variable optimality classification method is provided, population individuals are divided into multiple optimal variables and single optimal variables, and then different population evolution strategies are carried out respectively. And 4, combining the populations evolved in the step 2 and the step 3, establishing an area, power consumption and delay estimation model, and carrying out environment selection on the populations to obtain a new population. And 5, if the current number of iterations is the multiple of the variation threshold, performing variation correction based on mapping difference on the population obtained in the step 4. And after variation correction, ending the algorithm if the maximum number of iterations or population convergence is reached, otherwise, skipping to the step 2.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to multi-objective optimization of circuits using hypervolume guidance, variable optimality classification, multi-objective evolutionary algorithms, and fixed polarity Reed-Muller (FPRM). Background Art

[0002] Electronic design automation is a key issue that restricts the development of integrated circuits. As the core content of electronic design automation, the logic synthesis of circuits mainly includes three processes: translation, optimization, and mapping. Among them, circuit optimization mainly considers the performance of integrated circuits such as area, power consumption, and delay, and plays an important role in the logic synthesis of circuits.

[0003] Reed-Muller (RM) logic based on AND / XOR is another circuit expression form different from Boolean logic of AND / 0R. RM logic circuit has significant advantages in circuit area, power consumption, speed and testability. Fixed polarity Reed-Muller (FPRM) logic circuit is an important RM logic circuit. Polarity plays a vital role in FPRM logic circuits. Different polarities correspond to different logical expressions and thus to different circuit performances. Reducing circuit area, power consumption and delay can reduce equipment costs, reduce random noise and improve equipment stability. Therefore, circuit area, power consumption and delay are the three most considered factors in the circuit optimization process. Multi-objective optimization of FPRM circuits is to find a solution or solution set in a specific polarity search space, whose corresponding polarity makes the area, power consumption and delay small enough to obtain a circuit with better performance.

[0004] Most existing circuit optimization methods use the weighted sum method, which weighs the weights of area, power consumption, and delay in the hope of finding the best polarity that minimizes area, power consumption, and delay. However, the weighted sum method can only obtain one or several optimal solutions, and the results obtained by this method are very dependent on parameter settings. Unreasonable weight parameters often lead to a tendency to strengthen circuit performance in one aspect.

[0005] The multi-objective evolutionary algorithm can find multiple Pareto optimal solutions in one run. These solutions are distributed on the Pareto frontier and can provide more choices for decision makers. In addition, the multi-objective evolutionary algorithm can find solutions that are difficult to find with traditional methods by performing global search through population evolution. Therefore, it is a good choice to apply the multi-objective evolutionary algorithm to multi-objective optimization of circuits. At the same time, this method also faces certain challenges. It is easy to fall into the local optimum during population evolution, resulting in low quality of solution set and difficulty in obtaining the required solution; in addition, when conducting extensive exploration, excessive attention to diversity can easily lead to slow convergence, which ultimately affects the efficiency of the algorithm.

[0006] In summary, in order to solve the problem that the solution set is difficult to achieve a balance between different objectives, is prone to falling into local optimality, and has a slow convergence speed, we proposed a circuit multi-objective optimization method based on hypervolume guidance and variable optimality classification. First, we proposed a hypervolume guidance method to measure the quality of the solution by the hypervolume change, thereby controlling the storage and change of the evolutionary parameters and guiding the population to evolve faster towards the Pareto frontier. Second, we proposed a variable optimality classification method to divide the variables into single optimal variables and multiple optimal variables, and then perform different evolutionary strategies. For a single optimal variable, the newly generated variable should be as close as possible to the corresponding value in the original variable to accelerate convergence. For multiple optimal variables, the new variable should be generated at a position far away from the original variable to maintain good diversity, thereby achieving more extensive exploration. Third, we applied the improved multi-objective evolutionary algorithm to circuit multi-objective optimization, established area, power consumption and delay estimation models, and constructed the relationship between population evolution and circuit multi-objective optimization. Summary of the invention

[0007] In order to solve the problem that the solution set is difficult to achieve a balance between different objectives, is prone to falling into local optimality and has slow convergence, this paper invents a multi-objective optimization method for FPRM circuits based on hypervolume guidance and variable optimality classification. The invention mainly includes: a hypervolume guidance method for controlling the storage and change of evolutionary parameters, a variable optimality classification method for distinguishing different variables and performing different evolutionary strategies, a mapping difference-based mutation correction for jumping out of local optimality, and a multi-objective optimization of FPRM circuits using an improved multi-objective evolutionary algorithm.

[0008] A circuit multi-objective optimization method based on hypervolume guidance and variable optimality classification has the following main steps:

[0009] Step 1: Read the Boolean logic circuit, initialize the population and divide it equally into sub-populations P1 and P2, and establish the relationship between population evolution and circuit multi-objective optimization.

[0010] Step 2: Propose a hypervolume guidance method to control the storage and change of evolution parameters, thereby performing population evolution on the subpopulation P1 generated in step 1. First, initialize the memory M of the scaling factor F and the crossover rate CR F and M CR , and the temporary storage S of both F and S CR Then for each individual x in the population i , select memory M F A random term that generates the scaling factor F based on the Cauchy distribution i Similarly, the crossover rate CR is generated based on the normal distribution i , and then according to these two evolutionary parameters, x iUpdate the position and get the updated individual x′ i Next, calculate the hypervolume of the new and old individuals. If the hypervolume of the new individual is smaller, it means that F i With CR i Play a positive role and store it in temporary storage S F and S CR , and assign it a weight based on the hypervolume change. After all individuals in the population are updated, a temporary storage S is obtained to store all forward control parameters and their weights. F and S CR , thereby updating M F and M CR The Kth item of M F The Kth term is based on S F The weighted Lehmer mean of CR The Kth term is based on S CR The weighted average of .

[0011] Step 3: Classify the individuals in the subpopulation P2 generated in step 1 according to the optimality of the variables and divide them into multiple optimal and single optimal variables, and then perform different population evolution strategies respectively. First, perform hierarchical clustering on the subpopulation P2, and the cluster where each individual belongs constitutes the mating pool β of the individual. Then, according to the difference d between the ranking of the i-th decision variable and the ranking of the j-th target value ij, Calculate the Spearman rank correlation coefficient for each variable. If a variable has an obvious correlation conflict on two objectives, the variable has multiple optimal values ​​and is classified as a multi-optimal variable, otherwise it is a single-optimal variable. Next, different evolutionary strategies are adopted for multi-optimal variables and single-optimal variables according to the optimality classification results. For a single-optimal variable, the newly generated variable should be as close as possible to the corresponding value in the original variable to accelerate convergence. Therefore, on the basis of the variable itself, individuals x1 and x2 are randomly selected from its mating pool β, and then local positions are updated. For multi-optimal variables, new variables should be generated at positions far away from the original variables to maintain good diversity, so individuals x1, x2 and x3 are randomly selected directly from its mating pool β, and then more extensive exploration is carried out.

[0012] Step 4: Merge the subpopulation P1 evolved in step 2 and the subpopulation P2 evolved in step 3, establish area, power consumption and delay estimation models to select the environment, and obtain a new population P. First, establish an area estimation model. The total area of ​​the FPRM circuit is the area of ​​all AND gates A AND With all XOR gates area A XOR Usually, we think that A AND =A XOR=1, that is, the area is the total number of all input gates. Then, a power consumption estimation model is established. The jump density of the FPRM circuit is positively correlated with the power consumption, so the total jump density is used to represent the circuit power consumption. i ) and all other input signal probabilities P(x j ) is multiplied to obtain the corresponding multiplication term of the input terminal. The output transition density D of a k-input AND gate is AND It is the cumulative sum of the multiplication terms corresponding to the k input terminals. The output transition density D of an XOR gate XOR Directly equal to the jump density of all input terminals D(x i ) is the cumulative sum. The output transition density D of all AND gates and XOR gates is AND and D XOR Adding them together, we get the total transition density of an FPRM circuit. Then, we build a delay estimation model. We first use a Huffman-like algorithm to decompose all multi-input gates into two-input gates. At this time, the delay of a two-input gate node is the sum of the gate delay of unit 1 and the maximum value between the data preparation time of the two input terminals. The area, power consumption and delay estimation models are used as sub-goals 1, 2 and 3 of the objective function, respectively. We perform environmental selection on the merged population to obtain a new population P.

[0013] Step 5. If the current number of iterations is a multiple of the mutation threshold, the population P obtained in step 4 is subjected to mutation correction based on mapping differences. First, the mapping of the highest and lowest points of the population to the target space is calculated, and the p_value of the two is determined by the Wilcoxon signed rank test, that is, the ratio of mutation operations to be performed in the population. Then the individuals perform mutation operations based on Gaussian distribution. After the mutation correction, the algorithm ends if the maximum number of iterations has been reached or the population converges, otherwise the population is divided into sub-populations P1 and P2, and jumps to step 2. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 .Method framework flow chart

[0015] Figure 2 . Calculation flow chart of the hypervolume guided method DETAILED DESCRIPTION

[0016] Step 1: Read the Boolean logic circuit, initialize the population and divide it equally into sub-populations P1 and P2, and establish the relationship between population evolution and circuit multi-objective optimization.

[0017] Furthermore, reading the Boolean logic circuit is to obtain information such as logic gates, inputs and outputs in the Boolean logic circuit, and then convert the Boolean logic circuit into an FPRM logic circuit through a polarity conversion method. The population is initialized using a random initialization method. The relationship between population evolution and multi-objective optimization of FPRM circuits is established, the position of the population is represented as polarity, the search space of the population is represented as a polarity search space, and the Pareto solution set is represented as the optimal polarity set.

[0018] Step 2: For the subpopulation P1 generated in step 1, we propose a hypervolume guidance method, which measures the quality of the solution by measuring the hypervolume change, thereby controlling the storage and change of evolution parameters and guiding the population to evolve towards the Pareto frontier.

[0019] (1) First, initialize the memory M of the scaling factor F F and the memory M of the crossover rate CR CR . M F and M CR The size of each is H, and the initial value of each item is 0.5. Initialize the temporary memory S of F and CR F and S CR All are empty.

[0020] (2) For each individual x in subpopulation P1 i , a random number r between 1 and H i As the memory number, according to F memory M F The rth i The term is the location parameter, and the Cauchy distribution with a scale parameter of 0.1 generates its corresponding scaling factor F i ; According to CR memory M CR The rth i The term is the mean, with a normal distribution with a variance of 0.1, and the corresponding crossover rate CR is generated. i .

[0021]

[0022] (3) Then select a random individual x from the population r , update the position of each individual and obtain the updated new individual x′ i .

[0023]

[0024] Calculate the hypervolume change ΔHV between the new and old individuals i .

[0025] ΔHV i =HV(x′ i )-HV(xi )

[0026] If ΔHV i If it is less than 0, the corresponding F i and CR i Stored in temporary storage S F and S CR .

[0027] (4) Add weight ω to each item in the temporary storage k .

[0028]

[0029] Then calculate S F The weighted Lehmer mean WL and S cR The weighted average mean WA .

[0030]

[0031]

[0032] This allows memory M F and M CR Each iteration only updates the Kth item, and K cycles from 1 to H. The next iteration, i.e., the M of the G+1th iteration, is obtained according to the following formula: F The Kth item and M CR The Kth item

[0033]

[0034] Step 3: Classify according to the optimality of the variables, divide the individuals in the subpopulation P2 generated in step 1 into multiple optimal and single optimal variables, and then perform different population evolution strategies respectively.

[0035] (1) First, perform hierarchical clustering on the subpopulation P2. The cluster to which each individual belongs constitutes the mating pool β of the individual.

[0036] (2) For each individual x, calculate the difference d between the ranking of its i-th decision variable and the ranking of its j-th target value ij, Then get its Spearman rank correlation coefficient.

[0037]

[0038] like and Then the variable x is a multi-optimal variable; otherwise, x is a single-optimal variable.

[0039] (3) According to the optimality classification results, different evolutionary strategies are adopted for multiple optimal variables and single optimal variable.

[0040] For a single optimal variable, based on the variable itself, individuals x1 and x2 are randomly selected from its mating pool β, and then local positions are updated.

[0041] x'=x+F·(x1-x2)

[0042] For the multi-optimal variant, individuals x1, x2, and x3 are directly randomly selected from its mating pool β, and then more extensive exploration is performed.

[0043] x′=x1+F·(x2-x3)

[0044] Step 4: Merge the subpopulation P1 evolved in step 2 and the subpopulation P2 evolved in step 3, and select the environment according to the area, power consumption and delay estimation model.

[0045] (1) Establish an area estimation model.

[0046] Area = N AND ·A AND +N xOR ·A XOR

[0047] The total area of ​​the FPRM circuit is the area of ​​all AND gates A AND With all XOR gates area A xoR Usually, we think that A AND =A xOR =1, that is, the area is the total number of all input gates.

[0048] (2) Establish a power consumption estimation model.

[0049] The transition density of the FPRM circuit is positively correlated with the power consumption, so the total transition density D is used total Represents the power consumption of the circuit.

[0050]

[0051] First, the transition density D(x i ) and all other input signal probabilities P(x j ) is multiplied to obtain the corresponding multiplication term Π of the input end i P(x j )D(x i ), the output transition density D of a k-input AND gate ANDIt is the cumulative sum of the multiplication terms corresponding to the k input terminals.

[0052] The output transition density D of an XOR gate XOR Directly equal to the jump density of all input terminals D(x i ) is the cumulative sum of .

[0053] Adding up the transition densities at the outputs of all AND gates and XOR gates gives the total transition density of a FPPM circuit.

[0054] (3) Establish a delay estimation model.

[0055] First, use the Huffman-like algorithm to decompose the multi-input gate into a two-input gate, assign the original input data preparation time of the FPRM circuit to 0, and the delay of all two-input gate nodes to 1. The delay DT of a certain input gate node v v The gate delay of unit 1 and the data preparation time DT of the two input terminals i , DT j The sum of the maximum values ​​between .

[0056] DT v =1+max{DT i, DT j}

[0057] (4) The area, power consumption and delay estimation models are used as sub-goal 1, sub-goal 2 and sub-goal 3 of the objective function f(x) respectively to perform environmental selection on the merged population P composed of P1 and P2.

[0058] Step 5: If the current number of iterations is a multiple of the mutation threshold, the merged population P obtained in step 4 is subjected to mutation correction based on mapping differences. After the mutation correction, if the maximum number of iterations has been reached or the population has converged, the algorithm ends. Otherwise, the population is divided equally into sub-populations P1 and P2, and the algorithm jumps to step 2.

[0059] First, the mappings f1 and f2 from the highest and lowest points of the population to the target space are calculated, and the p_values ​​of the two are determined by the Wilcoxon signed rank test, that is, the ratio of the population to be mutated. Then, the individuals perform mutation operations based on Gaussian distribution.

[0060] x′ i =x i +η·(x max -x min )

[0061] The FPRM circuit is optimized using the circuit multi-objective optimization method based on hypervolume guidance and variable optimality classification to search for the optimal polarity set for area, power consumption and delay. The performance is better than the existing circuit multi-objective optimization method and more and better circuit optimal polarities can be obtained more efficiently.

Claims

1. A circuit multi-objective optimization method based on hypervolume guidance and variable optimality classification, characterized by: At least the following steps are included: Step 1: Read the Boolean logic circuit, initialize the population and divide it into two sub-populations, and build the relationship between population evolution and circuit multi-objective optimization; Step 2: A hypervolume guided method is proposed; first, the control parameters and memory are initialized, and then when each subpopulation individual evolves, the quality of the solution is balanced by the hypervolume, and the control parameters evolving in the direction of the Pareto frontier are stored separately, and the corresponding weight of each stored value is assigned based on the hypervolume. After all individuals have evolved, the control parameters are updated based on the stored information for the next iteration of population evolution; Step 3: Propose a variable optimality classification method; first generate a mating pool for each individual through hierarchical clustering, and then classify the variables into multi-optimal variables and single-optimal variables according to whether there is an obvious correlation conflict between a variable and different objectives. Next, according to the optimality classification results, auxiliary individuals are extracted from the mating pool for the multi-optimal variables and the single-optimal variables, respectively, and different evolutionary strategies are adopted; Step 4: Merge the two subpopulations evolved based on the hypervolume guidance method in step 2 and the variable optimality classification method in step 3, establish area, power consumption and delay estimation models and perform environment selection; Step 5: When the current number of iterations is a multiple of the mutation threshold, the population selected in step 4 is subjected to mutation correction based on mapping differences. After the mutation correction, the algorithm ends if the maximum number of iterations has been reached or the population converges. Otherwise, the population is divided into two sub-populations and jumps to step 2.

2. The circuit multi-objective optimization method based on hypervolume guidance and variable optimality classification according to claim 1, characterized in that: In step 2, a hypervolume guided method is proposed. First, the scaling factor memory and the crossover rate memory, as well as the temporary memory of the two, are initialized. Then, for each individual in the subpopulation, a scaling factor is generated based on the memory and the Cauchy distribution, and a crossover rate is generated based on the memory and the normal distribution. The position of the individual is updated according to these two evolutionary parameters. Next, according to the hypervolume change, the scaling factor and crossover rate that play a positive role are stored in the temporary memory, and are assigned weights based on the hypervolume change. Finally, after all individuals in the subpopulation are updated, a temporary memory for storing all positive control parameters and their weights is obtained, thereby updating the corresponding items of the scaling factor memory and the crossover rate memory for the next iteration of population evolution.

3. The circuit multi-objective optimization method based on hypervolume guidance and variable optimality classification according to claim 1, characterized in that: In step three, a variable optimality classification method is proposed. First, hierarchical clustering is performed on the other sub-population. The cluster where each individual belongs constitutes the mating pool of the individual. Then, the Spearman rank correlation coefficient of each variable is calculated based on the difference in the ranking of the decision variable and the target value. If the coefficient reflects that a variable has an obvious correlation conflict between the two targets, then the variable has multiple optimal values ​​and is classified as a multi-optimal variable. Otherwise, it is a single optimal variable. Next, for the single optimal variable, the newly generated variable should be as close as possible to the corresponding value in the original variable. Therefore, based on the variable itself, two auxiliary individuals are randomly selected from its mating pool to perform local position updates. For multi-optimal variables, the new variable should be generated at a position far away from the original variable. Therefore, three auxiliary individuals are randomly selected directly from its mating pool for more extensive exploration operations.