A method for constructing the minimum Steiner tree with limited length based on multi-subgroup competitive PSO

Through multi-subgroup competition PSO algorithm and extreme barrier-through and double refining strategies, the problems of insufficient utilization of internal wiring space and local optimality of traditional PSO algorithms are solved, and the optimization of wiring length and efficient utilization of resources are achieved, and chip quality and algorithm performance are improved.

CN115630605BActive Publication Date: 2025-08-22FUZHOU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210833830.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-14
Publication Date
2025-08-22
Estimated Expiration
2042-07-14

AI Technical Summary

Technical Problem

The prior art is difficult to effectively utilize the wiring space inside the obstacle, resulting in excessive wiring length, signal attenuation or distortion. At the same time, traditional PSO algorithms are prone to fall into local optimality when building a limited length X-structure Steiner minimum tree, making it difficult to meet the VLSI physical design needs with exponentially increasing complexity.

Method used

A method based on multi-subgroup competition PSO is adopted, combined with the ultimate barrier-through strategy and the double refining strategy, through multi-subgroup division, linear incremental subgroup scale and information sharing rate control, combined with competition mechanism and discrete operation, the particle update formula is optimized, and the extreme barrier-through and double refining strategies are designed, so as to make full use of the wiring resources inside the obstacles and shorten the wiring length.

Benefits of technology

Effectively shorten the length of the wiring bus, improve chip quality, meet complexity requirements, avoid signal attenuation, optimize the utilization of wiring resources, and improve the optimization ability and convergence of the algorithm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115630605B_ABST
    Figure CN115630605B_ABST
Patent Text Reader

Abstract

This invention provides a method for constructing a length-limited X-structured Steiner minimum tree based on a multi-subgroup competitive PSO algorithm. The method comprises the following steps: Step 1: Loading circuit data; Step 2: Entering the MSCPSO search phase; Step 3: Applying a limit obstacle penetration strategy; Step 4: Applying a double refinement strategy; Step 5: Outputting the LRXSMT routing scheme as the routing solution and terminating the algorithm. This technical solution can fully utilize the routing resources within obstacles, effectively shortening routing lengths.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of integrated circuit computer-aided design, in particular to a method for constructing a length-limited X-structured Steiner minimum tree based on a multi-subgroup competition PSO. Background Art

[0002] As the scale of very large-scale integration (VLSI) technology expands, chip density increases dramatically, functionality becomes increasingly complex, and an increasing number of components (such as intellectual property protection modules, macrocells, and pre-routed wire nets) are integrated onto a single chip. During the overall routing phase of VLSI physical design, these components, which cannot be moved during routing, are considered obstacles and become a factor that cannot be ignored. Previous routing algorithms that ignored obstacles are no longer able to meet the demands of actual chip design. Some researchers have studied routing around obstacles, where the routing edges completely bypass obstacles and connect wire nets. However, in actual multi-layer routing, obstacles only occupy the device layer and certain underlying metal layers, meaning that there is still routable area within the obstacle and routing is not completely blocked. However, excessively long wires within the obstacle can cause noise problems, potentially attenuating or distorting signals during transmission. To avoid signal attenuation or distortion, repeaters are generally used to regenerate and amplify the signal. Furthermore, because the obstacle already occupies the device layer, repeaters cannot be placed within the obstacle. Therefore, the length of the wires within the obstacle must be limited so that the signal can reach the outside of the obstacle before distortion occurs. In summary, studying the problem of wiring with limited length can ensure timing convergence, effectively shorten the wiring bus length, save wiring resources, and thus improve chip quality.

[0003] The optimal connection model for routing multi-terminal nets is the Steiner Minimum Tree (SMT). In SMT construction, the interconnection model for routing edges is typically a right-angle structure, meaning routing can only be done in 0° or 90° directions. However, the limited routing directions of right-angle structures limit the solution space for SMT problems, and optimization of the important metric of line length has reached a bottleneck. Compared to traditional right-angle structures, emerging non-right-angle structures, represented by the X-architecture, allow routing in four directions: 0°, 90°, 45°, and 135°. This expands the search space for SMT solutions and is more conducive to reducing routing resource redundancy, optimizing line length, and lowering interconnect delay. With advances in VLSI chip manufacturing processes, the X-architecture has been successfully applied to SMT construction, becoming a research hotspot for overall routing algorithms. However, only a limited amount of work has investigated the length-restricted X-architecture Steiner Minimum Tree (LRXSMT).

[0004] Previous research often used precise algorithms to construct SMT. While these algorithms can guarantee accurate optimal solutions, their high complexity makes them difficult to solve large-scale wiring problems. Later, researchers attempted to construct SMT using traditional heuristic algorithms, but these often employed greedy strategies, making them prone to local optima and struggling to find higher-quality solutions. This approach, however, could not meet the demands of the exponentially growing complexity of VLSI physical design. Consequently, researchers have focused their attention on swarm intelligence algorithms. In nature, individuals often achieve intelligent collective behavior through simple interactions. Swarm intelligence (SI) algorithms are intelligent computing technologies designed to mimic this biological phenomenon, offering new solutions to complex optimization problems. Among these, particle swarm optimization (PSO), a representative SI algorithm, stands out among numerous SI technologies due to its limited control parameters, simple implementation, and strong optimization capabilities. It has been applied to VLSI wiring problems, hoping to overcome the bottlenecks of traditional wiring algorithms. However, when applying PSO to the LRXSMT problem, PSO has the problem of premature convergence due to loss of diversity and fails to fully utilize the wiring space inside the obstacle. The performance of the algorithm has a lot of room for improvement. Summary of the Invention

[0005] In view of this, the object of the present invention is to provide a method for constructing a length-limited X-structured Steiner minimum tree based on multi-subgroup competitive PSO, so as to fully utilize the routable resources inside the barrier and effectively shorten the wiring length.

[0006] To achieve the above object, the present invention adopts the following technical solution: a method for constructing a length-limited X-structured Steiner minimum tree based on multi-subgroup competitive PSO, which is characterized by comprising the following steps:

[0007] Step 1: Load circuit data;

[0008] Step 2: Enter the MSCPSO search phase;

[0009] Step 3: Use the extreme obstacle penetration strategy;

[0010] Step 4: Use a double refinement strategy:

[0011] Step 5: Output LRXSMT as the routing scheme and end the algorithm.

[0012] In a preferred embodiment, step 2 includes:

[0013] Step 2.1: Based on the X structure, use Prim's algorithm to generate an initial wiring tree as the initial population;

[0014] Step 2.2: If mod(it,t) == 0, the subgroup is in a new iteration sub-period and proceeds to step 2.3; otherwise, proceeds to step 2.4.

[0015] Step 2.3: Determine the number and size of subgroups according to formulas (1)-(2), and randomly select particles from the population to form subgroups;

[0016] The formula for calculating the subgroup size is as follows:

[0017]

[0018] Where size represents the subgroup size, its represents the set maximum number of iterations, it represents the current number of iterations, and t is the pre-set sub-period of subgroup iterations. After determining the subgroup size, the number of subgroups k is calculated according to the following formula:

[0019]

[0020] Step 2.4: If mod(it, R) == 0, information exchange between subgroups is required, and proceed to step 2.5; otherwise, proceed to step 2.6; use the linearly decreasing information sharing rate R to control information exchange between subgroups, and its calculation formula is as follows:

[0021]

[0022] Among them, R max and R min Represent the maximum and minimum frequencies of information sharing, respectively;

[0023] Step 2.5: Shuffle and reorganize the subgroups, while keeping the number and size of subgroups unchanged;

[0024] Step 2.6: For each subgroup, randomly select two particles in the subgroup to compete, and select the one with the smaller fitness value as the winner, and the one with the larger fitness value as the loser;

[0025] Update the optimal particle individual pbest;

[0026] Step 2.7: Update the population optimal gbest;

[0027] Step 2.8. If the termination condition of MSCPSO is met, that is, the set maximum number of iterations is reached, go to step 3; otherwise, continue the MSCPSO search.

[0028] In a preferred embodiment, step 3 includes:

[0029] Step 3.1: For the gbest obtained by MSCPSO, traverse each edge in its wiring tree. If any edge violates the constraint, go to step 3.2, otherwise go to step 4;

[0030] Step 3.2: Remove the edges that violate the constraints, select PS points inside or on the edge of the obstacle and connect them to form new routing edges; if each edge satisfies the constraints, proceed to step 4.

[0031] In a preferred embodiment, step 3 includes:

[0032] Step 4.1: For each pin, find a subtree with a depth of 2 and use point refinement to obtain the PS point combination with the longest shared length.

[0033] Step 4.2: Sort each subtree by shared length from shortest to longest;

[0034] Step 4.3: For the first 50% of subtrees, perform edge refinement on them to obtain a new structure that minimizes the wiring tree length and satisfies the constraints.

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

[0036] 1. Introducing the concept of multiple subgroups, the algorithm randomly divides the population into multiple subgroups. A linearly increasing subgroup size strategy is then used to reduce the number of subgroups as iterations increase, until they merge into a single population in the later stages of iteration. This subgrouping approach allows the algorithm to focus on exploration capabilities in the early stages and enhance development capabilities in the later stages. A linearly decreasing information sharing strategy is proposed. During the independent search process of subgroups, the subgroups are disrupted and reorganized using a linearly decreasing information sharing rate, thereby maintaining the "liveliness" of particles within the subgroups and enabling timely sharing of internal information between subgroups.

[0037] 2. Based on the multi-subgroup PSO algorithm and incorporating the concept of a competition mechanism, we propose the MSCPSO strategy. This strategy first pairs particles within the subgroup to compete and determine winners and losers. It then redefines the particle update formula, assigning different learning objects to the two types of particles, thus avoiding the lack of diversity caused by overly simple learning objects.

[0038] 3. Considering that LRXSMT is a discrete problem, we discretize MSCPSO by adding a mutation crossover operator targeting Steiner points and edge structures to more efficiently construct LRXSMT. In addition, we use different learning methods for loser particles and winner particles to achieve a good balance between exploration and exploitation.

[0039] 4. For the routing tree obtained by MSCPSO, an extreme obstacle-penetration strategy is designed. Violating routing edges are removed and appropriate pseudo-Steiner points are selected as intermediate nodes on the edge or inside the obstacle to form new routing edges. Routing edges either bypass or pass through the obstacle and reach the outside of the obstacle before violating the constraints. This ensures that the routing tree fully meets the length constraints and maximizes the length inside the obstacle, fully utilizing the routing space inside the obstacle.

[0040] 5. A dual refinement strategy is proposed. First, by refining the point selection in the Steiner tree, the routing method of each edge is adjusted. Under the premise of satisfying the constraints, the shared length between routing edges is maximized (the total length does not repeat the shared edge segments), thereby further shortening the total length. On this basis, if the local topology structure in the routing tree cannot achieve the purpose of point refinement, it is refined based on the edge structure. In other words, the routing edges in the local topology are attempted to be removed and a new routing tree with a different edge structure is regenerated. While ensuring that the constraints are satisfied, an XSMT with minimized wire length is obtained. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 A schematic diagram of a competition mechanism according to a preferred embodiment of the present invention;

[0042] Figure 2Schematic diagram of four wiring methods according to a preferred embodiment of the present invention;

[0043] Figure 3 A schematic diagram of a mutation operation for edge learning according to a preferred embodiment of the present invention;

[0044] Figure 4 Schematic diagram of crossover operation for edge learning according to a preferred embodiment of the present invention;

[0045] Figure 5 A schematic diagram of a variation operation for point learning according to a preferred embodiment of the present invention;

[0046] Figure 6 A schematic diagram of a crossover operation for point learning according to a preferred embodiment of the present invention;

[0047] Figure 7 A schematic diagram of a constraint violation wiring edge according to a preferred embodiment of the present invention;

[0048] Figure 8 Schematic diagram of the extreme obstacle penetration strategy of a preferred embodiment of the present invention, where (a) represents the connection pb1, (b) represents the connection b′1c1, (c) represents the connection c1b2, and (d) represents the connections b2c3 and c3q;

[0049] Figure 9 Schematic diagram of the point refinement strategy of a preferred embodiment of the present invention, where (a) represents the selection of 4 PS points of ac, and (b) represents the shared edge of ac and ab;

[0050] Figure 10 Schematic diagram of edge refinement strategy in a preferred embodiment of the present invention, wherein (a) represents the wiring tree, (b) represents the refinement PS point selection, and (c) represents the refinement edge structure;

[0051] Figure 11 Flowchart of a preferred embodiment of the present invention. DETAILED DESCRIPTION

[0052] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0053] It should be noted that the following detailed descriptions are illustrative and intended to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the present application belongs.

[0054] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application; as used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprise" and / or "include" are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or their combinations.

[0055] A method for constructing a Steiner minimum tree with a limited length based on multi-subgroup competition PSO, see Figures 1 to 11 , including the following steps:

[0056] Step 1: Load circuit data;

[0057] Step 2: Enter the MSCPSO search phase;

[0058] Step 3: Use the extreme obstacle penetration strategy;

[0059] Step 4: Use a double refinement strategy:

[0060] Step 5: Output LRXSMT as the routing scheme and end the algorithm.

[0061] The following are specific instructions:

[0062] 1. Multi-subgroup strategy:

[0063] A challenging task of PSO is how to balance exploration and exploitation capabilities, which is also the key to improving PSO's optimization ability. Since exploration will inhibit the convergence of the population, and exploitation will often cause the population to hastily gather in non-optimal areas, neither can be overemphasized. However, traditional PSO often lacks exploration capabilities due to lack of diversity, resulting in the inability to search for the area where the optimal solution is located, and thus the inability to exploit the optimal solution area. To enhance the exploration capability, this paper introduces the idea of ​​multiple subgroups, dividing the entire population into k subgroups of equal size S = {S1, S2, ..., S k}, particles are updated within their respective subgroups to maintain a certain diversity.

[0064] However, if the algorithm continues to search for the optimal solution in the form of multiple subgroups throughout the entire iterative process, then in the later stages of the iteration, when the algorithm has found the area where the optimal solution is located, it is unable to combine the strengths of all subgroups to develop the optimal solution, resulting in insufficient development capabilities and still being unable to find a better solution. In order to balance exploration and development capabilities, the present invention proposes a strategy of linearly increasing the size of the subgroup. This strategy expands the size of the subgroup as the number of iterations increases. The number of particles in the population remains unchanged, and the more particles in the subgroup, the smaller the number of subgroups. The formula for calculating the subgroup size is as follows:

[0065]

[0066] Where size represents the subgroup size, its represents the maximum number of iterations, it represents the current number of iterations, and t is the pre-set sub-period of subgroup iterations. To avoid excessive algorithm exploration caused by too small a subgroup size or too many subgroups, this paper sets its to 800 and t to 200. After determining the subgroup size, the number of subgroups k is calculated according to the following formula:

[0067]

[0068] However, in the iterative sub-cycle, the independent search of the solution space by the subgroups may lead to insufficient information exchange between the subgroups, thus making the algorithm unable to fully utilize the excellent information found. To this end, the present invention uses a linearly decreasing information sharing rate R

[29] to control the information exchange between the subgroups, which is calculated as follows:

[0069]

[0070] Among them, R max and R min Represent the maximum and minimum frequencies of information sharing, respectively. Information sharing involves reorganizing subgroups (without changing their size), allowing them to both obtain optimization information from other subgroups and disseminate their own optimization information. Furthermore, within an iterative subcycle t, as R decreases linearly, information exchange between subgroups becomes increasingly frequent, facilitating timely exchange of optimization information in the later stages of the subcycle.

[0071] 2. Competition mechanism:

[0072] Traditional PSOs have the pain point of being easily trapped in local optima. This is largely due to the fact that during the information sharing process, the population allows all particles to learn from the same global historical optimum (gbest). If gbest is near the local optimum, when all particles, led by gbest, approach the local optimal area, the population will easily fall into the local optimum and find it difficult to escape. To avoid this risk, the present invention adds the idea of ​​a competition mechanism to the multi-subgroup system. Through competition, the subgroups are divided into two types of particles, winners and losers, and different social learning objects are assigned to each type, thus avoiding premature convergence due to overly simple learning objects. The greatly increased population diversity helps the algorithm find the true global optimal solution.

[0073] Specifically, let the population S={s1,s2,…,s n}, in subgroup s iIn (i∈N), two particles are randomly selected and their fitness values ​​are compared. The smaller the fitness, the shorter the Steiner tree line corresponding to the particle, and the particle is the winner, and the other is the loser. In the process of realizing individual cognition, regardless of the winner or the loser, they still learn from their pbest, thereby maintaining their own excellent search history to a certain extent. In the process of realizing social cognition, since the winner has better quality, the loser is allowed to learn from the winner, and the winner learns from gbest. This means that even if PSO incorporates the idea of ​​multiple subgroups, the algorithm of the present invention still does not allow the subgroup to be completely restricted to the field of the subgroup and unable to perceive the optimization information from gbest. Half of the particles in the subgroup learn from gbest, and will learn the excellent genes from gbest to a certain extent, so that the algorithm will not lead to poor convergence due to excessive exploration, and effectively achieve a balance between exploration and development. As Figure 1 As shown in the figure, the population is divided into three subgroups, each with 10 particles. The algorithm of the present invention selects particles a1 and b1 from subgroup s1 to compete. Since b1 has a better fitness value, b1 is the winner and a1 is the loser. a1 learns from b1, and b1 learns from gbest. The selected particle pairs (a2, b2) and (a3, b3) in subgroups s2 and s3 perform the same competition and learning.

[0074] After using the competition mechanism, half of the particles in the population (losers) will achieve their social cognition by learning from the better-quality particles (winners) in their subgroup, thereby improving the diversity of the population. The early iteration can slow down the speed of particles' convergence to the global optimum, which helps prevent the algorithm from falling into the local optimum too early. The other half of the particles in the population are not restricted by the subgroup's domain and continue to learn from the gbest. Each subgroup can maintain contact with the global optimum during the independent iteration process, thus ensuring convergence.

[0075] 3. MSCPSO discretization:

[0076] (1) Objective function

[0077] The optimization goal of LRXSMT is to minimize the total length cost while satisfying the length constraint. The total length is the sum of the lengths of all edge segments in a Steiner tree, and its calculation formula is as follows:

[0078]

[0079] where e i Refers to the kth edge segment in the wiring tree T, l(e i ) is edge e i length.

[0080] Considering the randomness of MSCPSO, during the iteration process, the Steiner tree may have routing edges that violate the constraints, that is, the routing edge length exceeds the length limit. In order to avoid violations as much as possible during the iteration process, the algorithm penalizes the edges that violate the constraints when calculating the length cost and designs the following fitness function:

[0081]

[0082] p j =1+(l j -L t )×w (6)

[0083] Where n represents the total number of edges that violate the constraint in the Steiner tree, p j is the penalty coefficient, w∈(0,1) is the adjustment parameter, which is adjusted according to the size of the problem, l j represents the length of the jth edge that violates the length limit and goes around the obstacle, and L t Represents a given threshold (i.e., the maximum length an edge can travel around a single obstacle).

[0084] (2) Particle encoding

[0085] In order to more effectively represent the corresponding XSMT with particles, the present invention selects the edge-point pair encoding method to encode particles. There is a Steiner tree containing n pins and n-1 routing edges, where each edge of the tree is selected by its starting pin, ending pin and PS point connecting the two pins (such as Figure 2 As shown, the four PS point selections correspond to the four routing methods of the X structure. The quality of the routing tree is reflected by the fitness value. Therefore, the complete encoding length of a particle is 3 × (n-1) + 1. A Steiner tree based on the edge pair encoding can be represented as follows. 562 672 722 740 732 133 21

[0087] Among them, the substring of length 3 corresponds to an edge in the Steiner tree, such as ' 740 ' indicates that pin 7 and pin 4 are connected by selecting 0. The bold number '21' at the end is the fitness value of the Steiner tree.

[0088] (3) Update process

[0089] Because this invention incorporates the concepts of multiple subgroups and competition into PSO, the particle update process differs significantly from traditional PSO. Furthermore, the algorithm allows lower-quality losers to explore while higher-quality winners to exploit. This dynamic balance between exploration and exploitation is achieved through the different update operations of the two types of particles, achieving a dynamic balance between exploration and exploitation for subgroups and even the entire population. Furthermore, the continuous update formula is no longer applicable to the discrete LRXSMT problem, requiring discretization. To address this, the present invention proposes a new update formula.

[0090] Specifically, the present invention uses a point-based update operation for the winner and an edge-based update operation for the loser. The discretized winner update formula is shown in (7), and the loser update formula is shown in (8):

[0091]

[0092]

[0093] Where ω is the inertia weight, and c1 and c2 are acceleration factors. Based on the update operations for different types of particles, the present invention redefines the various components in the update formula, where LF1, LF2, and LF3 represent the individual cognition and social cognition components for the loser particles, respectively; and WF1, WF2, and WF3 represent the inertia component, individual cognition, and social cognition components for the winner particles, respectively.

[0094] 1) Loser update process

[0095] a. Inertia component

[0096] The present invention implements the WF1 component by introducing a mutation operation for the edge, which is expressed as follows:

[0097]

[0098] Among them, M p () is the edge mutation operation, r1 is a random number in [0,1), and ω determines The probability of performing edge mutation, After LF1, the particles are obtained

[0099] When the random number r1<ω, the algorithm Perform edge mutation operation, otherwise, keep Specifically, the algorithm randomly deletes An edge in the wiring tree is routed, thus generating two subtrees. Subsequently, the algorithm selects a pin from each of the two subtrees and preferentially selects the routing method of PS 0 or PS 1 with a greater probability to connect the two pins, thus generating a new Steiner tree. Figure 3As shown, the edge (312) in the Steiner tree is deleted. The algorithm selects pins 3 and 7 in the two formed subtrees and connects them in the routing manner of PS 0 to form a new edge (730).

[0100] b. Individual cognitive component

[0101] The present invention realizes the LF2 component by introducing an edge crossover operation, which is expressed as follows:

[0102]

[0103] where C p () is the edge crossover operation, is W l t the crossover learning object, that is, the individual historical optimum of the loser particle, r2 is a random number within [0, 1), and c1 determines the probability of l t W performing an edge crossover with l t The particle obtained after passing through LF2 is

[0104] When the random number r2 < c1, the algorithm performs an edge crossover operation on W l t Otherwise, W l t remains unchanged. Assuming that the edge set of W l t is E = {e1, e2,..., e n-1}, and the edge set of its learning object is The algorithm traverses the two routing trees to find the common edge set (the pins at both ends of the edge are the same) and the different edge sets between them. Subsequently, the algorithm uses the edges in the common edge set as the initial edges of and continuously randomly selects edges from the different edge sets to add to until

[0105] c. Social cognitive component

[0106] [[ID=�8]]The present invention realizes the LF3 component by introducing a point crossover operation, which is expressed as follows:

[0107]

[0108] where C p () is the same edge crossover operation as the individual cognitive component, is Cross-learning object, that is, the winner particle in the pairing competition, r3 is a random number in [0,1), c3 determines and The probability of making an edge crossing,through, After LF3, the updated loser particles are obtained by Figure 4 For example, the algorithm first finds and The same edge of (that is, the bold edge in the figure) and retain it until In, and then from Select edge (863) from Select edge (522) to join Thus forming a new Steiner tree.

[0109] 2) Winner update process

[0110] a. Inertia component

[0111] The present invention implements the WF1 component by introducing a crossover operation for edges, which is expressed as follows:

[0112]

[0113] Among them, C v () is the edge crossing operation, r4 is a random number in [0,1), and ω determines The probability of performing edge mutation, After WF1, particles are obtained

[0114] When the random number r1<ω, the algorithm Perform point mutation operation, otherwise, keep Specifically, the present invention adopts a two-point mutation operation, that is, randomly selecting two edges of the Steiner tree and changing its PS point selection. Figure 5 For example, the algorithm selection and change the routing of PS 3 and PS 2 to PS 2 and PS 0.

[0115] b. Individual cognitive component

[0116] The present invention implements the WF2 component by introducing a crossover operation for edges, which is expressed as follows.

[0117]

[0118] Among them, C v () is the point crossover operation, is the cross-learning object, i.e., the historical optimal solution of the winner particle, r5 is a random number within [0, 1), and c1 determines the probability of performing point crossover with After passing through WF2, the particle

[0119] When the random number r5 < c1, the algorithm performs the point crossover operation; otherwise, it remains unchanged. Specifically, the algorithm randomly selects a continuous edge interval [E s , E e that needs to be crossed and finds the corresponding edge interval [E s p , E e p . Then, the algorithm uses the PS point selection on each edge in [E s p, E e p to replace the PS point selection on the corresponding edge. Taking Figure 6 as an example, the algorithm selects the edge interval (522210142480) of and determines the corresponding edge interval (522213232373), i.e., the bold edges in the two Steiner trees; then, it <o:p>learns the PS point selection of the same edges in the two edge intervals to obtain a new routing method (522213).

[0120] c. Social cognitive component

[0121] The present invention realizes the WF3 component by introducing a crossover operation for edges, which is expressed as follows:

[0122]

[0123] where C v () is the same point crossover operation as the individual cognitive component part, X g is the cross-learning object, i.e., the global historical optimum, r6 is a random number within [0, 1), and c2 determines the probability of g performing point crossover with X After passing through WF3, the updated winner particle <00:00399>The specific point crossover method is similar to the above and will not be elaborated. <00004D1>4. Extreme obstacle-passing strategy:

[0125] In order to make the wiring tree fully meet the length limit and make full use of the wiring space inside the obstacle, the present invention designs an extreme obstacle penetration strategy. Figure 7 For the default routing edge pq in , the algorithm first removes pq, takes p as the starting node s, sorts the obstacles from near to far according to the distance between the obstacle center and s, and processes the obstacles in order.

[0126] Next, select the corner point c1 closest to the straight line in O1 as the new terminal node e, and make a 45° (or 135°) structural wiring from the starting node s to e. The wiring edge intersects with the obstacle at points a1 and b1, as shown in Figure 8(a). Since the length of the line segment a1b1 exceeds the threshold L t Therefore, we select an intermediate node d in the line segment a1b1 as the PS point, and draw a right-angled edge from d to the obstacle edge where b1 is located, generating the intersection point b1'. The position of d satisfies (a1d+db1' <L t ). Then use b1' as the new starting node s, connect b1'q, select the corner point c1 closest to b1'q, and since bc1 can be directly connected, connect bc1 with a right angle side and use c1 as the new s, as shown in the following example: Figure 8 (b) shown.

[0127] Next, deal with the obstacle O2. Figure 8 As shown in (c), select the corner point c2 in O2 that is closest to the line c1q, and make a 45° (or 135°) structural wiring from c1 to c2. This side will intersect with the obstacle at points a2 and b2, as shown in the figure. Since the line length of a2b2 does not exceed L t , so keep this routing edge, and use b2 as the new starting node to connect b2q. Figure 8 As shown in (d), we select the corner point c3 closest to b2q. Since b2c3 can be directly connected, we connect b2c3 with a right-angle edge. This completes the extreme barrier rerouting in this case.

[0128] 5. Double Refining Strategy:

[0129] (1) Point Refining

[0130] The randomness of MSCPSO also means that the gbest solution it finds may be some distance away from the optimal solution. In addition, in order to reduce the line length, the present invention gives priority to the PS 0 or PS 1 routing method when constructing the wiring edge. However, in not all cases, the routing method based on the X structure is better than the right-angle structure. Figure 9 As shown in (a), a three-pin net contains pins a, b, and c. Its wiring tree contains edges ab and ac. ab is connected in the direction of PS 3, and there are four possible routing methods between ac, namely Figure 9The dashed line segment in (a). If ab is not considered, then ac can be routed in the PS 0 or PS 1 manner to obtain a shorter line length. However, in fact, considering the ab edge, ac can be routed in the PS 3 routing manner to more effectively optimize the line length. This is because when routing in PS 3, ac and ab will share a routing edge segment, that is, Figure 9 The bold dashed line segment in (b). Because shared edge segments are not counted repeatedly towards the wire length penalty, this routing tree can achieve shorter wire lengths. Therefore, the present invention designs a point refinement strategy that adjusts the PS point selection for each edge in the Steiner tree to maximize routing sharing.

[0131] First, for each pin P in the wiring tree, n}, find the pin P i For the root, P i Subtree T whose adjacent nodes are leaf nodes i , record pin P i The adjacent point set B i and the interconnected edge set E i ={e ij |j∈B,|j|<=4}. And sort all pins in descending order according to the size of their neighbor point sets.

[0132] Then, according to the sorting, traverse and adjust pin P i For each edge e in the corresponding edge set E, find the best combination of PS points that maximizes the shared length of its subtree while satisfying the constraints. i It is worth noting that if e∈E i And e∈E k , (Pin P k Sorting priority is higher than P i ), then pin P i No right to adjust e's PS point selection.

[0133] Finally, by selecting the optimal PS point selection combination, the shared length of each subtree in the wiring tree is maximized, and the total line length is optimized.

[0134] (2) Edge Refining

[0135] Point refinement only adjusts the routing of the wiring edge and cannot get rid of the limitations of the original topology. If the original topology is not the optimal topology, then no matter how the PS point selection is refined, the routing solution obtained by the algorithm will still be a distance away from the optimal solution. Figure 10Take the wiring tree in as an example. The tree contains three interconnected edges, namely ab, bd, and dc. After point refinement, the optimal PS point combination obtained by the algorithm is shown in the figure, that is, the PS point selection of bd and dc is changed from PS 3 and PS 2 to PS 0 and PS 1. Figure 10 As can be seen in the figure, the wiring length in (b) is better than that in (a), proving that point refinement has a certain effect on line length optimization. However, after refining the edge structure, the tree topology changes. As shown in the figure, the new interconnected edges are ab, bd, and bc. Furthermore, the wiring length in (c) is better than that in (b), suggesting that changing the tree topology could further reduce line length.

[0136] Therefore, on the basis of point refining, the present invention further designs edge refining.

[0137] First, each pin is sorted in ascending order according to the shared length of the local subtree obtained in the point refinement phase. For the first 50% of pins, the algorithm considers that the point refinement strategy cannot effectively optimize the length of their subtrees, and performs edge refinement on them.

[0138] Next, for each pin P i The corresponding local subtree T i , attempting to remove each interconnect edge in turn. Removing an interconnect edge splits the original wiring tree into two subtrees, T1 and T2. Randomly select a pin from each subtree, obtaining a pin pair (m, n). A random path is chosen to connect m and n, resulting in a new wiring tree topology. If this new topology allows for a shorter wire length while satisfying the constraints, the wiring tree T' is updated; otherwise, T remains unchanged.

[0139] By refining both point selection and edge structure, the Steiner tree is optimized from local interconnection details to the overall topology, thereby minimizing line length and obtaining the final LRXSMT.

[0140] 6. Overall:

[0141] The proposed method of constructing the X-structured Steiner minimum tree with limited length based on multi-subgroup competition PSO optimizes the total length of the wiring under the premise of meeting the length limit. Figure 11 As shown, the steps are as follows:

[0142] Step 1. Load circuit data

[0143] Step 2. Enter the MSCPSO search phase

[0144] Step 2.1. Based on the X structure, use Prim's algorithm to generate an initial wiring tree as the initial population

[0145] Step 2.2. If mod(it,t) == 0, the subgroup is in a new iterative sub-period and proceeds to step 2.3; otherwise, proceeds to step 2.4.

[0146] Step 2.3. Determine the number and size of subgroups according to formulas (1)-(2), and randomly select particles from the population to form subgroups;

[0147] Step 2.4. If mod(it, R) == 0, information exchange between subgroups is required, and then proceed to step 2.5; otherwise, proceed to step 2.6;

[0148] Step 2.5. Shuffle and reorganize the subgroups (the number and size of subgroups remain unchanged);

[0149] Step 2.6. For each subgroup, randomly select two particles within the subgroup to compete. The one with the smaller fitness value is selected as the winner, and the one with the larger fitness value is selected as the loser. The loser is updated according to formulas (9)-(11), and the winner is updated according to formulas (12)-(14), and the individual optimal particle pbest is updated.

[0150] Step 2.7. Update the population optimal gbest.

[0151] Step 2.8. If the termination condition of MSCPSO is met (the set maximum number of iterations is reached), proceed to step 3; otherwise, continue the MSCPSO search;

[0152] Step 3. Use the extreme obstacle penetration strategy;

[0153] Step 3.1. For gbest obtained by MSCPSO, traverse each edge in its wiring tree. If there is an edge that violates the constraint, go to step 3.2, otherwise go to step 4.

[0154] Step 3.2. Remove the edges that violate the constraints. Select PS points inside or on the edge of the obstacle and connect them to form new routing edges. If all edges meet the constraints, proceed to step 4.

[0155] Step 4. Use a double refinement strategy:

[0156] Step 4.1. For each pin, find a subtree with a depth of 2 and use point refinement to obtain the PS point combination with the longest shared length.

[0157] Step 4.2. Sort each subtree by shared length from shortest to longest;

[0158] Step 4.3. For the first 50% of subtrees, perform edge refinement on them to obtain a new structure that minimizes the wiring tree length and satisfies the constraints.

[0159] Step 5. Output LRXSMT as the routing scheme and end the algorithm.

Claims

1. A method for constructing a Steiner minimum tree with a limited length based on multi-subgroup competition PSO, characterized by The steps are as follows: Step 1: Load circuit data; Step 2: Enter the MSCPSO search phase; Step 3: Use the extreme obstacle penetration strategy; Step 4: Use a double refinement strategy: Step 5: Output LRXSMT as the routing scheme and end the algorithm; The step 2 includes: Step 2.1: Based on the X structure, use Prim's algorithm to generate an initial wiring tree as the initial population; Step 2.2: If mod(it, t)==0, the subgroup is in a new iteration sub-period and proceed to step 2.3; otherwise, proceed to step 2.4; Step 2.3: Determine the number and size of subgroups according to formulas (1)-(2), and randomly select particles from the population to form subgroups; The formula for calculating the subgroup size is as follows: (1) Where size represents the subgroup size, its represents the set maximum number of iterations, it represents the current number of iterations, and t is the pre-set sub-period of subgroup iterations. After determining the subgroup size, the number of subgroups k is calculated according to the following formula: (2) Step 2.4: If mod(it, R)==0, information exchange between subgroups is required, and proceed to step 2.5; otherwise, proceed to step 2.6; use the linearly decreasing information sharing rate R to control information exchange between subgroups, which is calculated as follows: (3) in, R max and R min Represent the maximum and minimum frequencies of information sharing, respectively; Step 2.5: Shuffle and reorganize the subgroups, while keeping the number and size of subgroups unchanged; Step 2.6: For each subgroup, randomly select two particles in the subgroup to compete, and select the one with the smaller fitness value as the winner, and the one with the larger fitness value as the loser; Update the optimal particle individual pbest; Step 2.7: Update the population optimal gbest; Step 2.

8. If the MSCPSO termination condition is met, that is, the maximum number of iterations is reached, proceed to step 3. Otherwise, continue the MSCPSO search. The step 3 comprises: Step 3.1: For the gbest obtained by MSCPSO, traverse each edge in its wiring tree. If any edge violates the constraint, go to step 3.2, otherwise go to step 4; Step 3.2: Remove the edges that violate the constraints, select PS points inside or on the edge of the obstacle and connect them to form new routing edges; if each edge satisfies the constraints, proceed to step 4; The step 4 comprises: Step 4.1: For each pin, find a subtree with a depth of 2 and use point refinement to obtain the PS point combination with the longest shared length. Step 4.2: Sort each subtree by shared length from shortest to longest; Step 4.3: For the first 50% of subtrees, use edge refinement to obtain a new structure that minimizes the wiring tree length and satisfies the constraints.