CN117272917A - Bus topology perception global wiring method based on multiple strategies - Google Patents
Bus topology perception global wiring method based on multiple strategies Download PDFInfo
- Publication number
- CN117272917A CN117272917A CN202311466182.7A CN202311466182A CN117272917A CN 117272917 A CN117272917 A CN 117272917A CN 202311466182 A CN202311466182 A CN 202311466182A CN 117272917 A CN117272917 A CN 117272917A
- Authority
- CN
- China
- Prior art keywords
- wiring
- bus
- topology
- congestion
- cost
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000008447 perception Effects 0.000 title abstract 2
- QWCRAEMEVRGPNT-UHFFFAOYSA-N buspirone Chemical compound C1C(=O)N(CCCCN2CCN(CC2)C=2N=CC=CN=2)C(=O)CC21CCCC2 QWCRAEMEVRGPNT-UHFFFAOYSA-N 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000009467 reduction Effects 0.000 claims description 7
- 210000000712 G cell Anatomy 0.000 claims description 4
- 238000012804 iterative process Methods 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
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
Description
技术领域Technical field
本发明涉及集成电路计算机辅助设计技术领域,具体涉及一种基于多策略的总线拓扑感知全局布线方法。The invention relates to the technical field of computer-aided design of integrated circuits, and in particular to a multi-strategy-based bus topology-aware global wiring method.
背景技术Background technique
随着半导体产业向纳米时代的发展,现代电子系统的规模迅速增长。在整个超大规模集成电路(Very Large Scale Integration,VLSI)的布线过程中将布线分成两大阶段进行处理,分别是全局布线和详细布线。全局布线又可分为2D布线阶段与层分配阶段,首先将多层的布线资源映射到2D平面上,然后在2D平面上完成布线得到一个初始的2D布线结果,之后将2D布线结果中的每条导线分配到各个金属层得到最终的3D布线方案。总线是连接多个终端(引脚)和数据或控制信号传输的一组信号位。随着技术的进步,多芯片模块、I/O引脚和片上存储器的总线结构数量的增加,使得总线布线越来越重要,也使得手动布线成为一项极其复杂的任务。As the semiconductor industry develops into the nanometer era, the scale of modern electronic systems has grown rapidly. In the entire Very Large Scale Integration (VLSI) wiring process, wiring is divided into two major stages for processing, namely global wiring and detailed wiring. Global wiring can be divided into the 2D wiring stage and the layer allocation stage. First, the multi-layer wiring resources are mapped to the 2D plane, and then the wiring is completed on the 2D plane to obtain an initial 2D wiring result. Then each element in the 2D wiring result is The wires are assigned to each metal layer to obtain the final 3D wiring scheme. A bus is a group of signal bits that connect multiple terminals (pins) and transmit data or control signals. With the advancement of technology, the number of bus structures for multi-chip modules, I/O pins and on-chip memories has increased, making bus wiring more and more important, and making manual wiring an extremely complex task.
总线的每一个信号位都可以通过传统的布线方法进行布线,但时钟频率的增加使得总线布线过程中出现了特殊的布线约束,其中包括长度匹配约束以及拓扑一致约束。对于同一总线来说,每一个信号位都需要进行协同传输信号,信号抵达的时间相差若是过大将会使传输的信息有误从而导致芯片的数据处理能力变弱,导致芯片的性能的降低,因此在全局布线的过程中考虑总线的拓扑以及长度是十分有必要的。此外对于考虑总线与非总线的全局布线问题,现有的全局布线算法都无法有效地处理总线拓扑一致的问题。Each signal bit of the bus can be routed through traditional routing methods, but the increase in clock frequency has led to special routing constraints during the bus routing process, including length matching constraints and topology consistency constraints. For the same bus, each signal bit needs to coordinately transmit the signal. If the difference in signal arrival time is too large, the transmitted information will be incorrect, resulting in a weakening of the chip's data processing capability, resulting in a reduction in chip performance. Therefore It is very necessary to consider the topology and length of the bus during the global wiring process. In addition, for global wiring problems that consider buses and non-buses, existing global wiring algorithms cannot effectively handle the problem of consistent bus topology.
发明内容Contents of the invention
为了解决现有技术当中存在的问题,本发明提出了一种基于多策略的总线拓扑感知全局布线方法,包括以下关键策略:首先,通过FLUTE算法对布线资源进行预估后,提出了一种基于拥塞的拓扑重构算法来对拓扑结构进行优化,有效提高布线空间利用率;其次,构建了一个启发式的拆线重布模型来完成对多信号位的总线进行重新布线,有效降低总线时延;最后,提出了一个自适应调整布线范围以及布线代价函数的迭代方案,以扩大布线过程的布线利用率并有效优化总线拓扑结构的一致性。在多个基准测试上的实验结果表明,本发明提出的算法和相关策略均能够有效优化总线拓扑,从而获得了高质量的2D布线方案。In order to solve the problems existing in the existing technology, the present invention proposes a multi-strategy-based bus topology-aware global wiring method, including the following key strategies: First, after estimating wiring resources through the FLUTE algorithm, a method based on The congestion topology reconstruction algorithm is used to optimize the topology structure and effectively improve the utilization of wiring space; secondly, a heuristic dewiring and redistribution model is constructed to complete the rewiring of the multi-signal bus and effectively reduce the bus delay. ; Finally, an iterative scheme for adaptively adjusting the wiring range and wiring cost function is proposed to expand the wiring utilization of the wiring process and effectively optimize the consistency of the bus topology. Experimental results on multiple benchmark tests show that the algorithm and related strategies proposed by the present invention can effectively optimize the bus topology, thereby obtaining a high-quality 2D wiring scheme.
本发明的主要设计点包括以下几个要点:The main design points of the present invention include the following points:
针对FLUTE算法导致线段数量增加、布线空间的利用率降低,且无法保证总线拓扑结构的一致性的缺陷,采用基于拥塞拓扑重构策略,在总线拓扑结构一致性与线网线长之间寻求一个均衡点,以优化布线方案;In view of the shortcomings of the FLUTE algorithm that leads to an increase in the number of line segments, a reduction in the utilization of wiring space, and the inability to ensure the consistency of the bus topology, a congestion-based topology reconstruction strategy is adopted to find a balance between the consistency of the bus topology and the length of the line network. points to optimize the wiring scheme;
针对混合单向单调布线HUMR可能会产生布线资源的冲突,从而导致最终结果中布线产生很大的拓扑偏差的问题,采用考虑总线拓扑的拆线重布算法,在进行重布时考虑整体的拥塞值,保证不同信号位之间的拓扑偏差能达到最小。In order to solve the problem that hybrid unidirectional monotonic wiring HUMR may cause conflicts in wiring resources, resulting in large topological deviations in the final wiring, a dewiring and redistribution algorithm that considers the bus topology is used to consider the overall congestion when redistributing. value to ensure that the topological deviation between different signal bits can be minimized.
以及,在迭代布线过程中,由于历史代价函数的确定对最终布线结果有着不可忽视的影响,因此提出一种基于历史偏差的代价函数cost(N),且该历史代价函数随着迭代过程进行自适应修改调整。And, in the iterative wiring process, since the determination of the historical cost function has a non-negligible impact on the final wiring result, a cost function cost(N) based on historical deviations is proposed, and the historical cost function automatically changes with the iterative process. Adapt to modifications and adjustments.
为实现上述目的,本发明采取如下技术方案:In order to achieve the above objects, the present invention adopts the following technical solutions:
一种基于多策略的总线拓扑感知全局布线方法,其特征在于:针对FLUTE算法导致线段数量增加、布线空间的利用率降低,且无法保证总线拓扑结构的一致性的缺陷,采用基于拥塞拓扑重构策略,在总线拓扑结构一致性与线网线长之间寻求一个均衡点,以优化布线方案;A bus topology-aware global wiring method based on multi-strategy, which is characterized by: in view of the shortcomings of the FLUTE algorithm that leads to an increase in the number of line segments, a reduction in the utilization of wiring space, and the inability to ensure the consistency of the bus topology, a congestion-based topology reconstruction is adopted Strategy to find a balance point between bus topology consistency and line network length to optimize the wiring plan;
针对混合单向单调布线HUMR可能会产生布线资源的冲突,从而导致最终结果中布线产生很大的拓扑偏差的问题,采用考虑总线拓扑的拆线重布算法,在进行重布时考虑整体的拥塞值,保证不同信号位之间的拓扑偏差能达到最小。In order to solve the problem that hybrid unidirectional monotonic wiring HUMR may cause conflicts in wiring resources, resulting in large topological deviations in the final wiring, a dewiring and redistribution algorithm that considers the bus topology is used to consider the overall congestion when redistributing. value to ensure that the topological deviation between different signal bits can be minimized.
进一步地,所述针对FLUTE算法导致线段数量增加、布线空间的利用率降低,且无法保证总线拓扑结构的一致性的缺陷,采用基于拥塞拓扑重构策略,在总线拓扑结构一致性与线网线长之间寻求一个均衡点,以优化布线方案,具体包括以下步骤:Furthermore, in view of the shortcomings of the FLUTE algorithm that leads to an increase in the number of line segments, a reduction in the utilization of wiring space, and the inability to ensure the consistency of the bus topology, a congestion-based topology reconstruction strategy is adopted to balance the consistency of the bus topology and the length of the line network. Find a balance point among them to optimize the wiring plan, including the following steps:
步骤11:选出一组线网布线代价最大的线网组;Step 11: Select a group of wire nets with the highest wiring cost;
步骤12:遍历线网组中所有的伪Steiner点,确认其周围的拥塞程度;Step 12: Traverse all pseudo-Steiner points in the line network group and confirm the congestion level around them;
步骤13:剔除拥塞程度最大的伪Steiner点后通过Prim算法重新构造两端线网;Step 13: Eliminate the pseudo-Steiner points with the greatest congestion and reconstruct the line network at both ends through the Prim algorithm;
步骤14:对步骤13所构造的两端线网进行拆线重布。Step 14: Remove and redistribute the wire network at both ends constructed in Step 13.
进一步地,遍历每一个可能要被剔除的伪Steiner点,根据其两端线网计算拥塞代价Vtotal,再剔除拥塞代价最大的点;Vtotal的计算方式如下:Further, each pseudo-Steiner point that may be eliminated is traversed, the congestion cost V total is calculated based on the line network at both ends, and the point with the largest congestion cost is eliminated; V total is calculated as follows:
将拥塞程度用于计算构建两端线网所需的代价函数Vpath,计算方式为:The degree of congestion is used to calculate the cost function V path required to construct the line network at both ends. The calculation method is:
其中,path表示以伪Steiner点为端点的路径,e∈path表示路径中的每条边,d(e)表示边e的拥塞值,n表示以该伪Steiner点为端点的路径数量,D(pathi)表示该路径的拥塞代价之和,c(e)表示边e的容量。Among them, path represents the path with the pseudo-Steiner point as the endpoint, e∈path represents each edge in the path, d(e) represents the congestion value of edge e, n represents the number of paths with the pseudo-Steiner point as the endpoint, D( path i ) represents the sum of the congestion costs of the path, and c(e) represents the capacity of edge e.
进一步地,针对混合单向单调布线HUMR可能会产生布线资源的冲突,从而导致最终结果中布线产生很大的拓扑偏差的问题,采用考虑总线拓扑的拆线重布算法,在进行重布时考虑整体的拥塞值,保证不同信号位之间的拓扑偏差能达到最小,具体包括以下步骤:Furthermore, in order to solve the problem that hybrid unidirectional monotonic wiring HUMR may cause conflicts in wiring resources, resulting in large topological deviations in the wiring in the final result, a dewiring and redistribution algorithm that considers the bus topology is used to consider when redistributing The overall congestion value ensures that the topological deviation between different signal bits can be minimized, including the following steps:
步骤21:将选定的总线引脚对与布线区域中的非总线引脚对的布线路径进行拆除,拆除非总线的布线路径以保证布线局域内布线空间足够充足;Step 21: Remove the wiring paths between the selected bus pin pairs and the non-bus pin pairs in the wiring area, and remove the non-bus wiring paths to ensure sufficient wiring space in the wiring area;
步骤22:通过考虑整体的布线空间,为第一个信号位选择布线资源最为充足的布线路径,随后之后的每一条路径都以第一个信号位路径进行校准,以保证拓扑偏差与布线代价最小;Step 22: By considering the overall wiring space, select the wiring path with the most sufficient wiring resources for the first signal bit. Each subsequent path is calibrated with the first signal bit path to ensure that the topological deviation and wiring cost are minimized. ;
步骤23:对其余非总线引脚对进行布线以保证最终结果的连通性。Step 23: Route the remaining non-bus pin pairs to ensure connectivity in the final result.
进一步地,在迭代布线过程中,采用基于历史偏差的代价函数cost(N),且该历史代价函数随着迭代过程进行自适应修改调整;cost(N)的计算方式如下所示:Furthermore, during the iterative wiring process, the cost function cost(N) based on historical deviations is used, and the historical cost function is adaptively modified and adjusted along with the iterative process; the calculation method of cost(N) is as follows:
其中,p表示布线路径;be是布线代价且包括放置边的代价;ct是放置边所属区域的拥塞代价;dt是总线拓扑偏差代价;Among them, p represents the wiring path; b e is the wiring cost and includes the cost of placing the edge; c t is the congestion cost of the area where the edge is placed; d t is the bus topology deviation cost;
其中,ε是自定义的参数;i是迭代的次数;c(e)代表相邻G-Cell之间可用的布线轨道数量,而d(e)则表示实际已使用的布线轨道数量。Among them, ε is a custom parameter; i is the number of iterations; c(e) represents the number of wiring tracks available between adjacent G-Cells, and d(e) represents the number of actually used wiring tracks.
进一步地,在代价函数中加入偏差代价dt;dt的计算方式如下所示:Further, the deviation cost d t is added to the cost function; the calculation method of d t is as follows:
其中,α与β是自定义的参数,B为总线线网组的数量。Among them, α and β are customized parameters, and B is the number of bus line net groups.
相比于现有技术,本发明及其优选方案的主要区别和优势包括:Compared with the prior art, the main differences and advantages of the present invention and its preferred solutions include:
1.在布线过程中,基于FLUTE算法对布线资源进行预估后,提出了一种基于拥塞的拓扑重构算法来对拓扑结构进行优化,有效提高布线空间利用率。1. During the wiring process, after estimating wiring resources based on the FLUTE algorithm, a congestion-based topology reconstruction algorithm is proposed to optimize the topology and effectively improve the wiring space utilization.
2.设计一种启发式的拆线重布模型来完成对多信号位的总线进行重新布线,此外在拆线重布模型中运用了一种考虑拓扑结构的寻路算法,通过考虑布线空间的分布寻找最为合适的总线路径,有效降低总线时延。2. Design a heuristic dewiring and redistribution model to complete the rewiring of the bus with multiple signal bits. In addition, a pathfinding algorithm that considers the topology is used in the dewiring and redistribution model. By considering the routing space, Distribute and find the most suitable bus path to effectively reduce bus delay.
3.在迭代布线过程中,提出了一个自适应调整布线范围以及布线代价的迭代方案,进一步优化了总线拓扑结构的一致性。实验结果表明,本发明提出的算法和相关策略均能够有效减少总线的拓扑偏差。3. During the iterative wiring process, an iterative scheme is proposed to adaptively adjust the wiring range and wiring cost, further optimizing the consistency of the bus topology. Experimental results show that the algorithm and related strategies proposed by the present invention can effectively reduce the topological deviation of the bus.
附图说明Description of the drawings
图1为总线拓扑结构模型示意图;(a)2D布线方案;(b)真实视差图2D拓扑违规例子。Figure 1 is a schematic diagram of the bus topology model; (a) 2D wiring scheme; (b) real disparity map 2D topology violation example.
图2为本发明实施例拓扑重构说明图;(a)初始线网;(b)FLUTE算法构建两端线网;(c)基于布线代价构建;(d)基于拥塞代价构建。Figure 2 is an illustration of topology reconstruction according to an embodiment of the present invention; (a) initial line network; (b) FLUTE algorithm to construct a two-end line network; (c) construction based on wiring cost; (d) construction based on congestion cost.
图3为本发明实施例拆线重布说明图;(a)初始引脚分布;(b)确定第一条路径;(c)布线资源充足;(d)剩余布线资源不足。Figure 3 is an explanatory diagram of wire removal and redistribution according to an embodiment of the present invention; (a) initial pin distribution; (b) determination of the first path; (c) sufficient wiring resources; (d) insufficient remaining wiring resources.
具体实施方式Detailed ways
为让本专利的特征和优点能更明显易懂,下文特举实施例,作详细说明如下:In order to make the features and advantages of this patent more obvious and easy to understand, examples are given below and explained in detail as follows:
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本说明书使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。It should be noted that the following detailed description is illustrative and is intended to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used in this specification have the same meanings commonly understood by one of ordinary skill in the art to which this application belongs.
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application. As used herein, the singular forms are also intended to include the plural forms unless the context clearly indicates otherwise. Furthermore, it will be understood that when the terms "comprises" and/or "includes" are used in this specification, they indicate There are features, steps, operations, means, components and/or combinations thereof.
以下结合具体的实施例对本发明方案进行进一步的介绍:The solution of the present invention is further introduced below in conjunction with specific examples:
1.全局布线过程模型:1. Global wiring process model:
总线线网组由多个总线引脚组组成,同一总线线网组的每个引脚组包含多个引脚,其中同一引脚组的引脚相互平行排列且同一总线线网组的每一个引脚组的引脚数量相同,将其中的引脚定义为信号位,其中对于引脚组中的每个信号位,另一引脚组中都有相对应的信号位;每个信号位连接的导线段数量称做总线线段数量;总线拓扑结构由具体路径的布线线段以及布线方向组成。图1(a)展示了一组包含4位的总线线网的布线示例,该总线线网组由2个引脚组组成,两个引脚组中包含4个需要两两相连的引脚(bit1、bit2、bit3、bit4),其总线拓扑结构由三条总线线段组成,每条线段的布线方向皆保持一致。A bus net group consists of multiple bus pin groups. Each pin group of the same bus net group contains multiple pins. The pins of the same pin group are arranged in parallel with each other and each pin of the same bus net group The number of pins in the pin group is the same, and the pins are defined as signal bits. For each signal bit in the pin group, there is a corresponding signal bit in the other pin group; each signal bit is connected The number of wire segments is called the number of bus segments; the bus topology consists of wiring segments of specific paths and wiring directions. Figure 1(a) shows a wiring example of a group of 4-bit bus nets. The bus net group consists of 2 pin groups, and the two pin groups contain 4 pins that need to be connected in pairs ( bit1, bit2, bit3, bit4), its bus topology consists of three bus segments, and the wiring direction of each segment is consistent.
在总线布线问题中必须考虑2D拓扑结构不一致所带来的影响,如图1(b)所示的拓扑违规例子,bit1、bit2与bit3的连线中的总线线段数量不同;bit2与bit4的总线线段数量相同但是其布线线段方向存在不同,这种结构不一致将会导致同时出发的信号抵达时间不一致从而直接影响芯片的质量。In bus wiring problems, the impact of inconsistent 2D topology must be considered. As an example of topology violation shown in Figure 1(b), the number of bus segments in the connection between bit1, bit2 and bit3 is different; the bus between bit2 and bit4 The number of line segments is the same but the directions of the wiring segments are different. This structural inconsistency will lead to inconsistent arrival times of signals starting at the same time, which directly affects the quality of the chip.
考虑总线拓扑的全局布线问题为:给定一个z层的全局布线图Gz=(Vz,Ez),一个非总线线网集合N={n1,n2,…,nm}和一个总线线网组集合B={b1,b2,…,bn},对于每个非总线线网都有一组引脚集合P={p1,p2,…,pk},若为总线线网组则给定一组总线引脚组BP={bp0,bp 1,…,bpr},其中,bp0定义为源引脚组,bpj定义为汇引脚组;又给定每一布线层的布线容量C={c1,c2,…,cz},障碍集合O={o1,o2,…,oi}。根据引脚所在G-Cell的位置,将集合P映射到Gz=(Vz,Ez)的顶点上。我们需要对所有总线与非总线的引脚组进行布线并且保证Ctotal的加权和最小,Ctotal的计算方式如下:The global wiring problem considering the bus topology is: given a z-layer global wiring diagram G z = (V z ,E z ), a non-bus net set N = {n 1 , n 2 ,..., n m } and A set of bus nets B = {b 1 , b 2 ,…, b n }, and for each non-bus net there is a set of pins P = {p 1 , p 2 ,…, p k }, if As a bus line network group, a group of bus pin groups BP = {bp 0 , bp 1 ,..., bp r } is given, where bp 0 is defined as the source pin group and bp j is defined as the sink pin group; and Given the wiring capacity C={c 1 ,c 2 ,...,c z } of each wiring layer, the obstacle set O={o 1 ,o 2 ,...,o i }. According to the position of the G-Cell where the pin is located, the set P is mapped to the vertex of G z = (V z , E z ). We need to route all bus and non-bus pin groups and ensure that the weighted sum of C total is minimum. C total is calculated as follows:
其中,α与β为常数,Cw表示总线线网组busi布线的实际线长与理论最短线长之比,#bits表示总线线网组busi的信号位数,Cs表示总线线网组busi布线的实际线段数量与理论最短线段数量之比,#segs表示总线线网组busi的线段数量。Among them, α and β are constants, C w represents the ratio of the actual wire length of bus i wiring to the theoretical shortest wire length, #bits represents the number of signal bits in bus i , and C s represents the bus network. The ratio of the actual number of line segments in group bus i wiring to the theoretical shortest number of line segments. #segs represents the number of line segments in group bus i .
2.拓扑结构的重构策略:2. Topology reconstruction strategy:
由于总线线网组的引脚组通常大于2个,所以布线质量在很大程度上取决于布线线网组的拓扑结构。FLUTE算法为了保证线网长度最短,将会生成一个伪Steiner点,并依据该点生成多个两端线网,相当于在布线过程中将伪Steiner点作为一个必经之点,导致布线过程的约束增加、可布线的空间缩减。尽管其线长最短,但是线段数量将会大大增加,布线空间的利用率也大大降低,且无法保证总线拓扑结构的一致性。因此,本发明首先提出一种基于拥塞拓扑重构策略,可以在总线拓扑结构一致性与线网线长之间寻求一个均衡点,以优化布线方案。该算法的核心思想为通过拥塞代价图,将一些处于拥挤区域的伪Steiner点进行剔除,再重新构建两端线网,以在降低线段数量的同时优化拓扑结构的一致性。Since the bus net group usually has more than 2 pin groups, the wiring quality depends to a large extent on the topology of the wiring net group. In order to ensure that the length of the line network is the shortest, the FLUTE algorithm will generate a pseudo-Steiner point and generate multiple two-end line nets based on this point, which is equivalent to treating the pseudo-Steiner point as a must-pass point during the wiring process, resulting in constraints in the wiring process. Increased,routable space reduction. Although its wire length is the shortest, the number of wire segments will be greatly increased, the utilization of wiring space will be greatly reduced, and the consistency of the bus topology cannot be guaranteed. Therefore, the present invention first proposes a congestion-based topology reconstruction strategy, which can find a balance point between the consistency of the bus topology structure and the length of the line network to optimize the wiring plan. The core idea of this algorithm is to eliminate some pseudo-Steiner points in crowded areas through the congestion cost map, and then reconstruct the line network at both ends to optimize the consistency of the topology while reducing the number of line segments.
算法步骤如下:The algorithm steps are as follows:
步骤1:选出一组线网布线代价最大的线网组。Step 1: Select a group of nets with the highest wiring cost.
步骤2:遍历线网组中所有的Steiner点,确认其周围的拥塞程度。Step 2: Traverse all Steiner points in the line network group and confirm the congestion level around them.
步骤3:剔除拥塞程度最大的Steiner点后通过Prim算法重新构造两端线网。Step 3: Eliminate the Steiner points with the greatest congestion and reconstruct the line network at both ends through the Prim algorithm.
步骤4:对步骤3所构造的两端线网进行拆线重布。Step 4: Remove the wire nets at both ends constructed in step 3 and redistribute them.
如图2(a)所示,给定一个有3组引脚组的总线引脚组,该总线线网组存在一个源点与两个汇点。绿点为通过FLUTE算法寻找到的伪Steiner点,在该算法中将会遍历该伪Steiner点周围的布线空间。图2(b)中黑色方块代表拥塞程度较高的区域。由于在初始阶段中构建引脚时只考虑最短线长而不考虑拥塞,所以其中部分伪Steiner点对后续布线可能会产生负面影响。若经过该伪Steiner点的路径经过黑色方块的数量较多,则剔除该伪Steiner点,再进行重新规划。As shown in Figure 2(a), given a bus pin group with three pin groups, the bus net group has one source point and two sink points. The green point is the pseudo-Steiner point found through the FLUTE algorithm. In this algorithm, the wiring space around the pseudo-Steiner point will be traversed. The black squares in Figure 2(b) represent areas with higher congestion levels. Since only the shortest wire length is considered when building pins in the initial stage without considering congestion, some of these pseudo-Steiner points may have a negative impact on subsequent routing. If the path passing through the pseudo-Steiner point passes through a large number of black squares, the pseudo-Steiner point will be eliminated and re-planned.
剔除伪Steiner点并通过Prim算法重新生成拓扑结构后,若将线长作为Prim算法的计算代价,将会产生图2(c)所示的拓扑结构。而当使用布线代价与布线拥塞作为计算代价时,则产生图2(d)所示的拓扑结果。图2(d)的布线尽管线长比图2(b)所示结果长,但是经过拥塞区域比图2(c)少,且能够在有效避开拥塞过高的区域的同时保证后续布线的总线拓扑一致性。此外,产生拓扑偏差的线网一般都是跨度较大的线网,即布线区域较大的布线线网组。如此布线能够尽量绕开布线引脚密集的中心区域,沿着边框寻找路径也可以为其余布线范围较小的线网腾出更多的布线空间。After eliminating pseudo-Steiner points and regenerating the topology through the Prim algorithm, if the line length is used as the calculation cost of the Prim algorithm, the topology shown in Figure 2(c) will be generated. When the wiring cost and wiring congestion are used as the calculation cost, the topology result shown in Figure 2(d) is produced. Although the wiring length of Figure 2(d) is longer than the result shown in Figure 2(b), it passes through less congested areas than Figure 2(c), and can effectively avoid areas with excessive congestion while ensuring the safety of subsequent wiring. Bus topology consistency. In addition, the wire nets that produce topological deviations are generally wire nets with a larger span, that is, a wiring net group with a larger wiring area. Such wiring can try to avoid the central area where wiring pins are densely packed, and finding a path along the border can also free up more wiring space for other wire nets with smaller wiring ranges.
因此,基于拥塞拓扑重构策略的关键就在于确定需要剔除的伪Steiner点与构建新的两端线网所用的代价函数。遍历每一个可能要被剔除的伪Steiner点,根据其两端线网计算拥塞代价Vtotal,再剔除拥塞代价最大的点。Vtotal的计算方式如下:Therefore, the key to the congestion-based topology reconstruction strategy is to determine the pseudo-Steiner points that need to be eliminated and the cost function used to construct a new two-end line network. Traverse each pseudo-Steiner point that may be eliminated, calculate the congestion cost V total based on its two-end line network, and then eliminate the point with the largest congestion cost. V total is calculated as follows:
此外,通过Prim算法来构建两端线网最关键的是计算两点之间的代价,因此将拥塞程度用于计算构建两端线网所需的代价函数Vpath,计算方式为:In addition, the most critical thing for constructing a two-end line network through Prim's algorithm is to calculate the cost between two points. Therefore, the congestion level is used to calculate the cost function V path required to construct a two-end line network. The calculation method is:
其中,path表示以该伪Steiner点为端点的路径,e∈path表示路径中的每条边,d(e)表示边e的拥塞值,n表示以该伪Steiner点为端点的路径数量,D(pathi)表示该路径的拥塞代价之和,c(e)表示边e的容量。Among them, path represents the path with the pseudo-Steiner point as the endpoint, e∈path represents each edge in the path, d(e) represents the congestion value of edge e, n represents the number of paths with the pseudo-Steiner point as the endpoint, D (path i ) represents the sum of congestion costs of the path, and c(e) represents the capacity of edge e.
3.基于总线拓扑结构的拆线重布策略3. Wire removal and redistribution strategy based on bus topology
混合单向单调布线(Hybrid Unilateral Monotonic Routing,HUMR)给定一个重布的边界框,将其中的每个点都看成“中间点”。布线路径由重布的边界框中的两条路径组成。计算每条布线路径的起点与终点到“中间点”的代价,从中选取两条代价最小的路径组成最终路径。此外,由于这样的布线方式根据顺序依次寻找到每次迭代中最优的路径,可能会产生布线资源的冲突,从而导致最终结果中布线产生很大的拓扑偏差。为了避免该情况的发生,本发明提出一种考虑总线拓扑的拆线重布算法,在进行重布时考虑整体的拥塞值,保证不同信号位之间的拓扑偏差能达到最小。该算法主要由以下步骤组成:Hybrid Unilateral Monotonic Routing (HUMR) is given a redistributed bounding box, and each point in it is regarded as an "intermediate point". The routing path consists of two paths within the rerouted bounding box. Calculate the cost from the starting point and end point of each wiring path to the "middle point", and select the two paths with the lowest cost to form the final path. In addition, since such a wiring method sequentially finds the optimal path in each iteration, conflicts in wiring resources may occur, resulting in large topological deviations in the wiring in the final result. In order to avoid this situation, the present invention proposes a wire removal and redistribution algorithm that takes the bus topology into consideration. The overall congestion value is taken into account when redistributing to ensure that the topological deviation between different signal bits can be minimized. The algorithm mainly consists of the following steps:
步骤1:首先是将选定的总线引脚对与布线区域中的非总线引脚对的布线路径进行拆除,拆除非总线的布线路径以保证布线局域内布线空间足够充足;Step 1: First, remove the wiring paths between the selected bus pin pairs and the non-bus pin pairs in the wiring area, and remove the non-bus wiring paths to ensure sufficient wiring space in the wiring area;
步骤2:通过考虑整体的布线空间,为第一个信号位选择布线资源最为充足的布线路径,随后之后的每一条路径都以第一个信号位路径进行校准,以保证拓扑偏差与布线代价最小;Step 2: By considering the overall wiring space, select the wiring path with the most sufficient wiring resources for the first signal bit. Each subsequent path is calibrated with the first signal bit path to ensure that the topological deviation and wiring cost are minimized. ;
步骤3:最后对其余非总线引脚对进行布线保证最终结果的连通性。Step 3: Finally, route the remaining non-bus pin pairs to ensure connectivity in the final result.
下面通过图3的例子以来解释拥塞驱动的重布线技术。对于一个有四个信号位的总线来说,如图3(a)所示总线引脚组的位置决定了其布线空间为6×5的矩形网格;并且由于布线的复杂性布线空间中的布线资源也不一致,之后如图3(b)所示通过拥塞程度选择能够通过最多信号位的路径。The congestion-driven rewiring technology is explained below through the example of Figure 3. For a bus with four signal bits, the location of the bus pin group as shown in Figure 3(a) determines its wiring space as a 6×5 rectangular grid; and due to the complexity of wiring, The wiring resources are also inconsistent, and then the path that can pass the most signal bits is selected based on the congestion level as shown in Figure 3(b).
在得到第一条布线路径后后续的布线将分两种情况考虑,第一种情况是布线的信号位数量小于初始路径所允许通过的最大布线数,那么该总线线网组的所有信号位选择第一条布线路径作为最终布线方案如图3(c)所示,以此保证最终布线方案的偏差以及拓扑的一致性。After the first wiring path is obtained, subsequent wiring will be considered in two cases. The first case is that the number of signal bits is less than the maximum number of wiring allowed by the initial path, then all signal bits of the bus line network group are selected. The first wiring path is used as the final wiring scheme as shown in Figure 3(c) to ensure the deviation of the final wiring scheme and the consistency of the topology.
第二种情况是布线的信号位数量大于初始路径所允许通过的最大布线数,为了保证总线拓扑一致性通过平移可移动导线进行路径搜寻,移动路径后寻找到其余布线资源充足的空间进行布线,最终布线结果如图3(d)所示。因此,拥塞驱动的重技术的关键就在于确定初始路径的位置以及移动后的路径。The second case is that the number of signal bits wired is greater than the maximum number of wires allowed by the initial path. In order to ensure the consistency of the bus topology, path search is performed by translating the movable wires. After moving the path, a space with sufficient wiring resources is found for routing. The final wiring result is shown in Figure 3(d). Therefore, the key to congestion-driven heavy technology is to determine the location of the initial path and the moved path.
在这个迭代布线过程中,由于历史代价函数的确定对最终布线结果有着不可忽视的影响,因此在本发明中提出一种基于历史偏差的代价函数cost(N),且该历史代价函数随着迭代过程进行自适应修改调整。cost(N)的计算方式如下所示:In this iterative wiring process, since the determination of the historical cost function has a non-negligible impact on the final wiring result, the present invention proposes a cost function cost(N) based on historical deviations, and the historical cost function increases with the iteration The process is adaptively modified and adjusted. cost(N) is calculated as follows:
其中,p表示布线路径;be是布线代价其中包括放置边的代价;ct是放置边所属区域的拥塞代价;dt是总线拓扑偏差代价。Among them, p represents the wiring path; b e is the wiring cost, which includes the cost of placing the edge; c t is the congestion cost of the area where the edge is placed; d t is the bus topology deviation cost.
其中,ε是自定义的参数;i是迭代的次数;c(e)代表相邻G-Cell之间可用的布线轨道数量,而d(e)则表示实际已使用的布线轨道数量。be将随着迭代次数的增加而减小,这样以保证随着迭代的进行能够减弱放置边对布线的影响,从而期望引脚对往拥塞值小的区域进行布线,而不会出现较短线长但拥塞过大的情况。但是,对于总线引脚组而言,随着迭代的进行线长代价函数的减小可能会造成总线偏差的增大。因此,为了尽量消除这种影响,在代价函数中加入偏差代价dt。dt的计算方式如下所示:Among them, ε is a custom parameter; i is the number of iterations; c(e) represents the number of wiring tracks available between adjacent G-Cells, and d(e) represents the number of actually used wiring tracks. b e will decrease as the number of iterations increases, so as to ensure that the impact of edge placement on routing can be weakened as the iterations progress, so that pin pairs are expected to be routed to areas with small congestion values without short lines. long but excessive congestion. However, for bus pin groups, the decrease in the wire length cost function as iterations progress may cause the bus deviation to increase. Therefore, in order to eliminate this effect as much as possible, the deviation cost d t is added to the cost function. d t is calculated as follows:
其中,α与β是自定义的参数,B为总线线网组的数量。Among them, α and β are customized parameters, and B is the number of bus line net groups.
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。The above are only preferred embodiments of the present invention, and are not intended to limit the present invention in other forms. Any skilled person familiar with the art may make changes or modifications to equivalent changes using the technical contents disclosed above. Example. However, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention still fall within the protection scope of the technical solution of the present invention.
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于多策略的总线拓扑感知全局布线方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。This patent is not limited to the above-mentioned best implementation. Under the inspiration of this patent, anyone can come up with various other forms of bus topology-aware global wiring methods based on multi-strategy. All methods made within the scope of the patent application of this invention are equal. Changes and modifications shall fall within the scope of this patent.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311466182.7A CN117272917A (en) | 2023-11-07 | 2023-11-07 | Bus topology perception global wiring method based on multiple strategies |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311466182.7A CN117272917A (en) | 2023-11-07 | 2023-11-07 | Bus topology perception global wiring method based on multiple strategies |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117272917A true CN117272917A (en) | 2023-12-22 |
Family
ID=89219812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311466182.7A Pending CN117272917A (en) | 2023-11-07 | 2023-11-07 | Bus topology perception global wiring method based on multiple strategies |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117272917A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118656334A (en) * | 2024-08-20 | 2024-09-17 | 苏州元脑智能科技有限公司 | Topology generation method, electronic device, storage medium and product |
-
2023
- 2023-11-07 CN CN202311466182.7A patent/CN117272917A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118656334A (en) * | 2024-08-20 | 2024-09-17 | 苏州元脑智能科技有限公司 | Topology generation method, electronic device, storage medium and product |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795908B (en) | Skew-driven bus-aware general routing approach | |
CN111291525B (en) | Layer assignment method considering bus and non-bus nets | |
JP3564295B2 (en) | Cell arrangement apparatus and method, and computer-readable recording medium recording cell arrangement program | |
CN111814420B (en) | Overall wiring method based on topological optimization and heuristic search | |
CN113449479B (en) | A Layer Allocation Method Considering Bus Timing Matching | |
CN112181867B (en) | On-chip network memory controller layout method based on multi-target genetic algorithm | |
WO2021169468A1 (en) | Method for constructing x-structure steiner tree by taking into consideration voltage slew rate | |
CN117272917A (en) | Bus topology perception global wiring method based on multiple strategies | |
CN111709205A (en) | FPGA wiring method | |
CN112733484A (en) | X-structure Steiner tree construction method under Slew constraint based on multi-strategy optimization | |
CN117556758A (en) | FPGA layout wiring method for optimizing time sequence | |
CN117422041A (en) | Training method for automatic wiring model of analog chip and automatic wiring method | |
Hsu et al. | Multi-layer global routing considering via and wire capacities | |
CN111723545B (en) | Parallel layer distribution method based on through hole perception under super-large scale integrated circuit | |
WO2021169302A1 (en) | Via pillar perception layer distributor capable of minimizing time delay and overflow under advanced manufacturing process | |
CN115983187A (en) | Layer Allocation Method Considering Bus Skew Based on Multiple Strategies | |
CN114970442B (en) | Multi-layer global wiring method considering bus perception | |
CN117669445A (en) | FPGA-oriented on-chip and inter-chip collaborative wiring method | |
US8151232B2 (en) | Repeater driven routing methodology | |
CN113836861B (en) | High-quality layer allocation method for avoiding slew violations | |
CN117875254A (en) | Layer allocation method considering bus topology | |
CN116402010B (en) | Multi-instance block top-level wiring method based on Steiner tree algorithm | |
CN116127906A (en) | High performance layer distribution method under advanced through hole column technology | |
CN117113920A (en) | An overall wiring method, device and storage medium for integrated circuit layout | |
CN116663488B (en) | A multi-level overall wiring method and system |
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 |