A planning method for chip wiring layout based on fusion evolution and SAT solving

CN121902747BActive Publication Date: 2026-06-02SOUTH CHINA UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-03-26
Publication Date
2026-06-02

Smart Images

  • Figure CN121902747B_ABST
    Figure CN121902747B_ABST
Patent Text Reader

Abstract

The application discloses a kind of planning methods for chip wiring layout fusion evolution and SAT solution, it is related to chip design technical field. Including: obtaining the conjunctive normal form of chip wiring layout problem, the coding rule of individual is defined;According to the search strategy and simplified evolution process of stage, search the optimal parameter combination about the value of evolution algorithm super parameter;Based on the optimal parameter combination and individual coding rule, initialize population and carry out iterative evolution;In the iteration process, based on conflict information and optimization target contribution, implement different cross mutation strategy, dynamically adjust the cross rate and mutation rate of each variable, while collecting key information, the individual that does not satisfy constraint is repaired directionally;Finally, according to the evaluation result screening individual, obtain global optimal solution set, realize the efficient solution to chip wiring layout problem, solve the problems such as poor timeliness, weak constraint satisfaction ability and low convergence quality of prior art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of chip design technology, and in particular to a planning method for the fusion evolution and SAT solution of chip wiring layout. Background Technology

[0002] Chip routing layout is a core part of integrated circuit design. Its essence is to achieve the optimal layout and routing of signal interconnection under the premise of satisfying physical constraints (such as line width, spacing, and non-overlap), timing constraints (such as delay and timing convergence), and resource constraints (such as routing channel capacity).

[0003] Chip routing layout problems involve numerous Boolean variables and complex constraints. The core issue is finding variable assignment schemes that satisfy all constraints. To this end, the problem is typically transformed into Conjunctive Normal Form (CNF), thus modeling it as a Satisfactionability Problem (SAT). Using SAT solving techniques, feasible solutions satisfying all CNF constraints can be effectively found. Based on this, multiple objective functions such as routing area, delay, and power consumption can be further optimized to find the optimal routing layout scheme.

[0004] In existing technologies, methods for solving chip wiring layout problems are mainly divided into three categories, and each category has obvious shortcomings:

[0005] (1) Precise SAT solution algorithm: It takes backtracking iterative search as the core and gradually narrows the search space through binary search. Although this type of algorithm can guarantee an exact feasible solution, it is prone to "combinatorial explosion" in large-scale chip wiring problems. The solution time is too long and cannot meet the timeliness requirements. Moreover, the optimization ability is weak and it is difficult to select the optimal solution.

[0006] (2) Evolutionary algorithm: The wiring variables are encoded as chromosomes in the form of Boolean vectors, and population evolution is achieved through the selection, crossover, and mutation of fixed parameters. Although this method can avoid combinatorial explosion of large-scale problems, it has the problem that it is difficult to find a feasible solution that satisfies all constraints in scenarios with difficult constraints, and it cannot adapt to the wiring requirements of chips with high constraint strength.

[0007] (3) Simple hybrid optimization algorithm: The SAT algorithm is used as an auxiliary module of the evolutionary algorithm. The constraint satisfaction ability is improved by preprocessing in the initialization stage or by propagation repair of the unit after mutation. However, the existing technology only realizes a shallow splicing of the two algorithms, which has low iteration efficiency, is prone to premature convergence, and is difficult to obtain the globally optimal feasible solution.

[0008] Therefore, there is an urgent need to provide a planning method that integrates evolution and SAT solution for chip routing layout, in order to solve the problems of poor timeliness, weak constraint satisfaction and low convergence quality of existing exact algorithms, evolutionary algorithms and their simple hybrid algorithms when solving large-scale chip routing layout problems. Summary of the Invention

[0009] To address the problems existing in the prior art, this invention provides a planning method that integrates evolution and SAT solution for chip routing layout. This method uses an evolutionary algorithm as its core framework and achieves efficient solution of the optimal feasible solution to the satisfiability problem through the coordinated adaptation of the SAT algorithm and the evolutionary algorithm at the parameter design level. It takes into account both constraint satisfaction and objective optimization, and generates the optimal chip routing layout scheme that satisfies the routing constraints.

[0010] The technical solution of this invention is implemented as follows:

[0011] A planning method for the fusion evolution and SAT solution of chip routing layout includes the following steps:

[0012] T1. Obtain the conjunctive normal form of the chip wiring layout problem, define the encoding rules of individuals based on the conjunctive normal form, and define the hyperparameters required for the evolutionary algorithm to run.

[0013] Conjunctive Normal Form (CNF) is also known as the conjunctive normal form.

[0014] An individual refers to a chromosome in the evolutionary algorithm. In this invention, each chromosome individual, after encoding, corresponds to one possible solution for the chip wiring layout. Based on the mapping relationship between chromosome individuals and chip wiring layouts, the encoding and decoding of chromosome individuals can be achieved.

[0015] Furthermore, the conjunctive normal form includes several Boolean variables; the individual encoding rule is as follows: the individual is encoded as a binary string, the number of bits in the binary string is the same as the number of Boolean variables, and the value of each bit corresponds to the assignment of a Boolean variable. "Several" refers to any number of variables.

[0016] T2, hyperparameters include multiple ones; based on the different values ​​of each hyperparameter, multiple sets of different parameter combinations are generated in stages; the performance of the parameter combinations is evaluated using a simplified evolution process to obtain a performance score; the optimal parameter combination is selected based on the performance score; the simplified evolution process includes shortening the iteration cycle and simplifying the fitness calculation process;

[0017] The purpose of simplifying the evolution process is to quickly evaluate the impact of the current parameter combination on the algorithm's efficiency and accuracy, thereby selecting a better hyperparameter configuration to achieve multiple optimization goals such as improving solution efficiency, ensuring solution quality, enhancing algorithm stability, and improving resource utilization.

[0018] T3. Based on the optimal parameter combination and individual encoding rules, generate multiple individuals, initialize the population, and iteratively evolve the population. In the evolutionary algorithm, the iterative evolution process includes selecting individuals in the population for crossover and mutation operations to generate new individuals and update the population.

[0019] Specifically, the fitness value of an individual is calculated based on the objective function. Using roulette wheel selection, two individuals are chosen for crossover. During crossover, a random number is generated. If this random number is less than the crossover rate of the current variable, the values ​​of the two parent individuals for that variable are swapped; otherwise, they remain unchanged. This process is repeated for all variables to obtain two new individuals. Each new individual is then mutated. Each variable in the individual and its current value is iterated over, and a random number is generated. If this random number is less than the mutation rate corresponding to the current value of the variable, the variable is randomly changed to another value; otherwise, it remains unchanged. After crossover and mutation, the generated new individuals are added to the population, and the population is updated.

[0020] Alternatively, based on an individual's fitness value, poorly fit individuals can be removed from the current population to maintain population size and preserve good solutions.

[0021] In each iteration, the conflicting clauses are counted, the frequency of each variable is recorded, and the conflict contribution of the variable is calculated based on the frequency to adjust the crossover rate of the variable; for each assignment of each variable, the contribution of the objective function is calculated to adjust the mutation rate of the variable under different assignments.

[0022] A clause is a disjunctive expression composed of a finite number of literals connected by a logical "OR" operator, and is a fundamental building block in Conjunctive Normal Form (CNF). A literal is the smallest unit constituting a logical constraint; it can be a Boolean variable or the negation of a variable. A conflicting clause is one in which all literals are evaluated as false under the current partial assignment. The determination of conflicting clauses can be achieved using the CDCL algorithm of the SAT solver. SAT stands for "Boolean Satisfiability Problem." The SAT solver is a computational tool used to determine the Boolean satisfiability of a logical formula. Its task is to automatically determine whether there exists a set of variable assignments that make the entire formula true, given a logical formula composed of Boolean variables (true / false). The SAT solver is widely used in chip verification, software testing, automated planning, and other fields, and is an important fundamental tool in computer science.

[0023] This invention proposes a differentiated crossover and mutation strategy. Its core idea is to assign independent crossover and mutation rates to each variable for each value, rather than using uniform probability values ​​as in traditional methods. Specifically, each individual in the population is encoded to correspond to a specific value of each variable in the constraint satisfaction problem, and each variable and its value are associated with a set of dynamically adjusted evolutionary parameters.

[0024] During the population's iterative evolution, the system continuously monitors the generation of conflict clauses. When a variable frequently appears in a conflict clause, it indicates that the variable is a key point of contention in the current constraint system and has a significant impact on problem solving. In this case, the system will correspondingly increase the crossover rate of that variable, allowing it to gain more recombination opportunities during the evolutionary process, thereby accelerating the search for critical solution regions. This crossover rate adjustment mechanism based on conflict contribution enables the evolutionary search to focus on the problem's difficulties, effectively avoiding wasting computational resources on non-critical variables.

[0025] Simultaneously, the system also evaluates the merits of each variable's value from the perspective of the objective function. For a specific value of a variable, if it has significantly contributed to improving the objective function value in historical iterations, the mutation rate of that value is appropriately reduced to protect superior gene fragments; conversely, if a value frequently leads to a decrease in the objective function value, its mutation rate is increased to encourage the search to escape unfavorable regions. This differentiated adjustment of the mutation rate based on the objective function's contribution achieves a fine balance between "development" and "exploration" during the search process, maintaining both the ability to locally mine high-quality solutions and preserving population diversity, preventing premature entrapment in local optima.

[0026] Through the aforementioned dual differential parameter adjustment mechanism, this method can adaptively guide the evolutionary direction, achieve synergistic optimization between constraint satisfaction and objective optimization, and significantly improve the solution efficiency and solution quality of complex constrained optimization problems.

[0027] T4. During the iteration process, key information of individuals in each generation of the population is collected. Among them, the key information is the selection and assignment of variables based on the contribution of conflict and the contribution of the objective function. In the population, for individuals that do not satisfy the conjunction paradigm, the key information is used for targeted repair.

[0028] T5. After the iteration is completed, verify whether each individual in the population satisfies the conjunction normal form and remove invalid individuals that do not satisfy the conjunction normal form; evaluate the quality of the remaining individuals and generate evaluation results; select individuals to add to the global optimal solution set based on the evaluation results; decode the individuals in the global optimal solution set, generate chip wiring layout schemes and output them.

[0029] Furthermore, the individual code is substituted into the conjunctive normal form variables for logical evaluation. If the result is 1 / True, it means that the constraint is satisfied and the individual is a satisfyable solution; if the result is 0 / False, it means that the constraint is not satisfied.

[0030] Furthermore, the multi-objective values ​​of individuals are calculated based on the multi-objective function; the multi-objective values ​​are the evaluation results; non-dominated solutions are selected from the individuals based on the multi-objective values ​​to obtain the Pareto front, which constitutes the global optimal solution set.

[0031] As a further optimization of the above scheme, in T1, a multi-objective function is constructed; in T5, the evaluation is to calculate the fitness value of the individual using the multi-objective function; the fitness value is the evaluation result.

[0032] A multi-objective function is a function that considers multiple conflicting sub-objectives in an optimization problem. Each sub-objective can be computed to obtain a target value, which corresponds to the fitness evaluation of an individual under the current objective.

[0033] Optionally, in T3, based on the function values ​​of each sub-objective in the multi-objective function, the overall fitness value of an individual can be calculated using a preset strategy, such as a weighted summation of the values ​​of each sub-objective. This overall fitness value, combined with roulette wheel selection, enables the selection of individuals within the population.

[0034] As a further optimization of the above scheme, the sub-objectives of the multi-objective function include: the perimeter of a single network in the chip layout, the total perimeter of the chip layout, and the number of violations of non-overlapping constraints.

[0035] The chip layout includes several grids, each grid containing several chip units; the perimeter of a single grid in the chip layout is the perimeter of the smallest enclosing rectangle of the chip units within the grid.

[0036] The total perimeter is the sum of the perimeters of the individual networks of the plurality of networks;

[0037] The non-overlapping constraint means that any two chip cells cannot occupy the same space area in the chip layout, that is, they must be separated from each other in the horizontal or vertical direction; the number of violations is the number of chip cells that violate the non-overlapping constraint.

[0038] "Layout" refers to the process of determining the specific location of each component or functional module on the chip substrate during the physical design of integrated circuits.

[0039] "Network" specifically refers to the on-chip network architecture used for high-speed communication between various functional modules within a chip.

[0040] The number of non-overlapping constraint violations refers to the number of times the current layout scheme violates the constraint that "components cannot overlap" in a layout problem.

[0041] Specifically, the first The first network Each chip unit is denoted as , The coordinates of the lower left corner are , The length and width are respectively denoted as and ;No. The number of chip units within a network is denoted as In the calculation of the perimeter of a single network, the first... The perimeter of a network is recorded as follows: ,but: .

[0042] That is, calculate the rightmost position of the chip unit within the network. The minimum width of the network can be obtained by selecting the leftmost position of the chip unit within the network and subtracting the two. The minimum height can be obtained in the same way. Then, the perimeter of the minimum enclosing rectangle of the chip unit within the network can be calculated, which is the perimeter of a single network.

[0043] Specifically, the total number of the networks is denoted as The total perimeter The calculation method is as follows: .

[0044] Let the total number of the chip units be , , They represent the first one. indivual, The; the Each chip unit is denoted as The corresponding coordinates, length, and width are respectively , , ;

[0045] The non-overlapping constraint is then expressed as: ,Right now:

[0046] Based on the non-overlapping constraint, it can be determined whether two chip cells violate the constraint by comparing their geometric parameters.

[0047] As a further optimization of the above scheme, the hyperparameters include crossover rate, mutation rate, population size, and number of iterations; the performance evaluation includes calculating the reverse generation distance (IGD) and hypervolume (HV); the smaller the IGD value and the larger the HV, the better the performance of the parameter combination.

[0048] In the field of evolutionary computation, Integral Gravity Decomposition (IGD) measures the convergence and distribution of the solution set by calculating the average minimum Euclidean distance between each reference point on the real Pareto front and the solution set obtained by the algorithm. The smaller the value of this index, the more uniformly the solution set approximates the real front, and the better the overall performance of the algorithm. Hybrid Vibration (HV), on the other hand, evaluates the convergence and diversity of the solution set by calculating the hypervolume of the region dominated by the solution set and the preset reference points. The larger the value of this index, the wider the dominant region occupied by the solution set in the target space, and the higher the overall quality of the solution.

[0049] As a further optimization of the above scheme, in T2, a value range is set for each hyperparameter; the stage includes two parts, namely grid search and random search.

[0050] The grid search involves dividing each value into multiple discrete values; and arbitrarily combining the multiple discrete values ​​of the multiple hyperparameters to generate the parameter combination.

[0051] The random search involves randomly sampling within the value range of each hyperparameter to generate the parameter combination.

[0052] As a further optimization of the above scheme, the conflict contribution is calculated as follows:

[0053] ;

[0054] in, The first term in the conjunctive normal form represents the first term. The first variable, that is, the first variable in the wiring layout problem. The decision variable is the nth Boolean variable in the conjunction normal form; express The degree of contribution to the conflict; This indicates the total number of variables that appear in the conflicting clause; This represents the set of all conflicting clauses within the same iteration round. One of the conflicting clauses, express The length of the conflicting clause. The number of variables included; For indicator functions, representing variables Is it in It appeared in the middle. When, it represents a variable. exist Appeared in; When, it represents a variable. exist It did not appear in the text.

[0055] As a further optimization of the above scheme, the contribution of the objective function is calculated as follows:

[0056] ;

[0057] in, The first term in the conjunctive normal form represents the first term. One variable, express The specified assignment; express Contribution of the objective function at time;

[0058] This indicates the number of sub-objectives in the multi-objective function; express At that time, the first The positive change in each sub-objective; for The range of values; Indicates in When assigning a value within the range, the first The maximum positive change of each sub-objective.

[0059] As a further optimization of the above scheme, for a variable, the greater the contribution of the conflict, the greater its crossover rate; for a variable's assigned value, the greater the contribution of the objective function, the smaller the mutation rate.

[0060] Specifically, the methods for adjusting the crossover rate include: linear calculation based on the conflict contribution, with a higher crossover rate for higher conflict contribution; or normalizing the conflict contribution and mapping it proportionally to a preset crossover rate range; or dividing the conflict contribution into discrete levels, with different levels corresponding to different crossover rate values; or ranking the variables based on their conflict contribution, assigning higher crossover rates to variables ranked higher.

[0061] The methods for adjusting the mutation rate include: performing an inverse linear calculation based on the contribution of the objective function, where the higher the contribution, the lower the mutation rate; or using a piecewise function, where different contribution intervals correspond to different mutation rates; or using an exponential decay method, where the mutation rate decreases exponentially as the contribution increases; or assigning differentiated mutation rates to multiple values ​​of the same variable according to their contribution, with the value with the highest contribution having the lowest mutation rate.

[0062] As a further optimization of the above scheme, the variables are sorted in descending order according to the conflict contribution, and the preceding variables with a specified proportion after sorting are recorded as key variables; the key information includes the key variables;

[0063] The targeted repair includes applying a variable heuristic strategy to the individual, i.e., adjusting the individual's assignment to the key variable.

[0064] As a further optimization of the above scheme, the values ​​of the variables are sorted in descending order according to their contribution to the objective function, and the first-order values ​​of a specified proportion after sorting are recorded as key values; the key information includes the key values.

[0065] The targeted repair includes implementing a phase heuristic strategy on the individual, that is, adjusting the assignment of variables according to the key assignment.

[0066] Specifically, the targeted repair operation is implemented by invoking the satisfiability sampler. A satisfiability sampler is an algorithm or tool primarily used in probabilistic programming and Bayesian inference.

[0067] Understandably, variable heuristic strategies aim to identify key variables causing conflict by analyzing individuals with chromosomes that do not conform to constraints, thereby clarifying the targets for targeted repair.

[0068] The phase-heuristic strategy is used to calculate the contribution of different values ​​of key variables to satisfying constraints, and to determine key values ​​accordingly, providing specific value guidance for targeted repair.

[0069] This invention achieves efficient targeted repair of individuals that do not meet constraints by extracting and applying key information (including key variables and key assignments).

[0070] This invention provides a planning method for chip routing layout. By integrating evolutionary algorithms and SAT solving techniques, and introducing a differentiated crossover mutation strategy based on conflict contribution and objective function contribution, it achieves an efficient solution to the chip routing layout problem.

[0071] Compared with the prior art, the present invention has the following beneficial effects:

[0072] (1) By dynamically adjusting the crossover rate and mutation rate of each variable under different assignments, the evolutionary search can focus on key contradictions, which significantly improves the solution efficiency and convergence speed for complex constraints.

[0073] (2) Targeted repair of individuals that do not meet the constraints is performed using key information, which effectively avoids blind search and improves the overall quality of the population and the proportion of feasible solutions;

[0074] (3) This invention introduces phased hyperparameter optimization and simplified evolution pre-evaluation. Through a strategy of combining grid search and random search, it takes into account both global coverage of the parameter space and local fine exploration. While ensuring the quality of the solution, it significantly reduces the computational overhead caused by unreasonable parameter settings, and enhances the stability and adaptability of the algorithm.

[0075] (4) The final multi-objective Pareto optimal solution set can provide a variety of trade-off schemes for chip wiring layout, meet different design requirements, and has high engineering practical value. Attached Figure Description

[0076] Figure 1 This is a general flowchart of a planning method for chip routing layout fusion evolution and SAT solution provided by an embodiment of the present invention;

[0077] Figure 2 This is a flowchart of obtaining the optimal parameter combination provided in an embodiment of the present invention;

[0078] Figure 3 This is a flowchart of the iterative evolution provided in the embodiments of the present invention. Detailed Implementation

[0079] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions in the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0080] like Figures 1 to 3 As shown, this embodiment provides a planning method for the fusion evolution and SAT solution of chip routing layout, including the following steps:

[0081] T1. Obtain the conjunctive normal form of the chip routing layout problem, define the encoding rules for individuals and construct a multi-objective function based on the conjunctive normal form, and define the hyperparameters required for the evolutionary algorithm to run. Specifically, the conjunctive normal form includes several Boolean variables; the individual encoding rule is as follows: individuals are encoded as binary strings, the number of bits in the binary string is the same as the number of Boolean variables, and the value of each bit corresponds to the assignment of a Boolean variable.

[0082] In this embodiment, the obtained conjunctive normal form is: Then the coding structure of an individual chromosome is: Specifically, such as .

[0083] In this embodiment, the sub-objectives of the multi-objective function include: the perimeter of a single network in the chip layout, the total perimeter of the chip layout, and the number of violations of non-overlapping constraints.

[0084] In chip layout, there are several nets, and each net contains several chip cells; the perimeter of a single net in the chip layout is the perimeter of the smallest enclosing rectangle of the chip cells within that net. Specifically, the... The first network Each chip unit is denoted as , The coordinates of the lower left corner are , The length and width are respectively denoted as and ;No. The number of chip units within a network is denoted as In the calculation of a single network perimeter, the first... The perimeter of a network is recorded as follows: ,but: .

[0085] That is, calculate the rightmost position of the chip unit within the network. The minimum width of the network can be obtained by selecting the leftmost position of the chip unit within the network and subtracting the two. The minimum height can be obtained in the same way. Then, the perimeter of the minimum enclosing rectangle of the chip unit within the network can be calculated, which is the perimeter of a single network.

[0086] The total perimeter is the sum of the perimeters of the individual networks. Specifically, the total number of networks is denoted as... Total perimeter The calculation method is as follows: .

[0087] The no-overlap constraint means that no two chip cells can occupy the same space in the chip layout; that is, they must be separated from each other in the horizontal or vertical direction. The number of violations is the number of chip cells that violate the no-overlap constraint. Specifically, let the total number of chip cells be... , , They represent the first one. indivual, The; the Each chip unit is denoted as The corresponding coordinates, length, and width are respectively , , ;

[0088] Then the non-overlapping constraint is expressed as ,Right now:

[0089] Based on the non-overlapping constraint, by comparing the geometric parameters of two chip cells, it can be determined whether they violate the constraint, and then the number of chip cells that violate the non-overlapping constraint can be counted.

[0090] T2. Hyperparameters include crossover rate, mutation rate, population size, and number of iterations, with crossover rate and mutation rate being the core variables. A range of values ​​is set for each hyperparameter.

[0091] Based on the different values ​​of each hyperparameter, multiple different parameter combinations are generated in stages. In this embodiment, the stages include two parts: grid search and random search. Grid search involves dividing each value into multiple discrete values ​​and arbitrarily combining the multiple discrete values ​​of multiple hyperparameters to generate parameter combinations. Random search involves randomly sampling within the value range of each hyperparameter to generate parameter combinations.

[0092] A simplified evolutionary process is used to evaluate the performance of parameter combinations and obtain a performance score. This simplified process includes shortening the iteration cycle and simplifying the fitness calculation. In this embodiment, the performance evaluation includes calculating the inverse generation distance (IGD) and hypervolume (HV). A smaller IGD value and a larger HV value indicate better performance of the parameter combination. IGD is calculated by measuring the average minimum Euclidean distance between each reference point on the true Pareto front and the solution set obtained by the algorithm, thus comprehensively measuring the convergence and distribution of the solution set. A smaller IGD value indicates that the solution set approximates the true front while being more evenly distributed, resulting in better overall algorithm performance. HV is calculated by measuring the hypervolume of the region dominated by the solution set obtained by the algorithm and the preset reference points, simultaneously evaluating the convergence and diversity of the solution set. A larger HV value indicates that the solution set occupies a wider dominant region in the target space, resulting in higher overall solution quality.

[0093] The optimal parameter combination is selected based on the performance score; the crossover rate and mutation rate are used as the initial values ​​for the evolutionary stage.

[0094] T3. Based on the optimal parameter combination and individual encoding rules, multiple individuals are generated to initialize the population, and the population is iteratively evolved. In the evolutionary algorithm, the iterative evolution process includes selecting individuals in the population for crossover and mutation operations to generate new individuals and update the population.

[0095] Specifically, the fitness value of an individual is calculated based on the objective function, and two individuals are selected for crossover using the roulette wheel selection method. Then, the overall fitness value of the individual is obtained by weighted summation based on the function values ​​of each sub-objective in the multi-objective function.

[0096] During crossover, a random number is generated. If the random number is less than the crossover rate of the current variable, the values ​​of the two parent individuals in that variable are swapped; otherwise, they remain unchanged. This process is repeated for all variables to obtain two new individuals. Subsequently, each new individual is mutated. Each variable in the individual and its current value are traversed, and a random number is generated. If the random number is less than the mutation rate corresponding to the current value of the variable, the variable is randomly changed to another value; otherwise, it remains unchanged. After the crossover and mutation are completed, the generated new individuals are added to the population, and the population is updated.

[0097] In addition, based on the individual's fitness value, inferior individuals with poor fitness are removed from the current population in order to maintain the population size and retain good solutions.

[0098] In each iteration, the conflicting clauses are counted, the frequency of each variable is recorded, and the conflict contribution of the variable is calculated based on the frequency to adjust the crossover rate of the variable. For each assignment of each variable, the contribution of the objective function is calculated to adjust the mutation rate of the variable under different assignments.

[0099] In this embodiment, the conflict contribution is calculated as follows:

[0100] ;

[0101] in, The first term in the conjunctive normal form The first variable, that is, the first variable in the wiring layout problem. The decision variable is the nth Boolean variable in the conjunction normal form; express The degree of contribution to the conflict; Indicates the total number of variables that appear in the conflict clause; This represents the set of all conflicting clauses within the same iteration round. One of the conflicting clauses, express The length of the conflicting clause. The number of variables included; For indicator functions, representing variables Is it in It appeared in the middle. When, it represents a variable. exist Appeared in; When, it represents a variable. exist It did not appear in the text.

[0102] In this embodiment, the contribution of the objective function is calculated as follows:

[0103] ;

[0104] in, The first term in the conjunctive normal form One variable, express The specified assignment; express Contribution of the objective function at time;

[0105] Indicates the number of sub-objectives in a multi-objective function; express At that time, the first The positive change in each sub-objective; for The range of values; Indicates in When assigning a value within the range, the first The maximum positive change of each sub-objective.

[0106] In this embodiment, for a variable, the greater the contribution of the conflict, the greater its crossover rate; for a variable's assigned value, the greater the contribution of the objective function, the smaller the mutation rate.

[0107] Specifically, the crossover rate is calculated using a set of pre-defined discrete values. Variables ranked higher based on their contribution to the conflict are assigned a higher crossover rate. For example, the calculated crossover rate is obtained from the variables... , , The conflict contributions are 0.7, 0.25, and 0.05, respectively, so the crossover rates are set to 0.7, 0.2, and 0.1, respectively.

[0108] The adjustment method for the rate of variation is similar. For example, if the variable is calculated... , The objective function contributions are 0.7 and 0.3, respectively. Therefore, the mutation rates are set to 0.1 and 0.9, respectively.

[0109] T4. During the iteration process, key information of individuals in each generation of the population is collected; among them, the key information is the selection and assignment of variables based on the contribution of conflict and the contribution of the objective function.

[0110] In this embodiment, key information includes key variables and key assignments. Specifically, variables are sorted in descending order based on their contribution to the conflict, and the top 30% of variables after sorting are designated as key variables; the assignments of variables are sorted in descending order based on their contribution to the objective function, and the top 30% of assignments after sorting are designated as key assignments.

[0111] Within the population, for individuals that do not satisfy the conjunction paradigm, targeted repair is performed using key information. Targeted repair includes implementing variable heuristics on the individual, i.e., adjusting the individual's assignment to the key variable. Targeted repair also includes implementing phase heuristics on the individual, i.e., adjusting variable assignments based on the key assignment.

[0112] Specifically, the targeted repair operation is implemented by invoking the satisfiability sampler. A satisfiability sampler is an algorithm or tool primarily used in probabilistic programming and Bayesian inference.

[0113] Understandably, variable heuristic strategies aim to identify key variables causing conflict by analyzing individuals with chromosomes that do not conform to constraints, thereby clarifying the targets for targeted repair.

[0114] The phase-heuristic strategy is used to calculate the contribution of different values ​​of key variables to satisfying the constraints, and to determine the key values. This provides specific value guidance for targeted repair, that is, it guides the solver to try variable values ​​that are consistent with the key values ​​in order to obtain individuals that satisfy the constraint formula.

[0115] For example, the population individuals in this embodiment include and The identified conflict clauses include and Based on the calculation of conflict contribution, the key variables are: The key assignment value is obtained based on the contribution of the objective function. and Therefore, targeted repair was performed on the two individuals to obtain... and .

[0116] This invention achieves efficient targeted repair of individuals that do not meet constraints by extracting and applying key information (including key variables and key assignments).

[0117] T5. After the iteration is complete, for each individual in the population, verify whether it satisfies the conjunctive normal form (CNF), and remove invalid individuals that do not satisfy the CNF. Specifically, substitute the individual's code into the variables of the CNF and perform logical evaluation. If the result is 1 / True, it means that the constraint is satisfied, and the individual is a satisfyable solution; if the result is 0 / False, it means that the constraint is not satisfied.

[0118] The quality of the remaining individuals is evaluated to generate evaluation results; individuals are selected to be added to the global optimal solution set based on the evaluation results; specifically, multiple sub-objective values ​​of an individual are calculated based on the multi-objective function, which are the evaluation results; non-dominated solutions are screened among the individuals based on the multiple sub-objective values ​​to obtain the Pareto front, which constitutes the global optimal solution set.

[0119] Decode the individuals in the global optimal solution set to generate and output the chip wiring layout scheme.

[0120] Based on the disclosure and teachings of the foregoing specification, those skilled in the art can make changes and modifications to the above embodiments. Therefore, the present invention is not limited to the specific embodiments disclosed and described above, and some modifications and changes to the present invention should also fall within the protection scope of the claims of the present invention. Furthermore, although some specific terms are used in this specification, these terms are only for convenience of explanation and do not constitute any limitation on the present invention.

Claims

1. A planning method for integrated evolution and SAT solution of chip wiring layout, characterized in that, Includes the following steps: T1. Obtain the conjunctive normal form of the chip routing layout problem, define the encoding rules of individuals based on the conjunctive normal form; define the hyperparameters required for the evolutionary algorithm to run; construct a multi-objective function; The sub-objectives of the multi-objective function include: the perimeter of a single grid in the chip layout, the total perimeter of the chip layout, and the number of violations of non-overlapping constraints; The chip layout includes several grids, each grid containing several chip units; the perimeter of a single grid in the chip layout is the perimeter of the smallest enclosing rectangle of the chip units within the grid. The total perimeter is the sum of the perimeters of the individual networks of the plurality of networks; The non-overlapping constraint means that no two chip units can occupy the same space area in the chip layout; the number of violations is the number of chip units that violate the non-overlapping constraint. T2, hyperparameters include multiple parameters; based on the different values ​​of each hyperparameter, multiple sets of parameter combinations are generated in stages; the performance of the parameter combinations is evaluated using a simplified evolution process to obtain a performance score; the optimal parameter combination is selected based on the performance score; the simplified evolution process includes shortening the iteration cycle and simplifying the fitness calculation process; T3. Based on the optimal parameter combination and individual encoding rules, generate multiple individuals, initialize the population, and iteratively evolve the population. In each iteration, the conflicting clauses are counted, the frequency of each variable is recorded, and the conflict contribution of the variable is calculated based on the frequency to adjust the crossover rate of the variable; for each assignment of each variable, the contribution of the objective function is calculated to adjust the mutation rate of the variable under different assignments. T4. During the iteration process, key information of individuals in each generation of the population is collected. Among them, the key information is the selection and assignment of variables based on the contribution of conflict and the contribution of the objective function. In the population, for individuals that do not satisfy the conjunction paradigm, the key information is used for targeted repair. T5. After the iteration is completed, for each individual in the population, verify whether it satisfies the conjunction normal form and remove invalid individuals that do not satisfy the conjunction normal form; evaluate the quality of the remaining individuals; the evaluation is to calculate the fitness value of the individual using a multi-objective function, and the fitness value is used as the evaluation result. Based on the evaluation results, individuals are selected to be added to the global optimal solution set; the individuals in the global optimal solution set are decoded to generate and output the chip wiring layout scheme.

2. The planning method for fusion evolution and SAT solution of chip wiring layout according to claim 1, characterized in that, The hyperparameters include crossover rate, mutation rate, population size, and number of iterations; the performance evaluation includes calculating the reverse generation distance (IGD) and hypervolume (HV); the smaller the IGD value and the larger the HV, the better the performance of the parameter combination.

3. The planning method for integrated evolution and SAT solution of chip wiring layout according to claim 2, characterized in that, In T2, a value range is set for each hyperparameter; the stage includes two parts: grid search and random search. The grid search involves dividing each value into multiple discrete values; and arbitrarily combining the multiple discrete values ​​of the multiple hyperparameters to generate the parameter combination. The random search involves randomly sampling within the value range of each hyperparameter to generate the parameter combination.

4. The planning method for fusion evolution and SAT solution of chip routing layout according to claim 1, characterized in that, The calculation of the conflict contribution is as follows: ; in, The first term in the conjunctive normal form represents the first term. One variable; express The degree of contribution to the conflict; This indicates the total number of variables that appear in the conflicting clause; This represents the set of all conflicting clauses within the same iteration round. One of the conflicting clauses, express Length; For indicator functions, representing variables Is it in It appeared in the middle.

5. The planning method for fusion evolution and SAT solution of chip routing layout according to claim 1, characterized in that, The contribution of the objective function is calculated as follows: ; in, The first term in the conjunctive normal form represents the first term. One variable, express The specified assignment; express Contribution of the objective function at time; This indicates the number of sub-objectives in the multi-objective function; express At that time, the first The positive change in each sub-objective; for The range of values; Indicates in When assigning a value within the range, the first The maximum positive change of each sub-objective.

6. The planning method for fusion evolution and SAT solution of chip routing layout according to claim 1, characterized in that, For a variable, the greater the contribution of the conflict, the greater its crossover rate; for a variable with a specified assignment, the greater the contribution of the objective function, the smaller the mutation rate.

7. The planning method for fusion evolution and SAT solution of chip wiring layout according to claim 1, characterized in that, The variables are sorted in descending order according to their contribution to the conflict, and the variables preceding the sorted variables by a specified proportion are designated as key variables; the key information includes the key variables. The targeted repair includes applying a variable heuristic strategy to the individual, i.e., adjusting the individual's assignment to the key variable.

8. The planning method for fusion evolution and SAT solution of chip routing layout according to claim 1, characterized in that, The values ​​of the variables are sorted in descending order according to their contribution to the objective function, and the first-order values ​​with a specified proportion after sorting are recorded as key values; the key information includes the key values. The targeted repair includes implementing a phase heuristic strategy on the individual, that is, adjusting the assignment of variables according to the key assignment.

Citation Information

Patent Citations

  • Digital chip layout wiring global optimization method and system

    CN116341480A

  • Standard cell layout generation with applied artificial intelligence

    US20220027546A1