CN115526140A - Global wiring method considering advanced process constraint and unit movement - Google Patents

Global wiring method considering advanced process constraint and unit movement Download PDF

Info

Publication number
CN115526140A
CN115526140A CN202211267276.7A CN202211267276A CN115526140A CN 115526140 A CN115526140 A CN 115526140A CN 202211267276 A CN202211267276 A CN 202211267276A CN 115526140 A CN115526140 A CN 115526140A
Authority
CN
China
Prior art keywords
wiring
routing
net
minimum
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211267276.7A
Other languages
Chinese (zh)
Inventor
申福恒
朱自然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN202211267276.7A priority Critical patent/CN115526140A/en
Publication of CN115526140A publication Critical patent/CN115526140A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The invention designs a global wiring method considering advanced process constraint and unit movement, which belongs to the field of integrated circuit design automation and mainly comprises the following steps: (1) For a given netlist with advanced process constraints and an initial placement and routing solution, performing power-aware routing optimization; (2) constructing a look-up table of constraint perception of the wiring layers; (3) A time sequence driven gain diagram generation method is provided based on a lookup table constructed by a preceding stage; (4) determining the sequence of the current round of unit movement; (5) According to the unit moving sequence determined by the preceding stage, executing unit movement and wire mesh part disconnecting and re-laying; (6) performing cluster movement and wire mesh part disconnection and rewiring; (7) Performing unit motion validation and net routing optimization. The invention can execute high-efficiency unit movement to effectively reduce the length of the global wiring line on the premise of considering the advanced process constraint and based on the high-precision unit position prediction algorithm provided by the method.

Description

Global wiring method considering advanced process constraint and unit movement
Technical Field
The invention relates to a global wiring method considering advanced process constraints and unit movement, and belongs to the technical field of integrated circuit design automation.
Background
The physical design of an integrated circuit is a typical NP difficult problem, and the currently mainstream method is to decompose the problem into 2 independent problems of placement and routing, and in order to reduce the difficulty of solving the placement and routing problem, a "divide and conquer" method is usually adopted to divide the two problems into the following sub-problems: global placement, legalization, detailed placement, global routing, and detailed routing. However, since the optimization goals of these problems are not completely consistent, the "divide and conquer" approach will inevitably result in a degradation of the quality of the solution. Furthermore, as various complex advanced process constraints (e.g., timing, R/C characteristics, voltage regions, etc.) are imposed in current physical designs, it becomes more challenging to make up for the gap between layout and routing while meeting the advanced process constraints.
To enhance the correlation between place and route, existing place tools typically employ different strategies to optimize routability. For example, an accurate congestion map is generated by integrating a global router in the router, and then employing efficient super-linear cell dilation techniques to alleviate routing congestion during the global floorplan. Or to optimize routability using dynamic cell expansion and congestion elimination models. However, these approaches merely guide placement based on routing congestion estimation, rather than generating routing solutions. Therefore, the difference between the layout and the wiring cannot be directly made up. Unlike routability-driven placers, there are routers that use cell-swapping techniques to improve routability during global routing.
To achieve superior performance and optimize power consumption in advanced process nodes, additional advanced process constraints/goals (i.e., layer-based power consumption, voltage region constraints, and timing) need to be further considered in current physical designs. Specifically, since the R/C characteristics of each wiring layer tend to be different, different layers of wiring may cause different power consumption. Since layout areas often have different voltage areas, cells with different voltage requirements need to be placed in specific areas. It therefore becomes very challenging to make up for the optimization objective gap between placement and routing while taking into account all of the above advanced process constraints/goals. To address this issue, there is increasing interest in supporting cell movement during the routing phase. Under the conditions of keeping good layout quality and meeting all wiring constraints, better solution quality can be realized by moving part of units in the wiring stage, and the effectiveness and robustness of the physical design method are greatly improved. Therefore, designing a global routing method that takes into account all of the above advanced process constraints and optimization objectives and can perform efficient cell movement is important to optimize the quality of the physical design solution for integrated circuits and to improve chip performance metrics.
Disclosure of Invention
The technical problem is as follows: the invention aims to provide a global wiring method considering advanced process constraints and unit movement so as to increase the relevance between layout and wiring problem optimization targets and optimize a wiring solution.
The technical scheme is as follows: the invention relates to a global wiring method considering advanced process constraint and unit movement, which comprises the following steps:
step S1: for a given netlist with advanced process constraints and an initial placement and routing solution, performing power-aware routing optimization to obtain a more optimal and converged routing result, thereby providing accurate location information for subsequent cell moves;
step S2: in order to improve the efficiency of the subsequent unit mobile position prediction process, a look-up table of wiring layer constraint perception is constructed;
and step S3: a time sequence driven gain diagram generation method is provided based on a lookup table constructed by a preceding stage;
and step S4: performing position prediction on all units based on a gain map generation method, sequencing according to the maximum movement benefit of each unit, and determining the movement sequence of the units in the current round;
step S5: according to the unit moving sequence determined by the preceding stage, executing unit moving and wire mesh part disconnecting and re-arranging;
step S6: performing clustering movement and wire mesh part disconnecting and rerouting;
step S7: performing unit movement legalization and net wiring optimization;
step S8: steps S4-S7 are repeated until the weighted bus length converges.
Wherein:
in the step S1, the power consumption-aware routing optimization method for obtaining a better and convergent routing result based on a fixed layout includes the following two steps:
firstly, processing the minimum wiring layer constraint of a wire net; first, to simplify the impact of the minimum routing layer constraint on the overall routing process, a simple and effective operation is taken to handle the minimum routing layer constraint: the method comprises the following steps of firstly projecting actual pins below a minimum wiring layer of a network onto the minimum wiring layer to form virtual pins, and then dividing a wiring path of a wire net into two parts by taking the minimum wiring layer as a boundary: a minimum layer upper connection segment set and a minimum layer lower connection segment set; in the wiring process, as long as the position of the pin under the minimum wiring layer does not change, the connection part in the connection section set under the minimum layer does not change, so that the connection part in the connection section set under the minimum layer does not need to be processed in the actual wiring process, and the actual pin on the minimum wiring layer and the virtual pin projected onto the minimum layer are connected in a wiring manner only on the premise of meeting the wiring direction constraint;
secondly, rewiring two stages of power consumption sensing nets; a two-stage wire net rewiring scheme with power consumption perception is realized to optimize an initial wiring result; firstly, decomposing all actual and virtual pins on or above a minimum wiring layer of a network into a plurality of groups of pin pairs through a right-angle Steiner minimum tree algorithm; then, generating a better 3D wiring result by using a mode wiring and layer distribution technology; secondly, a multisource and multi-sink maze routing algorithm which directly works in a 3D space is adopted, and the wiring result is further improved under the condition of considering congestion information; in the maze routing process, for each 3D lattice point u in the routing model, the cost of maze routing is calculated by formula (1), the routing cost comprises three parts of basic cost, congestion cost and overflow penalty cost,
Figure BDA0003893589070000031
wherein
Figure BDA0003893589070000032
The capacity (u) and demand (u) are respectively the net capacity of the grid point u and the currently consumed resources; alpha (alpha) ("alpha") 1 E {0,1} is a penalty factor for avoiding overflow of grid point u, and when the available routing resource of grid point u is zero, i.e. capacity (u) = demand (u), α 1 Will be 1 and the overflow penalty cost of u will be infinite.
In the step S2, since the performance of the unit moving method extremely depends on the performance of the position prediction algorithm, a method for accurately estimating the length of the wiring connecting line between any two points in the model is designed, and a lookup table of the minimum weighted wiring line length is constructed; when no wiring constraint exists in the wiring model, the minimum connection distance between any two points is the 3D Manhattan distance between them, and when the minimum layer constraint and the wiring direction constraint are applied to the model, the estimation of the minimum wiring distance becomes very difficult, and in the scene with advanced process constraint, for the calculation method of the minimum weighted wiring length between two points,
on the premise of satisfying the wiring direction constraint, a grid point u (x) is given u ,y u ,z v ),v(x v ,y v ,z v ) The weighted wire length wl (u, v, l) between these two points x ,l y ) The estimation is performed by the formula (2),
Figure BDA0003893589070000033
wherein Δ x = | x u -x v |,Δy=|y u -y v |,l x ,l y Is the routing layer, wl, at which the horizontal and vertical connections in the routing path are located z Is the weighted line length of the wiring path in the z-direction, calculated by equation (3),
Figure BDA0003893589070000034
where l = max (l) x ,l y ),z 1 =min(z u ,z v ),z 2 =max(z u ,z v );
By L H And L V Representing all wiring levels in the wiring model where the wiring direction is horizontal and vertical, respectively, the minimum weighted wiring line length connecting grid points u and v can be defined as follows,
Figure BDA0003893589070000035
obviously, traverse each group l x ,l y The minimum weighted wiring length can be obtained;
simplifying the calculation process by analyzing the characteristics of the wiring model, and simplifying the wl based on the relative position relation of the grid points u and v min The calculation cases of (u, v) are divided into the following four cases: (1) x is the number of u ≠x v ,y u ≠y v ;(2)x u =x v ,y u ≠y v ;(3)x u ≠x v ,y u =y v ;(4)x u =x v ,y u =y v The most complicated case (1) is taken as an example to illustrate our simplification;
for a given l x ∈L H ,l y ∈L V Let l be x >l y In the wiring model, power consumption is gradually reduced from a lower layer to a higher layer, and therefore
Figure BDA0003893589070000041
Thus obtaining
Figure BDA0003893589070000042
Because of formula (3), wl (u, v, l) is obtained x ,l y )≥wl(u,v,l x ,l x -1) therefore
Figure BDA0003893589070000043
Similarly, if l x <l y And the method can obtain the compound with the characteristics of,
Figure BDA0003893589070000044
from the equations (6) and (7), it can be found that the shortest weighted routing line length can be obtained by trying to traverse all the adjacent layers l, l +1 and routing, so that the time complexity of the algorithm can be greatly reduced (the time complexity after simplification is O (N) layer ) Note that if pf is present l-1 =pf l+1 If so, the traversal of the adjacent layer l, l +1 does not need to be calculated; in order to reduce redundant calculation in the process of predicting the mobile position of the unit, a lookup table mwrw of the shortest weighted routing line length, namely wl, is constructed based on the relative position information between two grid points min (u,v)=mwrw(|x u -x v |,|y u -y v |,z u Z _ v), when the minimum weighted wiring length between any two grid points needs to be required in the subsequent prediction process, the table look-up is only needed to be carried out in the table mwrw according to the four characteristics above the two points.
In step S3, based on the lookup table constructed in step S2, a time-sequence-driven gain map generation method is proposed to find a candidate position having a larger moving gain for the movable unit; in unit c i In the position prediction process, each line net connected with the unit is traversed in sequence, the reduction amount of the weighted line length of all the line nets after the unit moves to a certain position is calculated, and the variation amount is used as the movement gain of the position; to speed up the unit prediction process, only for c i Is a boundary frame of (x) l ,x r ]×[y b ,y t ]And calculating a mobile profit; for c i Processing of a connected net n, with the minimum wiring level mrl (n) of the netFor boundary, the calculation process is divided into two parts: (1) calculation under minimum routing layer: in step S1, the minimum routing layer constraint for the net is processed, and the connections below the minimum routing layer of the net are saved in the set of connection segments below the minimum layer, so we will be located at c i Initial position and c i The relevant part is connected from c i To [ x ] l ,x r ]×[y b ,y t ]For each position, calculating the reduction of the corresponding via length and storing the value in the via array; (2) calculation on minimum wiring level: firstly, c is i The pins in net n are removed from the wiring path on the minimum wiring layer, and the net is dismantled along the positions of the pins, all the grid points in the rest paths are stored in a plurality of groups rmG, and the bus length of the dismantled path is recorded as wl r (ii) a The adopted disconnecting strategy can ensure that the rest parts of the wire net are connected; traversal of x on the level of the pin using breadth-first search l ,x r ]×[y b ,y t ]And calculates the minimum connecting line length of the net to be reconnected to the rest part of the net, and stores the value in an array conWl, in the process, directly performs table lookup to obtain the connecting line length of each position to the corresponding grid point on the rest path, and finally obtains the gain graph of net n through the equation (8),
gainMap n [x,y]=(via[x][y]+wl r -conWl[x][y])×w(n) (8)
w (n) represents the weight of a net n, which is used for representing the time sequence importance of the net; c is traversed currently i Each connected net is overlapped with gainMap obtained by each net simultaneously to obtain a unit c i The mobile revenue graph of (1).
In step S4, the time-sequence-driven gain map generation method proposed in step S3 is adopted to generate a gain map for each mobile unit; then, based on the maximum movement income of each unit, all mobile units are sorted in a descending order, and the movement order of the units in the current round is preliminarily determined; however, since the estimation of the subsequent unit may become inaccurate after the previous unit moves, the subsequent unit needs to regenerate a new gain map before moving, except the first unit.
In said step S5, an attempt is made to move each cell to the appropriate position to optimize the routing result, in cell c, according to the determined cell movement sequence i During each movement attempt, the total weighted line length of all the nets connected before the movement, i.e. the total weighted line length, is calculated in advance
Figure BDA0003893589070000051
Then unit c i Removing all the net wires connected with the net wires from the wiring paths of all the net wires and placing the net wires at a target position; next, according to the dismantling conditions of different nets, adopting different net reconnection algorithms to generate a new complete wiring path; after relevant pins are removed from the wire net, (1) if the rest part comprises two or more communicated parts, the part of subtrees and the pins at the target position are reconnected by adopting multi-source multi-sink maze routing; (2) If the rest connection parts are connected, the subtree is only required to be reconnected with the target position, and the connection problem can be simplified into that of a multi-source single target; in this case, the a-algorithm is used to solve the problem, and during a-routing process, the a-cost of the searched grid point u is calculated by equation (9), and mainly consists of two parts: path cost from lattice point u to source set S p (u, s), and a cost of booting from the target grid point t to u g (t, u), the routing cost for each lattice point in the routing path from lattice point u to source set S can be calculated by equation (1):
Figure BDA0003893589070000052
wherein S belongs to S, after searching all grid points in the net boundary frame, a path with minimum cost for connecting the source set S to the target grid point t can be obtained, then a complete net wiring path is constructed by backtracking the path with minimum cost, and N belongs to N for each net i After partial rewiring, calculating the total weighted wire length of all current nets;when no overflow is generated and the reduction amount of the total weighted line length is greater than or equal to accept, the current unit layout and routing result is accepted; otherwise, unit c i Put back into place and restore N i The initial wiring path.
In the step S6, a clustering movement mode is adopted to further optimize the routing result, and a cluster is formed by using a wire mesh as a unit; for each net n, if the area of the net bounding box is not larger than the set threshold, traversing each unit related to the net n, and adding the unit into a new cluster; when a unit already belongs to a cluster, merging all units in its original cluster into the current cluster; considering that if the clusters contain too many units, the failure rate of cluster movement is increased and the time of cluster movement is obviously increased, the number of clusters needs to be strictly limited; after the clusters are generated, a position prediction algorithm similar to that in step S5 is used to select suitable candidate positions for the clusters and a wire net section rerouting procedure is performed.
In step S7, unit movement amount legalization and net final routing optimization are performed, and in the unit movement process, the number of movable units is increased by 50% in order to optimize the routing and placement scheme to a greater extent; thus, when the total number of mobile units equals the inflation value, some of the units need to be moved to their original positions to validate the maximum mobile unit number constraint; traversing all the moving units for a plurality of times and gradually moving some units back to the original positions in order to reduce the influence of the putting back operation on the whole wiring result as much as possible and keep the effectiveness of the expansion operation; in the process of putting back each round of units, whether the units are put back to the original positions or not is determined by setting an accept parameter, the accept is gradually reduced along with the iteration process, and after the legalization is finished, a multi-round multi-source multi-sink maze wiring is executed to optimize the wiring result.
In step S8, after performing the moving and legalizing processes for a plurality of times, a layout and routing result with a converged weighted line length is obtained.
Has the advantages that: the invention can execute high-efficiency unit movement to effectively reduce the length of the global wiring line on the premise of considering the advanced process constraint and the high-precision unit position prediction algorithm provided in the method on the basis of the global wiring method considering the advanced process constraint under the premise of considering the advanced process constraint, thereby effectively increasing the relevance between the optimization targets of the layout and wiring problems and making up the difference between the layout and wiring problems
Drawings
FIG. 1 is a flow chart of a global routing method of the present invention that takes into account advanced process constraints and cell movement.
Detailed Description
Example 1:
the technical scheme of the invention is explained in detail in the following with reference to the attached drawings.
The invention provides a global wiring method considering advanced process constraints and unit movement, which comprises the steps of firstly, executing power consumption sensing wiring optimization to obtain a more optimal and convergent wiring result for a given netlist with advanced process constraints and an initial layout wiring solution, thereby providing accurate position information for subsequent unit movement; and then constructing a look-up table for constraint perception of the wiring layer, and selecting a proper movement candidate position for each mobile unit by adopting a time sequence driven gain map generation method based on the constructed look-up table. In the process of optimizing the length of the wiring line by executing unit movement, position prediction needs to be executed firstly, sequencing is carried out according to the maximum movement benefit of each unit, and the order of current round unit movement is determined; then, according to the unit moving sequence determined in the previous step, unit moving, clustering moving and wire mesh part disconnecting and re-distributing are executed; finally, unit movement legalization and net wiring optimization are executed. As shown in fig. 1, the method comprises the steps of:
101, for a given netlist with advanced process constraints and an initial placement and routing solution, performing power-aware routing optimization to obtain a more optimal and converged routing result, thereby providing accurate location information for subsequent cell moves;
102, in order to improve the efficiency of the subsequent unit mobile position prediction process, constructing a look-up table of wiring layer constraint perception;
103, providing a time sequence driven gain diagram generation method based on a lookup table constructed by a preceding stage;
104, performing position prediction on all units based on a gain map generation method, sequencing according to the maximum movement benefit of each unit, and determining the movement sequence of the units in the current round;
105, executing unit movement and wire mesh part disconnecting and re-distributing according to the unit movement sequence determined by the preceding stage;
106, executing cluster movement and wire mesh part disconnection and rewiring;
107, performing unit movement validation and net routing optimization;
101, a power consumption-aware routing optimization method is proposed to obtain a better and converged routing result based on a fixed layout, comprising the following steps:
(1) Handling net minimum routing layer constraints: to simplify the impact of the minimum routing layer constraint on the overall routing process, we take a simple and efficient operation to handle the minimum routing layer constraint: we first project the actual pins below the minimum wiring level of the net onto the minimum wiring level to form virtual pins. Then, with the minimum wiring layer as a boundary, the wiring path of the net is divided into two parts: a minimum set of connection segments above the layer and a minimum set of connection segments below the layer. Obviously, in the wiring process, as long as the pin position under the minimum wiring layer does not change, the connection part in the connection segment set under the minimum layer does not change. Therefore, the part of the connection in the minimum layer lower connection segment set does not need to be processed in the actual wiring process. On the premise of meeting the wiring direction constraint, the actual pin on the minimum wiring layer is connected with the virtual pin projected on the minimum layer in a wiring mode. Through the pin projection operation, the subsequent wiring process is greatly simplified.
(2) Two-stage net rewiring with power consumption perception: a power-aware two-stage net rerouting scheme is implemented at this stage to optimize the initial routing results. The two-stage rewiring process for nets is described as follows: first, all real and virtual pins on or above the net minimum wiring level are broken down into groups of pin pairs by the orthogonal Steiner minimum tree algorithm. Then, pattern routing and layer allocation techniques are utilized to generate better 3D routing results. Secondly, a multi-source multi-sink maze routing algorithm which directly works in a 3D space is adopted, and a wiring result is further improved under the condition that congestion information is considered. In the maze routing process, for each 3D lattice point u in the routing model, the cost of maze routing is calculated by formula (1), and the routing cost comprises three parts, namely a basic cost, a congestion cost and an overflow penalty cost.
Figure BDA0003893589070000081
Wherein
Figure BDA0003893589070000082
The capacity (u) and demand (u) are respectively the net capacity of the grid point u and the currently consumed resources; alpha is alpha 1 E {0,1} is a penalty factor to avoid overflow of grid point u, α is when the available routing resource of grid point u is zero, i.e., capacity (u) = demand (u) = and 1 will be 1 and the overflow penalty cost of u will be infinite.
102, since the performance of the cell moving method is extremely dependent on the performance of the position prediction algorithm, it is very important to design a method of accurately estimating the length of the wiring connection line between any two points in the model. Based on this, we build a look-up table of the minimum weighted routing wire length. When there is no wiring constraint in the wiring model, the minimum connection distance between any two points is the 3D manhattan distance between them, and when we apply the minimum layer constraint and wiring direction constraint to the model, the estimation of the minimum wiring distance becomes very difficult. In practical placement and routing problems, attempting to route to a higher level often results in greater line length and reduced gain for some critical nets, since the wires in the upper level metal layers in the routing model are typically thicker and have lower power consumption. We next present our calculation method for the minimum weighted routing line length between two points in this scenario with advanced process constraints.
On the premise of satisfying the wiring direction constraint, a grid point u (x) is given u ,y u ,z v ),v(x v ,y v ,z v ) A weighted routing line length wl (u, v, l) between these two points x ,l y ) The estimation can be made by the equation (2),
Figure BDA0003893589070000083
where Δ x = | x u -x v |,Δy=|y u -y v |,l x ,l y Is the wiring level in which the horizontal and vertical connections in the wiring path are located. wl z Is the weighted line length of the wiring path in the z-direction, which can be calculated by equation (3),
Figure BDA0003893589070000084
where l = max (l) x ,l y ),z 1 =min(z u ,z v ),z 2 =max(z u ,z v )。
We use L H And L V Representing all wiring levels in the wiring model where the wiring direction is horizontal and vertical, respectively, the minimum weighted wiring line length connecting grid points u and v can be defined as follows,
Figure BDA0003893589070000091
obviously, traverse each group l x ,l y The minimum weighted wiring line length can be obtained. Since enumerating all cases and calculating is a very time-consuming operation (time complexity is probably as much as
Figure BDA0003893589070000092
) Therefore, the calculation process is simplified by analyzing the characteristics of the wiring model. Based on the relative position of grid points u and v, we will refer to wl min The calculation cases of (u, v) are divided into the following four cases: (1) x is the number of u ≠x v ,y u ≠y v ;(2)x u =x v ,y u ≠y v ;(3)x u ≠x v ,y u =y v ;(4)x u =x v ,y u =y v . We will illustrate our simplification by taking the most complex case (1) as an example.
For a given l x ∈L H ,l y ∈L V Let l be x >l y In the wiring model, power consumption is gradually reduced from a lower layer to a higher layer, and therefore
Figure BDA0003893589070000093
Can therefore obtain
Figure BDA0003893589070000094
Because of formula (3), wl (u, v, l) is obtained x ,l y )≥wl(u,v,l x ,l x -1) therefore
Figure BDA0003893589070000095
Similarly, if l x <l y And the method can obtain the compound with the characteristics of,
Figure BDA0003893589070000096
from the equations (6) and (7), we can try to traverse all the adjacent layers l, l +1 and perform the routing, so as to obtain the shortest weighted routing line length, and thus the time complexity of the algorithm is greatly reduced (the simplified time complexity is O (N) layer )). Need toIt is to be noted that if pf is l-1 =pf l+1 Then the traversal of the adjacent layer l, l +1 does not need to be calculated. In order to reduce redundant calculation in the process of predicting the mobile position of the unit, a lookup table mwrw of the shortest weighted routing line length is constructed based on the relative position information between two grid points, namely wl min (u,v)=mwrw(|x u -x v |,|y u -y v |,z u Z _ v), when the minimum weighted wiring length between any two grid points needs to be obtained in the subsequent prediction process, the table look-up is only carried out in the table mwrw according to the four characteristics above the two points.
In 103, based on the lookup table constructed in step S2, we propose a time-sequence driven gain map generation method to find a candidate position with a larger moving gain for the movable unit. In unit c i In the position prediction process, each connected net is traversed in turn, the reduction of the weighted line length of all nets after the unit moves to a certain position is calculated, and the change is used as the movement gain of the position. To speed up the unit prediction process, we only work on c i Boundary box of (2) [ x ] l ,x r ]×[y b ,y t ]Is evaluated and a mobile revenue is calculated. For c i The processing process of the connected net n takes the minimum wiring layer mrl (n) of the net as a boundary, and the calculation process is divided into two parts: (1) calculation under minimum routing layer: in step S1, we process the minimum wiring level constraint for nets, and the connections below the minimum wiring level of nets are saved in the minimum lower connection segment set, so we will be located at c i Initial position and c i The relevant part is connected from c i To [ x ] l ,x r ]×[y b ,y t ]Calculating the reduction of the length of the corresponding through hole and storing the value in a via array at each position; (2) calculation on minimum wiring level: we first start with c i Pins in net n are removed from the routing path on the smallest routing layer and nets are torn down along the locations of the pins. All lattice points in the remnant path are saved in the array rmG, and the path is torn downIs denoted as wl r (ii) a The employed disconnect strategy will ensure that the rest of the net is connected. Next, we use breadth-first search to traverse the level of the pin at [ x [ ] l ,x r ]×[y b ,y t ]And calculating the minimum connecting line length of the net to be reconnected to the rest part of the net, and storing the value in an array conWl. Finally, we get the gain diagram of net n by equation (8),
gainMap n [x,y]=(via[x][y]+wl r -conWl[x][y])×w(n) (8)
w (n) represents the weight of net n, which characterizes the timing importance of this net. C is traversed currently i Each connected net is overlapped with the gainMap obtained by each net simultaneously to obtain a unit c i The mobile revenue graph of (1).
At 104, we adopt the timing-driven gain map generation method proposed in step S3 to generate a gain map for each mobile unit. Then, based on the maximum moving profit of each unit, all the mobile units are sorted in descending order, and the moving order of the unit in the current round is preliminarily determined. However, since the estimation of the subsequent unit may become inaccurate after the previous unit moves, the subsequent unit needs to regenerate a new gain map before moving, except the first unit.
In 105, we try to move each cell to the appropriate position to optimize the routing result, according to the cell movement order determined in step S4. In unit c i During each movement attempt, we calculate the total weighted line length of all the nets connected before the movement in advance, i.e. the total weighted line length
Figure BDA0003893589070000101
Next we will use unit c i Removed from the routing paths of all nets that it connects to and placed at the target location. Next, we will adopt different nets according to the different net removal situationsThe net reconnect algorithm generates a new complete wiring path. After the relevant pins are removed from the net, (1) if the rest part comprises two or more connected parts, the part of subtree and the pins at the target position are reconnected by adopting multi-source multi-sink maze wiring; (2) If the rest of the connection parts are connected, the sub-tree is only required to be reconnected with the target position, and then the connection problem can be simplified into a multi-source single-target connection problem. In this case, we use the a algorithm to solve this problem. In the routing process of a, the cost of a of the searched grid point u is calculated by using the formula (9), and the cost mainly comprises two parts: path cost from grid point u to source set S p (u, s), and a cost of booting from the target grid point t to u g (t, u), the routing cost for each lattice point in the routing path from lattice point u to source set S can be calculated by equation (1).
Figure BDA0003893589070000111
Wherein S belongs to S, and after searching all grid points in the net boundary frame, we can obtain a path with the minimum cost for connecting the source set S to the target grid point t. We then construct a complete net wiring path by backtracking the least cost path. In the case of N ∈ N for each net i After performing the partial rewiring, we will calculate the total weighted wire length for all nets currently. When no overflow occurs and the total weighted wire length reduction is greater than or equal to accept, we will accept the current cell placement and routing results. Otherwise, we will handle unit c i Put back into place and recover N i The initial routing path of (2).
In 106, we adopt a cluster moving mode to further optimize the routing result, and we form clusters by taking a wire net as a unit. For each net n, if the area of the net bounding box is not greater than the threshold we set, we will traverse each cell associated with it and add that cell to a new cluster. Note that when a unit already belongs to a cluster, we will merge all units in its original cluster into the current cluster. Considering that clusters if too many units are included will increase the failure rate of cluster movement and significantly increase the time of cluster movement, the number of clusters needs to be strictly limited. After generating the clusters, we will use a location prediction algorithm similar to that in step S5 to select suitable candidate locations for the clusters and perform the wire net section rewiring process. g is a radical of formula
In 107, cell movement amount legalization and net final routing optimization are performed. During cell movement, we have expanded the number of movable cells by 50% for a greater degree of optimization of the place and route scheme. Thus when the total number of mobile units equals the inflation value, we need to move some of the units to their original positions to legalize the maximum mobile unit number constraint. To minimize the impact of the replace operation on the overall wiring result while maintaining the effectiveness of our inflate operation, we traverse all the moved cells multiple times and gradually move some cells back to their original positions. In each round of unit replacement process, we decide whether to replace the unit to the original position by setting an accept parameter, and the accept is gradually reduced along with the iteration process. After the legalization is finished, multi-round multi-source multi-sink maze wiring is executed to optimize a wiring result.
Those of ordinary skill in the art will understand that: although the present invention has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that modifications may be made to the embodiments described above, or equivalents may be substituted for elements thereof. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (9)

1. A global routing method that takes into account advanced process constraints and cell movement, the method comprising the steps of:
step S1: for a given netlist with advanced process constraints and an initial placement and routing solution, performing power-aware routing optimization to obtain a more optimal and converged routing result, thereby providing accurate location information for subsequent cell movements;
step S2: in order to improve the efficiency of the subsequent unit mobile position prediction process, a look-up table of wiring layer constraint perception is constructed;
and step S3: based on a lookup table constructed at a previous stage, a time sequence driven gain diagram generation method is provided;
and step S4: performing position prediction on all units based on a gain map generation method, sequencing according to the maximum movement benefit of each unit, and determining the movement sequence of the units in the current round;
step S5: according to the unit moving sequence determined by the preceding stage, executing unit moving and wire mesh part disconnecting and re-arranging;
step S6: performing clustering movement and wire mesh part disconnecting and rerouting;
step S7: performing unit movement legalization and net wiring optimization;
step S8: steps S4-S7 are repeated until the weighted bus length converges.
2. The global routing method of claim 1, wherein the global routing method takes into account advanced process constraints and cell movement, further comprising: in the step S1, the power consumption-aware routing optimization method for obtaining a better and convergent routing result based on a fixed layout includes the following two steps:
firstly, processing the minimum wiring layer constraint of a wire net; first, to simplify the impact of the minimum routing layer constraint on the overall routing process, a simple and efficient operation is taken to handle the minimum routing layer constraint: the method comprises the following steps of firstly projecting actual pins below a minimum wiring layer of a network onto the minimum wiring layer to form virtual pins, and then dividing a wiring path of a wire net into two parts by taking the minimum wiring layer as a boundary: a minimum layer upper connection segment set and a minimum layer lower connection segment set; in the wiring process, as long as the position of the pin under the minimum wiring layer does not change, the connection part in the connection section set under the minimum layer does not change, so that the connection part in the connection section set under the minimum layer does not need to be processed in the actual wiring process, and the actual pin on the minimum wiring layer and the virtual pin projected onto the minimum layer are connected in a wiring manner only on the premise of meeting the wiring direction constraint;
secondly, rewiring two stages of power consumption sensing nets; a two-stage wire net rewiring scheme with power consumption perception is realized to optimize an initial wiring result; firstly, decomposing all actual and virtual pins on or above a minimum wiring layer of a network into a plurality of groups of pin pairs through a right-angle Steiner minimum tree algorithm; then, generating a better 3D wiring result by using a mode wiring and layer allocation technology; secondly, a multisource and multi-sink maze routing algorithm which directly works in a 3D space is adopted, and the wiring result is further improved under the condition of considering congestion information; in the maze routing process, for each 3D lattice point u in the routing model, the cost of maze routing is calculated by formula (1), the routing cost comprises three parts of basic cost, congestion cost and overflow penalty cost,
Figure FDA0003893589060000021
wherein
Figure FDA0003893589060000022
The capacity (u) and demand (u) are respectively the net capacity of the grid point u and the currently consumed resources; alpha is alpha 1 E {0,1} is a penalty factor to avoid overflow of grid point u, α is when the available routing resource of grid point u is zero, i.e., capacity (u) = demand (u) = and 1 will be 1 and the overflow penalty cost of u will be infinite.
3. The global routing method considering APC (advanced process control) constraints and cell movement as claimed in claim 1, wherein in said step S2, since the performance of the cell movement method is extremely dependent on the performance of the position prediction algorithm, a method for accurately estimating the routing connection line length between any two points in the model is designed, and a lookup table of the minimum weighted routing line length is constructed; when no wiring constraint exists in the wiring model, the minimum connection distance between any two points is the 3D Manhattan distance between them, and when the minimum layer constraint and the wiring direction constraint are applied to the model, the estimation of the minimum wiring distance becomes very difficult, and in this scenario with advanced process constraints, for the calculation method of the minimum weighted wiring length between two points,
on the premise of satisfying the wiring direction constraint, a grid point u (x) is given u ,y u ,z v ),v(x v ,y v ,z v ) A weighted routing line length wl (u, v, l) between these two points x ,l y ) The estimation is performed by the formula (2),
Figure FDA0003893589060000023
wherein Δ x = | x u -x v |,Δy=|y u -y v |,l x ,l y Is the wiring level, wl, at which the horizontal and vertical connections in the wiring path are located z Is the weighted line length of the wiring path in the z direction, calculated by equation (3),
Figure FDA0003893589060000024
where l = max (l) x ,l y ),z 1 =min(z u ,z v ),z 2 =max(z u ,z v );
By L H And L V Representing all wiring levels in the wiring model in which the wiring direction is horizontal and vertical, respectively, the minimum weighted wiring line length connecting lattice points u and v can be defined as follows,
Figure FDA0003893589060000025
obviously, traverse each group l x ,l y The minimum weighted wiring length can be obtained;
simplifying the calculation process by analyzing the characteristics of the wiring model, and simplifying the wl based on the relative position relation of the grid points u and v min The calculation cases of (u, v) are divided into the following four cases: (1) x is the number of u ≠x v ,y u ≠y v ;(2)x u =x v ,y u ≠y v ;(3)x u ≠x v ,y u =y v ;(4)x u =x v ,y u =y v The most complicated case (1) is taken as an example to illustrate our simplified operation;
for a given l x ∈L H ,l y ∈L V Let l be x >l y In the wiring model, power consumption is gradually reduced from a lower layer to a higher layer, and therefore
Figure FDA0003893589060000031
Thus obtaining
Figure FDA0003893589060000032
Because of formula (3), wl (u, v, l) is obtained x ,l y )≥wl(u,v,l x ,l x -1) therefore
Figure FDA0003893589060000033
Similarly, if l x <l y And the method can obtain the compound with the characteristics of,
Figure FDA0003893589060000034
from equations (6) and (7), it can be found that the shortest summation can be obtained by trying to traverse all adjacent layers l, l +1 and routingThe wiring length is weighted, so that the time complexity of the algorithm is greatly reduced (the time complexity after simplification is O (N) layer ) Note that if pf is present l-1 =pf l+1 If so, traversing the adjacent layers l and l +1 without calculation; in order to reduce redundant calculation in the process of predicting the mobile position of the unit, a lookup table mwrw of the shortest weighted routing line length, namely wl, is constructed based on the relative position information between two grid points min (u,v)=mwrw(|x u -x v |,|y u -y v |,z u Z _ v), when the minimum weighted wiring length between any two grid points needs to be obtained in the subsequent prediction process, the table look-up is only carried out in the table mwrw according to the four characteristics above the two points.
4. The global routing method considering APC constraints and cell moves as claimed in claim 1, wherein in step S3, based on the lookup table constructed in step S2, a time-driven gain map generation method is proposed to find a candidate location with a larger moving gain for the movable cell; in unit c i In the position prediction process, each connected net is traversed in sequence, the reduction amount of the weighted line length of all the nets after the unit moves to a certain position is calculated, and the variation amount is used as the movement gain of the position; to speed up the unit prediction process, only for c i Is a boundary frame of (x) l ,x r ]×[y b ,y t ]And calculating a mobile profit; for c i The processing procedure of the connected net n takes the minimum wiring layer mrl (n) of the net as a boundary, and the calculation procedure is divided into two parts: (1) calculation under minimum routing layer: in step S1, the minimum routing layer constraint for the net is processed, and the connections below the minimum routing layer of the net are saved in the set of connection segments below the minimum layer, so we will be located at c i Initial position and c i The relevant part is connected from c i To [ x ] to l ,x r ]×[y b ,y t ]At each position in the array, calculating the corresponding reduction in via length and storing the values in the via arrayPerforming the following steps; (2) calculation on minimum routing layer: firstly, c is i The pins in net n are removed from the wiring path on the minimum wiring layer, and the net is dismantled along the positions of the pins, all the grid points in the rest paths are stored in a plurality of groups rmG, and the bus length of the dismantled path is recorded as wl r (ii) a The adopted disconnecting strategy can ensure that the rest parts of the wire net are connected; traversal of x on the level of the pin using breadth-first search l ,x r ]×[y b ,y t ]And calculating the minimum connecting line length of the net to the rest part, storing the value in the array conWl, directly performing table lookup to obtain the connecting line length of each position to the corresponding grid point on the rest path, and finally obtaining the gain diagram of the net n by the formula (8),
gainMap n [x,y]=(via[x][y]+wl r -conWl[x][y])×w(n) (8)
w (n) represents the weight of a net n, which is used for representing the time sequence importance of the net; c is traversed currently i Each connected net is overlapped with the gainMap obtained by each net simultaneously to obtain a unit c i The mobile revenue graph of (1).
5. The global routing method considering APC constraints and cell shifting as claimed in claim 1, wherein in step S4, the time-driven gain map generation method proposed in step S3 is employed to generate a gain map for each mobile cell; then, based on the maximum movement income of each unit, all mobile units are sorted in a descending order, and the movement order of the units in the current round is preliminarily determined; however, since the estimation of the subsequent unit may become inaccurate after the previous unit moves, the subsequent unit needs to regenerate a new gain map before moving, except the first unit.
6. The global routing method considering APC (advanced Process constraint) and cell move as claimed in claim 1, wherein in step S5, the cell move is determined according to the determined cell moveIn order, try to move each cell to the appropriate position to optimize the routing result, at cell c i During each movement attempt of the net, the total weighted line length of all the nets connected before the movement, i.e. the total weighted line length of all the nets before the movement, is calculated in advance
Figure FDA0003893589060000041
Then unit c i Removing all the net wires connected with the net wires from the wiring paths of all the net wires and placing the net wires at a target position; then, according to the dismantling situation of different wire nets, adopting different wire net reconnection algorithms to generate a new complete wiring path; after relevant pins are removed from the wire net, (1) if the rest part comprises two or more communicated parts, the part of subtrees and the pins at the target position are reconnected by adopting multi-source multi-sink maze routing; (2) If the rest connection parts are connected, the subtree is only required to be reconnected with the target position, and the connection problem can be simplified into that of a multi-source single target; in this case, the a-algorithm is used to solve the problem, and during a-routing process, the a-cost of the searched grid point u is calculated by equation (9), and mainly consists of two parts: path cost from lattice point u to source set S p (u, s), and a cost of booting from the target grid point t to u g (t, u), the routing cost for each lattice point in the routing path from lattice point u to source set S can be calculated by equation (1):
Figure FDA0003893589060000042
wherein S belongs to S, after searching all grid points in the net boundary frame, a path with minimum cost for connecting the source set S to the target grid point t can be obtained, then a complete net wiring path is constructed by backtracking the path with minimum cost, and N belongs to N for each net i After partial rewiring, calculating the total weighted wire length of all current nets; when no overflow is generated and the reduction amount of the total weighted line length is greater than or equal to accept, the current unit layout and routing result is accepted; otherwise, unit c is held i Put back into place and recover N i The initial wiring path.
7. The global routing method considering APC (advanced process control) constraints and cell moves as claimed in claim 1, wherein in step S6, a cluster move is used to further optimize routing results, forming clusters in units of nets; for each net n, if the area of the net bounding box is not larger than the set threshold, traversing each unit related to the net n, and adding the unit into a new cluster; when a unit already belongs to a cluster, merging all units in its original cluster into the current cluster; considering that clusters contain too many units, the failure rate of cluster movement is increased and the time of cluster movement is obviously increased, the number of clusters needs to be strictly limited; after the clusters are generated, a location prediction algorithm similar to that in step S5 is employed to select suitable candidate locations for the clusters and a wire net section rerouting procedure is performed.
8. The global routing method of claim 1, wherein in step S7, unit movement amount legalization and net final routing optimization are performed, and during the unit movement, the number of movable units is increased by 50% for a greater degree of optimization of the placement and routing solution; thus, when the total number of mobile units equals the inflation value, some of the units need to be moved to their original positions to validate the maximum mobile unit number constraint; traversing all the moved units for a plurality of times and gradually moving some units back to the original positions in order to reduce the influence of the putting back operation on the whole wiring result as much as possible and keep the effectiveness of the expansion operation; in the process of putting back each round of units, whether the units are put back to the original positions or not is determined by setting an accept parameter, the accept is gradually reduced along with the iteration process, and after the legalization is finished, a multi-round multi-source multi-sink maze wiring is executed to optimize a wiring result.
9. The method as claimed in claim 1, wherein in step S8, a weighted routing result with converged line length is obtained after performing a plurality of move and legalization procedures.
CN202211267276.7A 2022-10-17 2022-10-17 Global wiring method considering advanced process constraint and unit movement Pending CN115526140A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211267276.7A CN115526140A (en) 2022-10-17 2022-10-17 Global wiring method considering advanced process constraint and unit movement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211267276.7A CN115526140A (en) 2022-10-17 2022-10-17 Global wiring method considering advanced process constraint and unit movement

Publications (1)

Publication Number Publication Date
CN115526140A true CN115526140A (en) 2022-12-27

Family

ID=84700998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211267276.7A Pending CN115526140A (en) 2022-10-17 2022-10-17 Global wiring method considering advanced process constraint and unit movement

Country Status (1)

Country Link
CN (1) CN115526140A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115587461A (en) * 2022-12-12 2023-01-10 中南大学 Constraint processing method in railway route selection searching process
CN116644708A (en) * 2023-07-21 2023-08-25 北京智芯微电子科技有限公司 Layout and wiring optimization method, device, computer equipment and storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115587461A (en) * 2022-12-12 2023-01-10 中南大学 Constraint processing method in railway route selection searching process
CN115587461B (en) * 2022-12-12 2023-03-10 中南大学 Constraint processing method in railway line selection searching process
CN116644708A (en) * 2023-07-21 2023-08-25 北京智芯微电子科技有限公司 Layout and wiring optimization method, device, computer equipment and storage medium
CN116644708B (en) * 2023-07-21 2023-12-15 北京智芯微电子科技有限公司 Layout and wiring optimization method, device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
CN110795908B (en) Bus sensing overall wiring method driven by deviation
CN115526140A (en) Global wiring method considering advanced process constraint and unit movement
Li et al. Routability-driven placement and white space allocation
Dai et al. NCTU-GR: Efficient simulated evolution-based rerouting and congestion-relaxed layer assignment on 3-D global routing
US6480991B1 (en) Timing-driven global placement based on geometry-aware timing budgets
JP4227304B2 (en) Outline wiring method and apparatus, and recording medium storing outline wiring program
Pan et al. FastRoute 2.0: A high-quality and efficient global router
Cong et al. An enhanced multilevel routing system
US20030121018A1 (en) Subgrid detailed routing
JP2007158340A (en) Integrated circuit routing specification method and program
CN109684731B (en) Efficient detailed wiring driving track distribution method
CN116070575B (en) Chip wiring optimization method and software system
CN115859899B (en) Method for migrating multiple-driving-capability integrated circuit standard unit layout
CN113591427B (en) Incremental three-dimensional global wiring method considering unit movement and complex wiring constraint
CN112560389B (en) Detailed wiring method based on track distribution
Tian et al. Triple patterning aware detailed placement with constrained pattern assignment
US20060048088A1 (en) Computer automated design method, program for executing an application on a computer automated design system, and semiconductor integrated circuit
CN116738925B (en) FPGA detailed layout method and system
He et al. Ripple 2.0: Improved movement of cells in routability-driven placement
CN112668276A (en) Layout planning method based on hierarchical division
US20080301618A1 (en) Method and System for Routing of Integrated Circuit Design
Kao et al. Cross point assignment with global rerouting for general-architecture designs
Zhou et al. Supervised-learning congestion predictor for routability-driven global routing
Zheng et al. Lay-Net: Grafting Netlist Knowledge on Layout-Based Congestion Prediction
Zhu et al. A robust global routing engine with high-accuracy cell movement under advanced constraints

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination