Incremental three-dimensional global wiring method considering unit movement and complex wiring constraint

文档序号:191210 发布日期:2021-11-02 浏览:48次 中文

阅读说明:本技术 考虑单位移动和复杂布线约束的增量三维全局布线方法 (Incremental three-dimensional global wiring method considering unit movement and complex wiring constraint ) 是由 钱翊仁 邹鹏 林智锋 兰琨 杨晓剑 于 2021-08-05 设计创作,主要内容包括:本发明涉及一种考虑单位移动和复杂布线约束的增量三维全局布线方法,包括如下步骤:步骤S1:基于预设布线电路网表和约束规则,通过拥塞感知3D全局布线器用最小的线长度和满足布线约束重新连接每个网络的所有引脚;步骤S2:采用线驱动运动评估方法确定移动单元的期望位置;步骤S3:根据得到的期望位置,采用增量策略移动单元并重新布线网络,直到每个引脚都连接起来,得到初始布线结果;步骤S4:采用边缘调整方法,进一步调整初始布线结果,得到最终的布线结果。本发明具有快速的单元运动,在显著缩短的运行时间内实现了最佳的解决方案质量,进一步优化线路长度。(The invention relates to an incremental three-dimensional global wiring method considering unit movement and complex wiring constraint, which comprises the following steps: step S1: based on a preset wiring circuit network table and a constraint rule, all pins of each network are reconnected by using the minimum wire length and meeting wiring constraint through the congestion sensing 3D global wiring device; step S2, determining the expected position of the mobile unit by adopting a line driving motion evaluation method; step S3, according to the expected position, adopting increment strategy to move the unit and re-wiring the network until each pin is connected to obtain the initial wiring result; and step S4, adopting an edge adjusting method to further adjust the initial wiring result to obtain a final wiring result. The invention has fast unit motion, achieves optimal solution quality in a significantly shortened running time, and further optimizes the line length.)

1. An incremental three-dimensional global routing method considering unit movement and complex routing constraints is characterized by comprising the following steps:

step S1: based on a preset wiring circuit network table and a constraint rule, all pins of each network are reconnected by using the minimum wire length and meeting wiring constraint through the congestion sensing 3D global wiring device;

step S2, determining the expected position of the mobile unit by adopting a line driving motion evaluation method;

step S3, according to the expected position, adopting increment strategy to move the unit and re-wiring the network until each pin is connected to obtain the initial wiring result;

and step S4, adopting an edge adjusting method to further adjust the initial wiring result to obtain a final wiring result.

2. The incremental three-dimensional global routing method considering unit movement and complex routing constraints according to claim 1, wherein the step S1 is specifically:

step S11, presetting a wiring circuit network table with movable units and constraint rules, wherein the wiring circuit network table comprises the following steps: the wiring area is divided into a three-dimensional global grid (G-grid) array, modeling is carried out by using a grid graph G (V, E), each node represents a G-grid, and each edge corresponds to the boundary between two adjacent G-grids. Let c (u) be the resource capacity of G-grid u, and d (u) be the resource requirement of G-grid u; the constraint rules are as follows:

(1) not allowing to open the network, all networks must be connected;

(2) not allowing the super traffic G-grid, wherein for each G-grid, the resource capacity must exceed the demand;

(3) the direction constraint is that the horizontal route must be on the odd number layer and the vertical route must be on the even number layer;

(4) minimum layer rule that horizontal and vertical routes must be above a given minimum layer of each net;

(5) maximum cell movement limit, in each case the number of cells moved is limited to 30% of the total number of cells, to avoid a completely new placement process leading to different placement results;

step S12, directly wiring a multi-pin net on the three-dimensional boundary by adopting a labyrinth wiring method;

and step S13, according to the routing circuit network table and the constraint rule, the connection of each network is rerouted one by one, and in the rerouting stage, the edge weight cost function in the top weight version is adopted.

3. The incremental three-dimensional global routing method considering unit shift and complex routing constraints of claim 2, wherein said step S12 further adopts a search algorithm for reducing the size of routing boundary and queue optimization to speed up routing.

4. The incremental three-dimensional global routing method considering unit moves and complex routing constraints according to claim 2, wherein the cost of the vertex u is:

where 1 is the cost per line length; the product of the logistic function and the proportional function to the right of the sign describes the cost of congestion; c1Controlling the rate of congestion, C2Controlling the sensitivity of the global router to overflow.

5. The incremental three-dimensional global routing method considering unit movement and complex routing constraints according to claim 1, wherein the step S2 is specifically:

using a time-driven location estimation method to determine the expected location of each cell and ensure that after a cell is removed from the original network, the remaining subnets are in one connected component

In the removing process, firstly, the passed grids are connected, and the net list of the wiring is represented as a graph with the grids as vertexes; then, along the pin with the vertex deletion degree of 1 and containing the repositioning unit; when the vertex of the pin containing other units is encountered or the remaining degree of the vertex is more than 1, deleting is stopped;

after deleting the connection associated with the relocated cell, algorithm 1 is used: and estimating a new position based on the multi-network address cost calculation.

6. An incremental three-dimensional global routing method considering unit moves and complex routing constraints according to where to go requirement 5, characterized in that the use algorithm 1: estimating a new position based on multi-network address selection cost calculation, specifically:

firstly, obtaining the position range of a boundary frame of a minimum rectangle covering all layer-related networks;

calculating the estimated cost of each net, and considering the special condition that the c unit has a plurality of pins of one net, adopting a simplified model of a g grid, wherein the lowest pin containing the c unit needs to move;

searching the shortest distance from each position in the obtained cuboid to g grids occupied by the remaining connections GR by adopting a queue;

using a critical extension, wherein the location of the new extension should be within the estimation boundary while satisfying the directional constraint and the minimum layer rule; after algorithmic computation, the estimated cost per location increases the difference between the number of g-meshes removed in the network and the shortest distance.

7. An incremental three-dimensional global routing method taking into account unit moves and complex routing constraints according to claim 6, characterized in that, without any constraints, the shortest distance between two g-grids (u and v):

dis(u,v)=|xu-xv|+|yu-yv|+|zu-zv| (2)

both constraints will extend the routing distance in the z-axis but will not change the routing distance in the X-axis and the y-axis; routing in the z-axis requires detours because routing in the X-axis and y-axis can only be done on specific layers; without loss of generality, the distance formula is modified as follows:

dis(u,v)=Δx+Δy+Zdis(zu,zv,ml,Δx=0,Δy=0)

(3)

wherein Δ x, Δ y, Δ z represent the delta of the two g-grids in the x, y, z directions, respectively; zdis represents the shortest distance of two g grids in the z-axis direction, and the layer number ml is the smallest; the calculation of Zdis depends on whether the two g-grids need to be moved in the x-axis and the y-axis;

when z isuAnd after ml determination, all z are calculated using the time complexity O (L)uZdis in the case where L is the number of layers;

further using the shortest path search method, the search node may be represented asWhereinIs a boolean state, indicating whether the current path has reached a layer routed on the x-axis,to the y-axis; these two states will be maintained when either the horizontal or vertical wiring layer is reached; by iterating the source and minimum layers, with O (L)3) The temporal complexity of (c) pre-computes Zdis in all cases.

8. The incremental three-dimensional global routing method considering unit movement and complex routing constraints as claimed in claim 1, wherein the step S3 is specifically:

(1) storing the number of all cell types using one balanced binary tree for each coordinate using one balanced binary tree for storing the number of all cell types

(2) After maintenance of extra demand and congestion demand, all nets where the mobile unit is located will be rewired;

(3) when a cell moves to its desired location, all associated nets need to be rewired.

9. The incremental three-dimensional global routing method considering unit movement and complex routing constraints as claimed in claim 8, wherein the step (1) is specifically: the balanced binary tree deletes corresponding nodes when the unit type number is zero so as to ensure that the query efficiency is not influenced by too large number of the nodes; for each sameEX rule and adjHEX rule, compressing two cell types and storing the two cell types in a hash table, and reducing the complexity of query to constant time; when the cell is moved; maintaining its requirements by performing a delete operation in the original coordinates and an add operation in the new coordinates; when the two units are the same in number, the ex decreases the same; the increasing occurs when the number of current cell types is less than the number of another cell type; additional requirement modifications of the adjHEX rule are similar, modifying the corresponding requirement information in adjacent coordinates.

10. The incremental three-dimensional global routing method considering unit movement and complex routing constraints as claimed in claim 8, wherein the step (2) is specifically: selecting candidate locations for top-k estimates for routing attempts due to potential congestion at the new location with the best estimate; moving and wiring all candidate positions in parallel, and selecting a position which does not violate the constraint and the shortest line length; after moving and rewiring, recalculating the estimation of all units in the related network; the balanced binary tree with the reduced estimated line length is modified accordingly.

Technical Field

The invention belongs to the technical field of Very Large Scale Integration (VLSI) physical design automation, and particularly relates to an incremental three-dimensional global wiring method considering unit movement and complex wiring constraints.

Background

Layout and routing are two key issues in the physical design of Very Large Scale Integration (VLSI). These two problems are usually further divided into several stages, such as global placement, legalization, detailed placement, global routing, and detailed routing. This divide and conquer approach ensures that complex physical design problems can be managed and solved at reasonable runtime, but may result in mismatches between sub-problems. For example, placers typically limit placement results by cell density or pin density to preserve more convergence for routing convergence. However, such a density model may not correlate well with practical routing problems.

Disclosure of Invention

In view of the above, the present invention provides an incremental three-dimensional global routing method considering unit movement and complex routing constraints, and proposes an incremental three-dimensional global router and method, which has fast cell motion and achieves the best solution quality in a significantly shortened runtime.

In order to achieve the purpose, the invention adopts the following technical scheme:

an incremental three-dimensional global routing method considering unit movement and complex routing constraints comprises the following steps:

step S1: based on a preset wiring circuit network table and a constraint rule, all pins of each network are reconnected by using the minimum wire length and meeting wiring constraint through the congestion sensing 3D global wiring device;

step S2, determining the expected position of the mobile unit by adopting a line driving motion evaluation method;

step S3, according to the expected position, adopting increment strategy to move the unit and re-wiring the network until each pin is connected to obtain the initial wiring result;

and step S4, adopting an edge adjusting method to further adjust the initial wiring result to obtain a final wiring result.

Further, the step S1 is specifically:

step S11, presetting a wiring circuit network table with movable units and constraint rules, wherein the wiring circuit network table comprises the following steps: the wiring area is divided into a three-dimensional global grid (G-grid) array, modeling is carried out by using a grid graph G (V, E), each node represents a G-grid, and each edge corresponds to the boundary between two adjacent G-grids. Let c (u) be the resource capacity of G-grid u, and d (u) be the resource requirement of G-grid u. The constraint rules are as follows:

(1) no open net is allowed-all nets must be connected.

(2) The excess traffic G-grid is not allowed-for each G-grid its resource capacity must exceed the demand.

(3) The directional constraints are that the horizontal path must be on odd layers and the vertical path must be on even layers.

(4) Minimum layer rule-horizontal and vertical routes must be above a given minimum layer of each net.

(5) Maximum cell movement limit-the number of cells moved is in each case limited to 30% of the total number of cells to avoid that a completely new placement process leads to different placement results.

Step S12, directly wiring a multi-pin net on the three-dimensional boundary by adopting a labyrinth wiring method;

and step S13, according to the routing circuit network table and the constraint rule, the connection of each network is rerouted one by one, and in the rerouting stage, the edge weight cost function in the top weight version is adopted.

Further, the step S12 further adopts a search algorithm for reducing the size of the wiring boundary and queue optimization to speed up the wiring.

Further, the cost of the vertex u:

where 1 is the cost per line length; the product of the logistic function and the proportional function to the right of the sign describes the cost of congestion; c1Controlling the rate of congestion, C2Controlling the sensitivity of the global router to overflow.

Further, the step S2 is specifically:

using a time-driven location estimation method to determine the expected location of each cell and ensure that after a cell is removed from the original network, the remaining subnets are in one connected component

In the removing process, firstly, the passed grids are connected, and the net list of the wiring is represented as a graph with the grids as vertexes; then, along the pin with the vertex deletion degree of 1 and containing the repositioning unit; when the vertex of the pin containing other units is encountered or the remaining degree of the vertex is more than 1, deleting is stopped;

after deleting the connection associated with the relocated cell, algorithm 1 is used: and estimating a new position based on the multi-network address cost calculation.

Further, the use algorithm 1: estimating a new position based on multi-network address selection cost calculation, specifically:

firstly, obtaining the position range of a boundary frame of a minimum rectangle covering all layer-related networks;

calculating the estimated cost of each net, and considering the special condition that the c unit has a plurality of pins of one net, adopting a simplified model of a g grid, wherein the lowest pin containing the c unit needs to move;

searching the shortest distance from each position in the obtained cuboid to g grids occupied by the remaining connections GR by adopting a queue;

using a critical extension, wherein the location of the new extension should be within the estimation boundary while satisfying the directional constraint and the minimum layer rule; after algorithmic computation, the estimated cost per location increases the difference between the number of g-meshes removed in the network and the shortest distance.

Further, without any constraints, the shortest distance between two g-grids (u and v):

dis(u,v)=|xu-xv|+|yu-yv|+|zu-zv| (2)

both constraints will extend the routing distance in the z-axis but will not change the routing distance in the X-axis and the y-axis; routing in the z-axis requires detours because routing in the X-axis and y-axis can only be done on specific layers; without loss of generality, the distance formula is modified as follows:

dis(u,v)=Δx+Δy+Zdis(zu,zv,ml,Δx=0,Δy=0)

(3)

wherein Δ x, Δ y, Δ z represent the delta of the two g-grids in the x, y, z directions, respectively; zdis represents the shortest distance of two g grids in the z-axis direction, and the layer number ml is the smallest; the calculation of Zdis depends on whether the two g-grids need to be moved in the x-axis and the y-axis;

when z isuAnd after ml determination, all z are calculated using the time complexity O (L)uZdis in the case where L is the number of layers;

further using the shortest path search method, the search node may be represented asWhereinIs a boolean state, indicating whether the current path has reached a layer routed on the x-axis,to the y-axis; these two states will be maintained when either the horizontal or vertical wiring layer is reached; by iterating the source and minimum layers, with O (L)3) Time complexity of precomputation Zdi in all casess。

Further, step S3 is specifically:

(1) storing the number of all cell types using one balanced binary tree for each coordinate using one balanced binary tree for storing the number of all cell types

(2) After maintenance of extra demand and congestion demand, all nets where the mobile unit is located will be rewired;

(3) when a cell moves to its desired location, all associated nets need to be rewired.

Further, the step (1) specifically comprises: the balanced binary tree deletes corresponding nodes when the unit type number is zero so as to ensure that the query efficiency is not influenced by too large number of the nodes; for each sameEX rule and adjHEX rule, compressing two cell types and storing the two cell types in a hash table, and reducing the complexity of query to constant time; when the cell is moved; maintaining its requirements by performing a delete operation in the original coordinates and an add operation in the new coordinates; when the two units are the same in number, the ex decreases the same; the increasing occurs when the number of current cell types is less than the number of another cell type; additional requirement modifications of the adjHEX rule are similar, modifying the corresponding requirement information in adjacent coordinates.

Further, the step (2) specifically includes: selecting candidate locations for top-k estimates for routing attempts due to potential congestion at the new location with the best estimate; moving and wiring all candidate positions in parallel, and selecting a position which does not violate the constraint and the shortest line length; after moving and rewiring, recalculating the estimation of all units in the related network; the balanced binary tree with the reduced estimated line length is modified accordingly.

Compared with the prior art, the invention has the following beneficial effects:

1. the invention has proper wiring guide, can effectively improve the initial solution and shorten the operation time;

2. the present invention is based on a multi-network location estimation method to find the desired location of a mobile unit in parallel with a minimum total length. The global router effectively improves the calculation efficiency under the condition of no maximum cell movement constraint;

3. the invention designs a wiring strategy based on time-driven stack, accelerates the rewiring process of the broken network under the condition of not violating the wiring rule, and ensures the quality of the solution.

Drawings

FIG. 1 is a flow chart of the method of the present invention;

FIG. 2 is a diagram of the results of a time-driven position estimation method and the results of a multi-source propagation algorithm proposed using SRP according to an embodiment of the present invention;

FIG. 3 shows an embodiment of the algorithm 1;

FIG. 4 shows an embodiment of algorithm 2;

FIG. 5 is an embodiment of algorithm 3;

fig. 6 is a line length distribution of the present invention after each stage on reference hidden 06.

Detailed Description

The invention is further explained below with reference to the drawings and the embodiments.

Referring to fig. 1, the present invention provides a flowchart of an incremental three-dimensional global routing method considering unit movement and complex routing constraints, including the following steps:

step S1: based on a preset wiring circuit network table and a constraint rule, all pins of each network are reconnected by using the minimum wire length and meeting wiring constraint through the congestion sensing 3D global wiring device; preferably, a reduced wire boundary size and queue optimization search algorithm is used to speed this step.

Step S2, determining the expected position of the mobile unit by adopting a line driving motion evaluation method; after congestion-aware 3D global routing is achieved, attempting to move the cells to the required locations with minimal wire length, using a time-driven location estimation method to determine the expected location of each cell, and optimizing the algorithm time complexity;

step S3, according to the expected position, adopting increment strategy to move the unit and re-wiring the network until each pin is connected to obtain the initial wiring result; after position estimation for each cell, the cell is moved using an incremental strategy and the network is re-wired, with the maximum estimated reduction in wire length in each round of movement to reposition the cell. When a cell moves to its desired location, all associated nets need to be re-wired, and algorithm 3 is proposed to further speed up the wiring process. The algorithm loops until each pin is connected. After several rounds of network rewiring and cell relocation are achieved, the required wiring paths are generated to connect all the pins of each network.

And step S4, adopting an edge adjusting method to further adjust the initial wiring result to obtain a final wiring result.

Preferably, in this embodiment, step S1 specifically includes:

a routing circuit net list and constraint rules are given in advance. Conventional routing methods typically first break the net into a multi-pin to pin structure by a straight-line Steiner minimum Tree (RSMT) algorithm like FLUTE, the result of which depends on the RSMT algorithm, so its blocking information part is ignored. Therefore, the temperature of the molten metal is controlled,

and a labyrinth wiring method is adopted, and a multi-pin net is directly wired on a three-dimensional boundary. The method starts with an arbitrary pin, finds the nearest pin and connects, then considers all points on the path as source points, and continues to find the next pin. The three-dimensional maze path height takes advantage of congestion and spatial information. However, this is relatively time consuming. Therefore, both techniques of reducing the wiring boundary size and the queue optimization search algorithm are used to speed up this wiring step.

Technique for reducing the size of wiring boundaries: in a multilayer structure, individual webs often do not use a high level metal layer. Therefore, the final routing height is used to constrain the global upper bound of the routing in the z-axis for each net. When a solution below the previous layer cannot be found, the upper limit of the z-axis is chosen to be increased to the height of the layer. In practical application, the technology can reduce the size of a search space and improve the wiring speed by about twice. In addition, the connections are routed only in the x-axis and y-axis regions where the pins are located.

The queue optimization search algorithm: the most time consuming phase in the network cabling is to search for the shortest path for each G-grid. To speed up this phase, a queue-optimized shortest path search algorithm is used, i.e. the current shortest paths of all grids are maintained and the shortest distances are updated when new resources are generated. In each round of play, the G-grid will be expanded at the front of the queue and added to the end of the queue as the expanded G-grid reaches closer distance. In the maze path algorithm, the above search algorithm is faster than the one by heap optimization in practice.

Since the net list already has an initial routing result, the connections of each net will be rerouted one by one to further improve the routing result while ensuring that there is no overflow. In the rewiring stage, the edge weight cost function in the vertex weight version is adopted. Cost of vertex u:

where 1 is the cost per line length. The product of the logistic function and the proportional function to the right of the sign describes the cost of congestion. In addition, C1Controlling the rate of congestion, C2Controlling the sensitivity of the global router to overflow.

Preferably, in this embodiment, step S2 specifically includes:

after the congestion-aware 3D global routing is implemented in step S1, an attempt is made to move the cell to the desired location with the minimum wire length. The desired position of each cell is determined using a time-driven position estimation method. Directly on the 3D metal layer and ensures that after removing the cell from the original network, the remaining sub-network is in one connected component. During the removal process, the passing meshes are first connected so that the routed netlist can be represented as a graph with the meshes as vertices. Then, the pin with a degree of deletion of 1 along the vertex and containing the repositioning unit is started. When a vertex is encountered that contains a pin of another cell, or its remaining degree is greater than 1, the deletion will stop.

Algorithm 1 is used to estimate the new position after removing the connection associated with the relocated cell. The position range of the bounding box of the minimum rectangle covering all the layer-related networks is obtained firstly. Then, the estimated cost for each net is calculated. Considering the special case of c-cells with multiple pins of one net, a simplified model of g-grid is used, where the lowest pin containing c-cells needs to be moved. Then, a queue is used to search for the shortest distance from each position in the obtained cuboid to the g grid occupied by the remaining connections GR. A critical extension is used, where the location of the new extension should be within the estimation boundary while satisfying the directional constraint and the minimum layer rule. After algorithmic computation, the estimated cost per location increases the difference between the number of g-grids removed in the network and the shortest distance, which represents the cost of moving a cell to a new location without affecting the remaining connections.

The time complexity of the simplex estimate in algorithm 1 is o (xyl), where X, Y, L is the length of the axis boundary, since each g-lattice in the cuboid will be searched. Since the number of estimation rounds is much larger than the number of routing rounds, the time-consuming position estimation will become a bottleneck in the runtime. The time complexity of the position estimation will be further reduced.

Without any constraints, the shortest distance between two g-grids (u and v) is obviously:

dis(u,v)=|xu-xv|+|yu-yv|+|zu-zv| (2)

however, minimum layer rules and directional constraints complicate the shortest distance problem even more. Both constraints will extend the routing distance in the z-axis but will not change the routing distance in the X-axis and the y-axis. Routing in the z-axis requires detours because routing in the X-axis and y-axis can only be done on specific layers. Without loss of generality, the distance formula can be modified as:

dis(u,v)=Δx+Δy+Zdis(zu,zv,ml,Δx=0,Δy=0)

(3)

where Δ x, Δ y, Δ z represent the delta in the x, y, z directions of the two g-grids, respectively. Zdis represents the shortest distance of two g grids in the z-axis direction, and the layer number ml is the smallest; the calculation of Zdis depends on whether the two g-meshes need to be moved in the x-axis and y-axis

When z isuAnd ml, all z can be calculated with time complexity O (L)uZdis in the case where L is the number of layers. A shortest path search method is used. The search node can be represented asWhereinIs a boolean state, indicating whether the current path has reached a layer routed on the x-axis,to the y-axis. Both states will be maintained when either the horizontal or vertical wiring layer is reached. In general, by iterating the source and minimum layers, one can obtain O (L)3) The temporal complexity of (c) pre-computes Zdis in all cases.

For algorithm 1, if enumerating grids in GR and the lowest grid of pin layer, an algorithm with time complexity o (xym) can be obtained, where M is the number of g grids in GR. There is computational redundancy in this enumeration approach. Therefore, an algorithm 2 is proposed, wherein fast breadth-first search under constraint conditions is adopted to improve the time complexity of the calculation method to O (XY + (X + Y) M + MlgM)

In this embodiment, step S3 specifically includes: after the position estimation of each unit is realized in the step (2), the unit is moved by using the increment strategy and the network is rearranged. In each round of movement, the unit is repositioned with the largest estimated reduction in wire length. To speed up the acquisition of the maximum, the balanced binary tree stores the optimal mobile position and the estimated line length reduction of all the cells.

A unit shift will change the congestion requirement, the same g-grid extra requirement and the adjacent horizontal g-grid extra requirement. The occlusion requirements are only related to cells, while the latter two requirements require cell information in current and horizontal adjacent coordinates. For each coordinate, a balanced binary tree is used to store the number of all cell types. The balanced binary tree also deletes the corresponding node when the unit type number is zero, so as to ensure that the number of the nodes is not too large to influence the query efficiency. For each of the sameEX rule and the adjHEX rule, two cell types are compressed and stored in a hash table, reducing the complexity of the query to a constant time. As the cell moves, its requirements are maintained by performing delete operations in the original coordinates and add operations in the new coordinates. When the two units are the same in number, the ex decreases the same; this increase occurs when the number of current cell types is less than the number of another cell type. The additional requirement modification of the adjHEX rule is similar, except that the corresponding requirement information needs to be modified in adjacent coordinates.

After maintenance with extra demand and congestion, all nets where the mobile unit is located will be rewired. Candidate locations for top-k estimates are selected for routing attempts because the new location with the best estimate may be congested. All candidate locations are moved and routed in parallel and the locations that do not violate the constraints are selected with the shortest line length. After moving and rewiring, it is necessary to recalculate the estimates of all the cells in the relevant net. The balanced binary tree with the reduced estimated line length is modified accordingly. Furthermore, it is noted that the estimates of the unit can be computed in parallel, so that the initial estimation and updating can be done quickly. In general, the movement of cells will repeat until none of the cells have a better estimated location.

When a cell moves to its desired location, all associated nets need to be rewired, which makes the speed of cell movement largely dependent on wiring efficiency. Even with the proposed queue optimization, the routing algorithm does not reach relatively high speeds. Therefore, the wiring cost function is unified in the cell movement phase, and algorithm 3 is proposed: the routing process is further accelerated based on the maze routing of the bootstrap prim.

In the global routing algorithm, the routing boundaries are multilevel, ranging from small to large. Three boundary ranges and two height limiting methods are used, for a total of six combinations. In both height-limiting methods, the height is limited by the overlying and metal layers, respectively. RSMT for the two-dimensional pins was first calculated using FLUTE. The first boundary range is on a segment of the RSMT, following strictly the routing direction of the RSMT. The second boundary range is also on the RSMT. However, it cannot follow the direction of wiring, which means that the passing g-grid can be used regardless of the connection relationship. The last boundary is the extent of the pin in the x and y axes.

Prim-based maze routing algorithms are accelerated by using stacks to keep the nodes between source-receiver shortest path searches extended. Meanwhile, a quick interruption mechanism is adopted to reduce useless searching nodes. The proposed algorithm is shown in algorithm 3. The algorithm loops until every pin is connected, otherwise there is no g-grid that needs to be extended.

In this embodiment, step S4 specifically includes: an attempt is made to delete all wire segments that have not undergone construction of steiner points and pins and to find the shortest path between two connected components without violating the wire constraints. If the length of the shortest path is less than the length of the original wire segment, it is used to replace the original wire. This process is repeated until there are no edges in the net that can be adjusted.

In order to make the technical solution of the present invention better understood, the present invention will be described in detail with reference to the accompanying drawings.

FIG. 2 shows the results of the time-driven position estimation method used in accordance with the present invention and the results of the multi-source propagation algorithm proposed using SRP due to potential unreasonable problems; (a) mobile unit C1There are two related nets, net N1 and net N2. (b) Remove cell C over network N1 and network N21And its connection, the remaining path of the network N1 is divided into two sub-networks N11And N12Network N2 becomes subnet N21. Using a multisource propagation algorithm, SRP pairs C1The red area of the cell is located and the green area is the optimal area. (c) Unreasonable early encounter strategies may cause problems with SRP. (d) Using a time-driven position estimation method to remove (a)) The result of (1).

Referring to FIG. 3, in the present embodiment, algorithm 1 is used to estimate the new location after removing the connection associated with the relocated cell; in lines 1-2 of Algorithm 1, the range of positions where the smallest rectangle covers the bounding box of all layer-related networks is obtained first. The estimated cost for each net is then calculated on lines 3-22. The critical extension process is seen in lines 12-15, where the location of the new extension should be within the estimation boundaries while satisfying the directional constraint and minimum layer rules. After algorithmic computation, the estimated cost per location increases the difference between the number of g-meshes removed in the network and the shortest distance. This difference represents the cost of moving the cell to a new location without affecting the remaining connections (lines 19-21).

Referring to FIG. 4, in this embodiment, the time complexity of algorithm 1 is reduced to O (XY + (X + Y) M + MlgM); the case of algorithm 2 processing on lines 5-10 is: there is an offset in only one axis and a double loop is used to traverse the rows and columns of the g-grid. To handle the case where both axes are offset, all g-maps are first sorted in ascending order by Zdis (rows 11 and 13), and then the distance is calculated using both arrays. Array QB stores a g-grid of width-first-search (BFS) order. Array QA stores unused g grids in QB with ZDis greater than the current distance. When the ZDis of the G map in QA is not greater than the distance at QB, G-grids is transferred from QA to QB. The temporal complexity of (lines 14-25) is O (XY + M) as zlEach g grid of (1); access is only once and every g-grid in the GR is transmitted once. Using the c + + open source matrix library Eigen to improve the performance of Algorithm 2, where rows 6 and 9 can be accelerated by preprocessed minimum operation vectors

Referring to fig. 5, algorithm 3 further speeds up the routing process. In algorithm 3, any one pin is stored in the stack S as a source from the beginning, and the distances from other pins to the source are stored in the priority queue PQ. The g-grid with the same distance in the stack will be expanded in each round of node expansion, guaranteed by row 2, row 5 and row 6. If the current g-grid distance is not less than the minimum distance in the PQ, the path from the corresponding pin in the PQ will be connected to a wiring connection. The g-grid in the path will be considered the source and added to the top of the stack with zero distance. Lines 14-17 apply a grid search within the guide to expand the new g grid. plus1Q is a helper array for storing the expanded g-grid distance of 1, after one round of expansion (lines 10 and 20), the search node in plus1Q is moved to the top of the stack. With the help of plus1Q, stack S stores the distance of the unrolled node at a to ensure the correctness of the algorithm in a monotonic manner. The algorithm loops until every pin is connected, otherwise there is no g-grid that needs to be extended.

In this embodiment, fig. 6 is a line length distribution of the present invention after each stage on reference hidden 06. (a) And (5) performing preliminary wiring. (b) And 3D global wiring. (c) After cell migration and network redirection. (d) And adjusting the final result after thinning. The initial result of baseline hidden06 contained very little mesh and short wire length. By implementing a three-dimensional global routing algorithm and a cell rerouting and network rerouting method, the number of short networks is significantly increased, indicating the effectiveness of the algorithm. Finally, the proposed edge adjustment method further improves the routing results.

The above description is only a preferred embodiment of the present invention, and all equivalent changes and modifications made in accordance with the claims of the present invention should be covered by the present invention.

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种时钟树布局方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类