CN107832519B - Multilayer overall wiring method for high-performance X structure in ultra-large scale integrated circuit - Google Patents
Multilayer overall wiring method for high-performance X structure in ultra-large scale integrated circuit Download PDFInfo
- Publication number
- CN107832519B CN107832519B CN201711060869.5A CN201711060869A CN107832519B CN 107832519 B CN107832519 B CN 107832519B CN 201711060869 A CN201711060869 A CN 201711060869A CN 107832519 B CN107832519 B CN 107832519B
- Authority
- CN
- China
- Prior art keywords
- wiring
- routing
- channel capacity
- capacity
- channel
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000005457 optimization Methods 0.000 claims abstract description 52
- 238000012360 testing method Methods 0.000 claims abstract description 12
- 239000002245 particle Substances 0.000 claims description 18
- 238000013468 resource allocation Methods 0.000 claims description 9
- 238000000354 decomposition reaction Methods 0.000 claims description 5
- 239000004744 fabric Substances 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 17
- 230000009467 reduction Effects 0.000 abstract description 14
- 238000004088 simulation Methods 0.000 abstract description 2
- 239000010410 layer Substances 0.000 description 43
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 230000006872 improvement Effects 0.000 description 9
- 238000011160 research Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 7
- 238000010187 selection method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 3
- 238000004804 winding Methods 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种超大规模集成电路中高性能X结构多层总体布线方法,在XGRouter布线器的基础上,提供了包括:增加新类型的布线方式,子群优化算法与基于新布线代价的迷宫布线的结合,初始阶段中预布线容量的缩减策略,设计动态资源调度策略,继而引入了多层布线模型,简化了XGRouter的整数线性规划模型,最终构建了一种高性能的X结构多层总体布线器。通过在标准测试电路的仿真实验结果表明,相对其他各类总体布线器,在多层总体布线中最重要的优化目标——溢出数和线长总代价两个指标上均取得最佳效果。
The invention relates to a high-performance X-structure multi-layer overall wiring method in a super large-scale integrated circuit. On the basis of the XGRouter router, the invention provides a new type of wiring method, a subgroup optimization algorithm and a labyrinth wiring based on the new wiring cost. The combination of the pre-wiring capacity reduction strategy in the initial stage, the design of the dynamic resource scheduling strategy, and then the introduction of the multi-layer wiring model, which simplifies the integer linear programming model of XGRouter, and finally builds a high-performance X-structure multi-layer overall wiring device. The simulation results of the standard test circuit show that, compared with other types of overall routers, the most important optimization objectives in multi-layer overall routing—the overflow number and the total cost of line length, both achieve the best results.
Description
技术领域technical field
本发明涉及集成电路计算机辅助设计技术领域,特别是一种超大规模集成电路中高性能X结构多层总体布线方法。The invention relates to the technical field of integrated circuit computer-aided design, in particular to a high-performance X-structure multi-layer overall wiring method in an ultra-large-scale integrated circuit.
背景技术Background technique
随着半导体和互连线的大小不断缩小,互连线严重影响很多关键的设计指标,因此,作为组织互连线的实际走线位置的布线阶段在现今超大规模集成电路(very largescale integration,简称VLSI)物理设计中变得尤为重要。复杂的布线过程是由总体布线和详细布线两阶段构成的。在总体布线中,每个线网的走线被分配到各个通道布线区域中,每个通道区域的布线问题得到明确定义。而详细布线则给出了每个线网在通道区域的具体位置。因此,总体布线的质量严重影响详细布线的成功率,进而对整个芯片的性能起到决定性的作用。As the size of semiconductors and interconnects continues to shrink, interconnects seriously affect many key design indicators. Therefore, the routing stage, which organizes the actual routing positions of interconnects, is currently used in very large-scale integration (very largescale integration, referred to as for short). VLSI) physical design becomes particularly important. The complex routing process is composed of two stages: general routing and detailed routing. In the overall routing, the routing of each net is assigned to each channel routing area, and the routing problem of each channel area is clearly defined. The detailed routing gives the specific location of each net in the channel area. Therefore, the quality of the overall routing seriously affects the success rate of detailed routing, which in turn plays a decisive role in the performance of the entire chip.
总体布线是超大规模集成电路物理设计中极为重要的一部分,因而学者们提出了很多有效的算法和总体布线技术,主要可分为串行算法和并行算法两种,特别是以串行算法为代表的总体布线方法能够处理大规模的问题。但串行算法对线网的布线顺序或是布线代价的定义具有严重的依赖性,这一潜在特性严重影响了总体布线的质量。而以整数线性规划为代表的并行算法能够减少布线结果对线网顺序的依赖性,取得质量较好的总体布线方案。这些以整数线性规划为代表的部分方法在求解整数线性规划模型是先将其松弛为线性规划模型以减少求解规划模型的时间复杂度,再利用随机取整的方法将线性解转换为非线性解,这样导致随机取整的过程所取得的布线方案可能严重偏离真正的解方案。Overall routing is an extremely important part of the physical design of VLSI, so scholars have proposed many effective algorithms and overall routing techniques, which can be mainly divided into serial algorithms and parallel algorithms, especially serial algorithms. The overall wiring approach is able to handle large-scale problems. However, the serial algorithm has a serious dependence on the routing order of the net or the definition of the routing cost, and this potential characteristic seriously affects the overall routing quality. The parallel algorithm represented by integer linear programming can reduce the dependence of the wiring result on the order of the net, and obtain a better overall wiring scheme. Some of these methods represented by integer linear programming solve the integer linear programming model by first relaxing it into a linear programming model to reduce the time complexity of solving the programming model, and then using the random rounding method to convert the linear solution into a nonlinear solution. , so that the routing scheme obtained by the random rounding process may seriously deviate from the real solution.
大部分总体布线算法都是以曼哈顿结构为模型基础开展相关工作,而基于曼哈顿结构的优化策略在进行互连线线长优化时,由于绕线方向只能为水平和垂直,其优化能力受限。因此,有必要从根本入手,改变传统的曼哈顿结构,故研究人员开始尝试以非曼哈顿结构为基础模型进行布线,实现芯片整体性能的优化。学者对能带来可观的线长减少量等物理设计指标提高的非曼哈顿结构已展开研究,特别是出现专门的工业联盟推广X结构,为这样的研究提供实现和验证基础。目前关于X结构布线的研究主要包括两方面:X结构布线树的构造和X结构总体布线算法设计。随着X结构的引入,布线算法设计变得更为的复杂。然而,一些关于X结构总体布线的研究主要集中在线长优化,这些算法是基于早期的Steiner树构造方法,从而导致了这些X结构总体布线算法相对于曼哈顿结构总体布线算法的优化效果不明显,甚至部分工作的布线结果相对曼哈顿结构的布线结果在线长总代价优化能力方面显得更差。Most of the overall routing algorithms are based on the Manhattan structure model. When the optimization strategy based on the Manhattan structure is used to optimize the length of the interconnecting line, its optimization ability is limited because the winding direction can only be horizontal and vertical. . Therefore, it is necessary to start from the root and change the traditional Manhattan structure, so researchers began to try to use the non-Manhattan structure as the basic model for wiring to achieve the optimization of the overall performance of the chip. Scholars have carried out research on non-Manhattan structures that can bring about a considerable reduction in line length and other physical design indicators. In particular, the emergence of a special industrial alliance to promote the X structure provides the basis for realization and verification of such research. The current research on the X-structure wiring mainly includes two aspects: the construction of the X-structure wiring tree and the overall routing algorithm design of the X-structure. With the introduction of the X structure, the routing algorithm design becomes more complex. However, some researches on the overall routing of the X-structure mainly focus on the line length optimization, and these algorithms are based on the early Steiner tree construction method, which leads to the fact that the overall routing algorithm of the X-structure is less effective than the overall routing algorithm of the Manhattan structure. The routing results of the partial work are worse than the routing results of the Manhattan structure in terms of the ability to optimize the total cost of the line length.
随着集成电路设计进入纳米领域,布线金属层数增加,线宽大幅度减少,而连线间距也大幅度减小,使电路的性能和密度得到了很大的提高,因此多层布线应运而生,并且引起了诸多研究机构的广泛关注。而现有关于非曼哈顿结构总体布线问题的研究中,仅局限于单层结构总体布线问题的研究,据我们所知,尚未开展考虑到非曼哈顿结构、多层结构两个条件的总体布线算法研究。As the design of integrated circuits enters the nano field, the number of wiring metal layers increases, the line width is greatly reduced, and the wiring spacing is also greatly reduced, which greatly improves the performance and density of the circuit, so multi-layer wiring emerges as the times require. , and has attracted extensive attention from many research institutions. However, the existing research on the overall routing problem of non-Manhattan structure is limited to the research on the overall routing problem of single-layer structure. As far as we know, there is no research on the overall routing algorithm considering the two conditions of non-Manhattan structure and multi-layer structure. .
发明内容SUMMARY OF THE INVENTION
本发明的目的在于提供一种超大规模集成电路中高性能X结构多层总体布线方法,以克服现有技术中存在的缺陷。The purpose of the present invention is to provide a high-performance X-structure multilayer overall wiring method in VLSI, so as to overcome the defects existing in the prior art.
为实现上述目的,本发明的技术方案是:一种超大规模集成电路中高性能X结构多层总体布线方法,包括如下步骤:In order to achieve the above object, the technical scheme of the present invention is: a high-performance X-structure multi-layer overall wiring method in a very large-scale integrated circuit, comprising the following steps:
步骤S1:在初始布线阶段,建立X结构Steiner最小树;Step S1: In the initial wiring stage, establish the X-structure Steiner minimum tree;
步骤S2:进行多端线网分解;Step S2: carry out multi-terminal line network decomposition;
步骤S3:将初始布线阶段的预布线容量缩减到原容量的一半;Step S3: reducing the pre-wiring capacity in the initial wiring stage to half of the original capacity;
步骤S4:判断当前两端线网是否满足可连接条件;若满足,则进行预连接,并遍历所有线网;否则,遍历所有线网;Step S4: judging whether the current wire nets at both ends meet the connectable conditions; if so, perform pre-connection and traverse all wire nets; otherwise, traverse all wire nets;
步骤S5:遍历完成后,进入布线主阶段;Step S5: After the traversal is completed, enter the main stage of wiring;
步骤S6:寻找最拥挤区域作为当前布线区域;Step S6: find the most crowded area as the current wiring area;
步骤S7:将完全位于所述当前布线区域的两端线网加入布线集合;Step S7: adding the wire nets at both ends completely located in the current wiring area to the wiring set;
步骤S8:通过新增走线方式,并建立ILP模型,在每次布线区域内采用基于粒子群优化算法求解最优解;Step S8 : by adding a new routing method and establishing an ILP model, the particle swarm optimization algorithm is used to solve the optimal solution in each routing area;
步骤S9:判断所述基于粒子群优化算法求解所获取的最优解对应的线网是否可连接;若是,则将该线网标记为连接,否则,标记为未连接;Step S9: judging whether the wire net corresponding to the optimal solution obtained based on the particle swarm optimization algorithm solution can be connected; if so, mark the wire net as connected, otherwise, mark it as unconnected;
步骤S10:采用基于新布线边代价的迷宫算法进行布线;Step S10: use the maze algorithm based on the new routing edge cost for routing;
步骤S11:判断布线区域是否可扩张,若是,则按照预设阈值扩张布线区域,并转至所述步骤S7;否则,转至步骤S12;Step S11: determine whether the wiring area can be expanded, if so, expand the wiring area according to the preset threshold, and go to the step S7; otherwise, go to the step S12;
步骤S12:基于动态资源调度,并采用多层布线模型的层调度,完成X结构多层总体布线。Step S12: Based on the dynamic resource scheduling, and using the layer scheduling of the multi-layer wiring model, the overall wiring of the X-structure multi-layer is completed.
在本发明一实施例中,在所述步骤S8中,所述新类型的走线方式包括:对于直接连线的两端线网引脚夹角为0°、45°、90°或135,采用如下方式连接:In an embodiment of the present invention, in the step S8, the new type of routing method includes: if the angle between the wire mesh pins at both ends of the direct connection is 0°, 45°, 90° or 135°, using Connect as follows:
方式一:450边和1350边交替连接;Method 1 : 450 sides and 1350 sides are alternately connected;
方式二:450边、1350边和水平边或垂直边交替连接;Method 2 : 450 sides, 1350 sides and horizontal or vertical sides are alternately connected;
方式三:水平边和垂直边交替连接。Method 3: The horizontal and vertical sides are alternately connected.
在本发明一实施例中,在所述步骤S12中,所述动态资源调度包括:对于具有通道容量相关性的稀疏通道和拥挤通道,在总通道容量不变的情况下,通过设置通道容量动态分配阈值以及资源分配额度,采用通道容量动态分配,将两个通道所分得的通道容量趋于适应目标线网的布线需求。In an embodiment of the present invention, in the step S12, the dynamic resource scheduling includes: for sparse channels and congested channels with channel capacity correlations, under the condition that the total channel capacity remains unchanged, by setting the channel capacity dynamic The allocation threshold and resource allocation quota are dynamically allocated by channel capacity, and the channel capacity obtained by the two channels tends to adapt to the wiring requirements of the target network.
在本发明一实施例中,基于逐个测试每个被连接的通道容量动态分配的可行性,对需要的通道进行通道容量动态分配。In an embodiment of the present invention, based on testing the feasibility of dynamic allocation of each connected channel capacity one by one, dynamic allocation of channel capacity is performed on the required channels.
在本发明一实施例中,在互为通道容量相关通道的稀疏通道和拥挤通道间进行通道容量动态分配。In an embodiment of the present invention, dynamic allocation of channel capacity is performed between sparse channels and crowded channels that are channels related to each other in channel capacity.
在本发明一实施例中,所述通道容量动态分配阈值为2,资源分配额度为2。In an embodiment of the present invention, the channel capacity dynamic allocation threshold is 2, and the resource allocation quota is 2.
相较于现有技术,本发明具有以下有益效果:Compared with the prior art, the present invention has the following beneficial effects:
(1)新布线器的主阶段布线相对于XGRouter引入了新类型的走线方式和基于新布线代价的迷宫布线与结合采用PSO算法求解,增加新类型的走线方式有助于提升初始阶段放弃连接的两端线网在主阶段的布通率,同时,将迷宫布线策略移至主阶段每次box区域内采用PSO进行布线后,有助于当前box区域内未布通线网集合以更高的布通率完成布线工作。(1) Compared with XGRouter, the main stage routing of the new router introduces a new type of routing method and maze routing based on the new routing cost, combined with the PSO algorithm to solve, adding a new type of routing method helps to improve the initial stage abandonment At the same time, moving the maze routing strategy to the main stage after using PSO for wiring in the box area each time, it will help the collection of undistributed nets in the current box area to achieve higher The routing rate completes the wiring work.
(2)新布线器的初始布线相对于XGRouter,将初始布线阶段的预布线容量缩减到原容量的一半,使得部分线网和布线资源能够留在主阶段进行布线,更充分利用PSO算法的全局优化能力,同时进一步加强新类型的走线方式和基于新布线代价的迷宫布线与结合采用PSO算法求解。(2) Compared with XGRouter, the initial wiring of the new router reduces the pre-wiring capacity of the initial wiring stage to half of the original capacity, so that some wire nets and wiring resources can be left in the main stage for wiring, making more full use of the global PSO algorithm The optimization ability is further strengthened, and the new type of routing method and the maze routing based on the new routing cost are combined with the PSO algorithm to solve.
(3)由于XGRouter中各个布线边的容量是常量,在布线过程中容量是静止不变的,从而有可能造成部分布线边被利用得少而处于稀疏状态,部分布线边被过分利用而处于拥挤状态。在高性能X结构多层总体布线器FZU-Router的设计中引入了动态资源调度策略,在布线的过程中对布线资源进行动态调整,以更充分利用布线资源进行布线,进一步提高了总体布线器在溢出数和线长总代价两方面的优化能力,并达到了最佳。(3) Since the capacity of each wiring edge in XGRouter is constant, the capacity is static during the wiring process, which may cause some wiring edges to be underutilized and in a sparse state, and some wiring edges are overused and crowded state. In the design of the high-performance X-structure multilayer overall router FZU-Router, a dynamic resource scheduling strategy is introduced, and the routing resources are dynamically adjusted during the routing process to make more full use of the routing resources for routing, which further improves the overall router. The optimization ability in the two aspects of overflow number and total line length cost has reached the best.
(4)本发明构造的高性能X结构多层总体布线器FZU-Router是用于求解多层总体布线问题,层分配策略采用基于前期工作中所验证过的最佳多层布线模型,在层分配阶段将相关线网的片段分配到合适的布线层上。(4) The high-performance X-structure multi-layer overall router FZU-Router constructed by the present invention is used to solve the multi-layer overall wiring problem, and the layer allocation strategy adopts the best multi-layer wiring model verified in the previous work. The assignment phase assigns segments of the relevant nets to the appropriate routing layers.
附图说明Description of drawings
图1为本发明中一种超大规模集成电路中高性能X结构多层总体布线方法的流程图。FIG. 1 is a flowchart of a high-performance X-structure multi-layer overall wiring method in a VLSI according to the present invention.
图2(a)为本发明一实施例中初始的引脚分布示意图。FIG. 2( a ) is a schematic diagram of an initial pin distribution in an embodiment of the present invention.
图2(b)为本发明一实施例中X结构Steiner最小树的布线方案示意图。FIG. 2( b ) is a schematic diagram of the wiring scheme of the Steiner minimum tree of the X structure in an embodiment of the present invention.
图3(a)为本发明一实施例中分布在布线图上的两个待布线线网示意图。FIG. 3( a ) is a schematic diagram of two wire nets to be wired distributed on the wiring diagram according to an embodiment of the present invention.
图3(b)为本发明一实施例中将N2的分解及为每个两端线网构造候选解示意图。FIG. 3( b ) is a schematic diagram of decomposing N2 and constructing candidate solutions for each two-end net in an embodiment of the present invention.
图4为本发明一实施例中多层布线模型的层调度示意图。FIG. 4 is a schematic diagram of layer scheduling of a multi-layer wiring model according to an embodiment of the present invention.
图5为本发明一实施例中是四种在初始布线阶段可直接连线的两端线网引脚分布情况示意图。FIG. 5 is a schematic diagram showing the pin distribution of four types of wire nets at both ends that can be directly connected in the initial wiring stage according to an embodiment of the present invention.
图6为本发明一实施例中在初始布线阶段由于布线边容量限制造成未能直接连线的四种情况示意图。FIG. 6 is a schematic diagram of four situations in which direct connection cannot be made due to the limitation of the capacity of the wiring side in the initial wiring stage according to an embodiment of the present invention.
图7(a)为本发明一实施例中新增的布线边选择方式中N1的引脚跨越偶数网格示意图。FIG. 7( a ) is a schematic diagram showing that the pins of N1 cross even-numbered grids in the newly added wiring edge selection method according to an embodiment of the present invention.
图7(b)为本发明一实施例中新增的布线边选择方式中N1的引脚跨越奇数网格示意图。FIG. 7( b ) is a schematic diagram showing that the pins of N1 cross an odd-numbered grid in a newly added wiring edge selection method according to an embodiment of the present invention.
图7(c)为本发明一实施例中新增的布线边选择方式中N2示意图。FIG. 7( c ) is a schematic diagram of N2 in a newly added wiring edge selection method in an embodiment of the present invention.
图8为本发明一实施例中主阶段采用PSO与基于新布线边代价的迷宫布线的结合策略示意图。FIG. 8 is a schematic diagram of a combination strategy of using PSO in the main stage and labyrinth routing based on new routing edge cost in an embodiment of the present invention.
图9(a)为本发明一实施例中初始布线阶段未采用预布线容量缩减示意图。FIG. 9( a ) is a schematic diagram of capacity reduction without pre-wiring in the initial wiring stage according to an embodiment of the present invention.
图9(b)为本发明一实施例中初始布线阶段采用预布线容量缩减示意图。FIG. 9( b ) is a schematic diagram of reducing the capacity of pre-wiring in the initial wiring stage according to an embodiment of the present invention.
图10为本发明一实施例中通道容量相关性示意图。FIG. 10 is a schematic diagram of channel capacity correlation in an embodiment of the present invention.
图11(a)为本发明一实施例中未采用动态资源分配示意图。FIG. 11( a ) is a schematic diagram of not using dynamic resource allocation in an embodiment of the present invention.
图11(b)为本发明一实施例中采用动态分配示意图。FIG. 11(b) is a schematic diagram of dynamic allocation in an embodiment of the present invention.
图12为本发明一实施例中算法1流程图。FIG. 12 is a flowchart of
图13为本发明一实施例中算法2流程图。FIG. 13 is a flowchart of
图14为本发明一实施例中算法3流程图。FIG. 14 is a flowchart of
具体实施方式Detailed ways
下面结合附图,对本发明的技术方案进行具体说明。The technical solutions of the present invention will be described in detail below with reference to the accompanying drawings.
针对考虑到非曼哈顿结构和多层布线结构两个重要条件的总体布线问题,以X结构作为非曼哈顿结构的代表,本发明在前期单层总体布线算法研究的基础上,基于整数规划模型(integer linear programming,简称ILP)和粒子群优化算法(particle swarmoptimization,简称PSO),针对现有工作存在的一系列不足,提出了四种有效的改进策略,并引入了多层布线模型和层调度策略,从而构建了一种高性能X结构多层总体布线器,称为FZU-Router。本发明工作是第一次有效解决X结构多层总体布线问题,并在多层总体布线问题的基准电路上的仿真实验结果也充分验证本发明相关策略和算法的可行性和有效性,同时在多层布线问题中溢出数和线长总代价两个最重要指标带来显著优化效果。Aiming at the overall wiring problem considering the two important conditions of non-Manhattan structure and multi-layer wiring structure, taking X structure as the representative of non-Manhattan structure, the present invention is based on the integer programming model (integer Linear programming (ILP) and particle swarm optimization (PSO), aiming at a series of deficiencies in the existing work, proposed four effective improvement strategies, and introduced a multi-layer wiring model and layer scheduling strategy. Thus, a high-performance X-structure multilayer overall router is constructed, called FZU-Router. The work of the present invention is the first time to effectively solve the multi-layer overall wiring problem of the X structure, and the simulation experiment results on the reference circuit of the multi-layer overall wiring problem also fully verify the feasibility and effectiveness of the relevant strategies and algorithms of the present invention. In the multi-layer wiring problem, the two most important indicators, the number of overflows and the total cost of line length, bring significant optimization effects.
进一步的,本发明提供的一种超大规模集成电路中高性能X结构多层总体布线方法,如图1所示,包括如下步骤:Further, a high-performance X-structure multilayer overall wiring method in a VLSI provided by the present invention, as shown in FIG. 1 , includes the following steps:
步骤S1:在初始布线阶段,建立X结构Steiner最小树;Step S1: In the initial wiring stage, establish the X-structure Steiner minimum tree;
进一步的,在本实施例中,X结构Steiner最小树方法是通过引入Steiner点以最小的代价连接给定的引脚集合,连接线可走线方向除了包括传统的水平方向和垂直方向,还允许45°和135°的绕线方向。如图2 (a)所示,给出一个初始的引脚分布情况,图 2(b)则是构建一种X结构Steiner最小树的布线方案。Further, in this embodiment, the Steiner minimum tree method of the X-structure is to connect a given set of pins at a minimum cost by introducing Steiner points. In addition to the traditional horizontal and vertical directions, the connecting lines also allow 45° and 135° winding directions. As shown in Figure 2 (a), an initial pin distribution is given, and Figure 2 (b) is a wiring scheme for constructing an X-structure Steiner minimum tree.
步骤S2:进行多端线网分解;Step S2: carry out multi-terminal line network decomposition;
进一步的,在本实施例中,图3 (a)给出了准备布线的两个线网N 1 和N 2 以及最大通道容量为2。本实施例中通过Steiner最小树算法将多端线网N 2 分解为3个两端线网(SG8,SG6和SG1),并为所有两端线网建立相应的布线候选解,如图3 (b)所示。Further, in this embodiment, Figure 3 (a) shows two wire nets N 1 and N 2 to be wired and the maximum channel capacity is 2. In this embodiment, the multi-terminal net N 2 is decomposed into three two-end nets (SG 8 , SG 6 and SG 1 ) by the Steiner minimum tree algorithm, and corresponding wiring candidate solutions are established for all the two-end nets, as shown in FIG. 3 ( b) shown.
步骤S3:将初始布线阶段的预布线容量缩减到原容量的一半;Step S3: reducing the pre-wiring capacity in the initial wiring stage to half of the original capacity;
步骤S4:判断当前两端线网是否满足可连接条件;若满足,则进行预连接,并遍历所有线网;否则,遍历所有线网;Step S4: judging whether the current wire nets at both ends meet the connectable conditions; if so, perform pre-connection and traverse all wire nets; otherwise, traverse all wire nets;
步骤S5:遍历完成后,进入布线主阶段;Step S5: After the traversal is completed, enter the main stage of wiring;
步骤S6:寻找最拥挤区域作为当前布线区域;Step S6: find the most crowded area as the current wiring area;
进一步的,在本实施例中,在初始布线阶段完成后,可获得芯片的近似拥挤情况,从初始布线结果中可以寻找芯片的最拥挤区域。本实施例中选择规模为总体布线图中2×2的网格大小作为主阶段的初始布线子区域,最拥挤的区域是指2×2网格大小的区域,其初始布线阶段通过的布线边总和最多的区域。Further, in this embodiment, after the initial wiring stage is completed, the approximate crowded situation of the chip can be obtained, and the most crowded area of the chip can be found from the initial wiring result. In this embodiment, the grid size of 2×2 in the overall wiring diagram is selected as the initial wiring sub-area of the main stage, and the most crowded area refers to the area of 2×2 grid size. The area with the most sums.
步骤S7:将完全位于所述当前布线区域的两端线网加入布线集合;Step S7: adding the wire nets at both ends completely located in the current wiring area to the wiring set;
步骤S8:通过新增走线方式,并建立ILP模型,在每次布线区域内采用基于粒子群优化算法求解最优解。Step S8: By adding a new routing method and establishing an ILP model, the particle swarm optimization algorithm is used to solve the optimal solution in each routing area.
进一步的,在本实施例中,很多布线算法常用通过采用ILP模型求解总体布线问题,并可取得较为不错的布线方案。基于ILP模型的方法,首先,寻找所有可能的布线树作为候选解,并计算每个布线树的代价,建立相应的带容量约束的线性方程组,最后,求解该线性方程组以获得最终的总体布线方案。Further, in this embodiment, many routing algorithms are commonly used to solve the overall routing problem by using the ILP model, and a relatively good routing scheme can be obtained. The method based on the ILP model, first, find all possible wiring trees as candidate solutions, and calculate the cost of each wiring tree, establish the corresponding linear equation system with capacity constraints, and finally, solve the linear equation system to obtain the final population wiring scheme.
在本实施例中,求解基于ILP模型的布线问题的粒子群优化算法的过程如算法1所示。In this embodiment, the process of the particle swarm optimization algorithm for solving the wiring problem based on the ILP model is shown in
具体的,如图12所示,算法1按照如下步骤实现:Specifically, as shown in Figure 12,
步骤S81:初始化;Step S81: initialization;
步骤S82:按序对粒子执行变异操作;执行粒子与其历史最优解的交叉操作;执行粒子与种群全局最优解的交叉操作;计算粒子的适应度函数值;Step S82: perform mutation operation on the particles in sequence; perform the cross operation between the particle and its historical optimal solution; perform the cross operation between the particle and the global optimal solution of the population; calculate the fitness function value of the particle;
步骤S83:判断粒子p的适应度值小于其历史最优值;若是,则将当前粒子作为历史最优解;Step S83: judging that the fitness value of the particle p is smaller than its historical optimal value; if so, the current particle is regarded as the historical optimal solution;
步骤S84:判断粒子p的适应度值小于种群全局最优值;若是,则将当前粒子作为种群全局最优解;否则,转至步骤S85;Step S84: Judging that the fitness value of the particle p is less than the global optimal value of the population; if so, take the current particle as the global optimal solution of the population; otherwise, go to step S85;
步骤S85:判断是否达到最大种群数,若否,则转至步骤S82;若是,将当前迭代次数加1,并判断是否达到最大迭代次数;若是,则结束,否则,转至步骤S82。Step S85: determine whether the maximum number of populations is reached, if not, go to step S82; if so, add 1 to the current iteration number, and determine whether the maximum number of iterations is reached; if so, end, otherwise, go to step S82.
步骤S9:判断所述基于粒子群优化算法求解所获取的最优解对应的线网是否可连接;若是,则将该线网标记为连接,否则,标记为未连接;Step S9: judging whether the wire net corresponding to the optimal solution obtained based on the particle swarm optimization algorithm solution can be connected; if so, mark the wire net as connected, otherwise, mark it as unconnected;
步骤S10:采用基于新布线边代价的迷宫算法进行布线;Step S10: use the maze algorithm based on the new routing edge cost for routing;
进一步的,在本实施例中,在当前布线区域完成基于粒子群优化的布线后,布线方案中会经常存在一些未连接的两端线网,为此,设计了基于新布线边代价的迷宫算法用以布通这些未连接线网,并作为最终布通所有线网的重要步骤。迷宫布线在新布线边代价的基础上同时考虑到线长和拥挤均衡,进行未连接线网的布线。计算GRG中新布线边代价如算法2所示。基于新布线边代价,不断为未连接线网执行迷宫布线直到不存在未连接线网,具体的迷宫算法如算法3所示。Further, in this embodiment, after completing the routing based on particle swarm optimization in the current routing area, there will often be some unconnected nets at both ends in the routing scheme. To route these unconnected nets, and as an important step to finally route all nets. Labyrinth routing takes into account the line length and crowding balance on the basis of the cost of new routing edges, and performs routing of unconnected nets. The cost of new routing edges in GRG is calculated as shown in
具体的,在本实施例中,如图13所示,算法2按照如下步骤实现:Specifically, in this embodiment, as shown in Figure 13,
步骤S1001:判断两端子线网的边e i 是否已被原多端线网分解后的其他子线网经过;若是,则转至步骤S1002;否则,转至步骤S1003;Step S1001: determine whether the edge e i of the two-terminal wire net has been passed by other sub-wire nets after the original multi-terminal wire net has been decomposed; if so, go to step S1002; otherwise, go to step S1003;
步骤S1002:通过如下赋值运算获取新布线边代价:Step S1002: Obtain the new wiring edge cost through the following assignment operation:
cost(e i )=0; cost ( e i )=0;
步骤S1003:通过如下赋值运算获取新布线边代价:Step S1003: Obtain the new wiring edge cost through the following assignment operation:
cost(e i )= cost(e i )+length(e i ); cost ( e i )= cost ( e i )+ length ( e i );
cost(e i )= cost(e i )+cong(e i ); cost ( e i )= cost ( e i )+ cong ( e i );
其中:length是指边e i 在GRG中的长度,cong是指边e i 在GRG中的拥挤。where: length is the length of edge e i in GRG, cong is the crowding of edge e i in GRG.
具体的,在本实施例中,如图14所示,算法3按照如下步骤实现:Specifically, in this embodiment, as shown in Figure 14,
步骤S1011:输入基于PSO布线后仍未布线的剩余线网集合RN:Step S1011: Input the remaining net set RN that has not been routed after PSO-based wiring:
步骤S1012:初始化在RN中的每个两端线网i ;Step S1012: Initialize each two end wire nets i in the RN;
步骤S1013:判断当前两端线网i是否大于在RN中线网数最大值;若大于,则结束,否则转至步骤S1014;Step S1013: determine whether the current net i at both ends is greater than the maximum number of nets in the RN; if it is greater, end, otherwise go to step S1014;
步骤S1014:执行:priority_queue Q;添加线网i的一个引脚至Q,标记该引脚为待扩张点;Step S1014: Execute: priority_queue Q; add a pin of the net i to Q, and mark the pin as the point to be expanded;
步骤S1015:判断Q是否为空;若否,则令当前的两端线网i的序号加1,并转至步骤S1013;若是,则转至步骤S1016;Step S1015: determine whether Q is empty; if not, add 1 to the current serial number of the net i at both ends, and go to step S1013; if so, go to step S1016;
步骤S1016:以一个单元网格大小沿所有布线方向扩张扩张扩张Q.top点;Step S1016: expand and expand Q.top points along all wiring directions with the size of one unit grid;
步骤S1017:判断该点的标识是否未扩张;若否,则转至步骤S1015;否则,更新并计算线网i的布线代价;Step S1017: judge whether the identification of the point is not expanded; if not, go to step S1015; otherwise, update and calculate the wiring cost of the net i;
步骤S1018:判断该点的标识是否未扩张;若否,则转至步骤S1015;否则,向Q中添加该点,并转至步骤S1015。Step S1018: determine whether the mark of the point is not expanded; if not, go to step S1015; otherwise, add the point to Q, and go to step S1015.
步骤S11:判断布线区域是否可扩张,若是,则按照预设阈值扩张布线区域,并转至所述步骤S6;否则,转至步骤S12;Step S11: Determine whether the wiring area can be expanded, if so, expand the wiring area according to the preset threshold, and go to the step S6; otherwise, go to the step S12;
步骤S12:基于动态资源调度,并采用多层布线模型的层调度,完成X结构多层总体布线。Step S12: Based on the dynamic resource scheduling, and using the layer scheduling of the multi-layer wiring model, the overall wiring of the X-structure multi-layer is completed.
在本实施例中,多层布线模型的层调度:在该层调度过程中,把布线方向为0°和90°的边分配到奇数层,而偶数层则分配布线方向为45°和135°的边,如图4所示。In this embodiment, the layer scheduling of the multi-layer wiring model: in the layer scheduling process, the edges with wiring directions of 0° and 90° are allocated to odd-numbered layers, while the even-numbered layers are allocated wiring directions of 45° and 135° side, as shown in Figure 4.
进一步的,在本实施例中,本发明的目的是提供一种在超大规模集成电路中考虑到X结构的引入和普及的多层工艺需求的X结构多层总体布线问题的构建方法,以溢出数和线长总代价这两个多层总体布线中最重要的性能指标为优化目标,最终达到多层总体布线中这两个最重要目标的优化。Further, in the present embodiment, the purpose of the present invention is to provide a method for constructing the overall wiring problem of the X structure in consideration of the multi-layer process requirements of the introduction and popularization of the X structure in the VLSI, so as to avoid overflow. The two most important performance indicators in the multi-layer overall wiring, the number and the total line length cost, are the optimization goals, and the optimization of these two most important goals in the multi-layer overall wiring is finally achieved.
进一步的,在本实施例中,提出了四种加强方法,包括:Further, in this embodiment, four enhancement methods are proposed, including:
(1)增加新类型的布线方式。从而有助于初始阶段放弃连接的两端线网在主阶段的布通率,并将该方法记为E1。考虑到在XGRouter的初始布线阶段中,针对分解后两引脚所构成的直线斜率值为0、-1、 +1和∞的两引脚线网(该类线网集合称为NA),如果采用该直线直接连接两引脚,不会超过连接边的容量,则直接用该直线连接该两端线网。如果超过了布线边的最大容量限制,则放弃这些线网的链接,放在主阶段进行连接。然而在XGRouter的主阶段由于采用了不合适的布线边选择方式,导致这些线网不可能在主阶段得到连接的机会。因此,在FZU-Router的设计中引入了E1,增加新类型的走线方式有助于初始阶段放弃连接的两端线网在主阶段的布通率。(1) Add a new type of wiring. Thus, it is helpful to give up the distribution rate of the nets at both ends of the connection in the main stage in the initial stage, and denote this method as E1. Considering that in the initial routing stage of XGRouter, for the two-pin wire nets with slope values of 0, -1, +1, and ∞ formed by the two pins after decomposition (this type of wire net collection is called NA), if If the straight line is used to directly connect the two pins, and the capacity of the connecting side will not be exceeded, the two ends of the wire nets are directly connected with the straight line. If the maximum capacity limit of the routing edge is exceeded, the link of these nets is abandoned and connected in the main stage. However, in the main stage of XGRouter, due to the inappropriate routing edge selection method, it is impossible for these nets to get the chance to connect in the main stage. Therefore, E1 is introduced in the design of FZU-Router, and the addition of a new type of routing method helps to abandon the routing ratio of the two ends of the connection in the main stage at the initial stage.
(2)粒子群优化算法与基于新布线代价的迷宫布线的结合,有助于当前布线区域中未布通线网集合以更高的布通率来完成布线工作,并将该方法记为E2。考虑到在XGRouter的算法流程中,主阶段一直采用不断扩张的区域布线,后处理阶段则采用迷宫布线对未完成布线的线网继续布线,会导致每一次扩张前未布线线网,在下一次扩张后仍不能布通,从而堆积非常多的未布通线网,大大影响到所采用的PSO算法的求解质量。因此,在FZU-Router的设计中引入了E2,将基于新布线代价的迷宫布线策略移至主阶段每次布线区域内采用PSO进行布线之后,有助于当前布线区域中未布通线网集合以更高的布通率来完成布线工作。(2) The combination of particle swarm optimization algorithm and labyrinth routing based on new routing cost helps to complete the routing work with a higher routing rate for the set of unrouted nets in the current routing area, and this method is recorded as E2 . Considering that in the algorithm flow of XGRouter, the main stage has been using continuously expanding area wiring, and the post-processing stage uses labyrinth wiring to continue wiring the unfinished wire nets, which will cause the wire nets not to be wired before each expansion, and in the next expansion. After that, it still cannot be routed, so a lot of unrouted wire nets are accumulated, which greatly affects the solution quality of the adopted PSO algorithm. Therefore, E2 is introduced in the design of FZU-Router, and the labyrinth routing strategy based on the new routing cost is moved to the main stage. After each routing area is routed with PSO, it is helpful for the collection of unrouted nets in the current routing area. The wiring work is done with a higher routing rate.
(3)初始阶段中预布线容量的缩减策略,使得部分线网能够留在主阶段的PSO算法进行布线,充分利用PSO算法的全局优化能力,同时进一步加强E1和E2两个策略的优化效果,且将该方法记为E3。考虑到在XGRouter的算法流程中,由于初始阶段对线网集合NA是采用贪心的思想,以最短的连线长度,占用最少的布线资源进行连接,容易陷入一些局部最优的方案,而主阶段采用具有全局优化能力的PSO算法从更为整体的资源角度进行两端线网的布线,具有更强的全局优化能力。因此,在FZU-Router的设计中引入了E3策略,将初始布线阶段的预布线容量缩减到原容量的一半,使得部分线网能够留在主阶段的PSO算法进行布线,充分利用PSO算法的全局优化能力,同时进一步加强E1和E2的优化效果。(3) The strategy of reducing the pre-wiring capacity in the initial stage enables part of the network to remain in the PSO algorithm in the main stage for wiring, making full use of the global optimization capability of the PSO algorithm, and further enhancing the optimization effect of the two strategies E1 and E2. And this method is denoted as E3. Considering that in the algorithm process of XGRouter, since the initial stage adopts the greedy idea for the network set NA, connecting with the shortest connection length and occupying the least wiring resources, it is easy to fall into some locally optimal solutions, while the main stage The PSO algorithm with global optimization capability is used to route the wire nets at both ends from a more overall resource perspective, which has a stronger global optimization capability. Therefore, the E3 strategy is introduced in the design of FZU-Router, which reduces the pre-wiring capacity of the initial wiring stage to half of the original capacity, so that some nets can be left in the PSO algorithm in the main stage for wiring, making full use of the global PSO algorithm. Optimization capabilities, while further strengthening the optimization effect of E1 and E2.
(4)设计动态资源调度策略,并引入了多层布线模型和层调度策略,从而构建了一种高性能X结构多层总体布线器FZU-Router,最终在多层布线问题中溢出数和线长总代价两个最重要指标带来显著优化效果,且将该方法记为E4。考虑到在XGRouter的算法流程中,各个布线边的容量是常量,在布线过程中容量是静止不变的,从而有可能造成部分布线边被利用得少而处于稀疏状态,部分布线边被过分利用而处于拥挤状态。在FZU-Router的设计中引入了E4,在布线的过程中对布线资源进行动态调整,以更充分利用布线资源进行布线,进一步优化总体布线器在溢出数和线长总代价两方面的优化能力。(4) Design a dynamic resource scheduling strategy, and introduce a multi-layer wiring model and layer scheduling strategy, thereby constructing a high-performance X-structure multi-layer overall router FZU-Router, which eventually overflows the number and line in the multi-layer wiring problem. The two most important indicators of long total cost bring significant optimization effects, and this method is recorded as E4. Considering that in the algorithm flow of XGRouter, the capacity of each wiring edge is constant, and the capacity is static during the wiring process, which may cause some wiring edges to be underutilized and in a sparse state, and some wiring edges are overused. while being crowded. In the design of FZU-Router, E4 is introduced, and the routing resources are dynamically adjusted in the routing process to make more full use of routing resources for routing, and further optimize the overall router's optimization capabilities in terms of overflow number and total wire length cost. .
进一步的,在本实施例中,在XGRouter的初始布线阶段中,针对分解后两引脚所构成的直线斜率值为0、-1、+1和∞的两引脚线网(该类线网集合称为NA),如果采用该直线直接连接两引脚,不会超过连接边的容量,则直接用该直线连接该两端线网。如图5所示的四种可考虑直接连线的两端线网引脚分布情况,包含两引脚夹角为00,450,900和1350四种情况。如果采用该直线直接连接两引脚,会造成拥挤溢出的情况,则放弃直接连接该类会造成溢出情况的两端线网(该类线网集合称为NC),而是放在主阶段进行连接。如图6所示,若图5中可直接连接的两端线网因存在灰色矩形的拥挤区域(即在灰色矩形区域再通过一条绕线会产生溢出,严重影响芯片的可布性)而在初始阶段未能连接,XGRouter是将其放在主阶段连接,但连接方式仍采用如图5所示的连接边方式,导致这些在初始阶段放弃的线网,在主阶段仍不可连接,从而导致太多未能连接的两端线网,大大影响主阶段的PSO算法的求解性能。Further, in this embodiment, in the initial wiring stage of XGRouter, for the two-pin wire nets with slope values of 0, -1, +1 and ∞ formed by the two pins after decomposition (this kind of wire nets) The set is called NA). If the straight line is used to directly connect the two pins and the capacity of the connecting edge will not be exceeded, then the straight line is used to directly connect the nets at both ends. As shown in Figure 5, the four types of wire net pin distributions at both ends of the direct connection can be considered, including four cases where the included angles between the two pins are 0 0 , 45 0 , 90 0 and 135 0 . If the straight line is used to directly connect the two pins, it will cause congestion and overflow, then abandon the direct connection of the two ends of the network that will cause overflow (this type of network collection is called NC), but connect it in the main stage. . As shown in Figure 6, if the wire nets at both ends that can be directly connected in Figure 5 are in the crowded area of the gray rectangle (that is, passing another wire in the gray rectangle area will cause overflow, which will seriously affect the routability of the chip) at the initial stage The stage fails to connect, XGRouter puts it in the main stage to connect, but the connection method still adopts the connection edge method as shown in Figure 5, resulting in these wire nets that were abandoned in the initial stage, still cannot be connected in the main stage, resulting in excessive There are many wire nets at both ends that are not connected, which greatly affects the solving performance of the PSO algorithm in the main stage.
因此,在本本实施例中,布线器FZU-Router的主阶段中,针对线网集合NC,本发明提供了新类型的走线方式,以使得NC中的这些线网能够在主阶段中尽可能完成布线。E1中采用的这些新类型的布线边连接方式,如图7所示,针对水平或垂直关系的两端线网(N1)采用如图7(a)和7(b)两种连接方式,分别为450边和1350边交替连接方式与450边、1350边和水平边或垂直边交替连接方式,其中图7(a)的N1的引脚跨越偶数网格与图7(b)的N1的引脚跨越奇数网格;而针对450或1350关系的两端线网(N2)采用如图7(c)所示的连接方式,也即水平边和垂直边交替连接方式。通过新增加的图7(a)至7(c)的三种候选的布线方式,主阶段则存在可合理避开拥挤区域的较大可能性。Therefore, in this embodiment, in the main stage of the router FZU-Router, for the wire net set NC, the present invention provides a new type of routing method, so that these wire nets in the NC can be as much as possible in the main stage. Complete the wiring. These new types of wiring edge connection methods used in E1, as shown in Figure 7, for the horizontal or vertical relationship between the two ends of the wire net (N1) use Figure 7 (a) and 7 (b) two connection methods, respectively The 450-side and 1350 -side alternate connection mode and 450 -side, 1350 - side and horizontal or vertical side are alternately connected, wherein the pin of N1 in Fig. The pins of N1 span the odd-numbered grids; while the nets (N2) at both ends of the 450 or 1350 relationship are connected as shown in Figure 7(c), that is, the horizontal and vertical sides are alternately connected. With the newly added three candidate wiring methods in FIGS. 7( a ) to 7 ( c ), there is a greater possibility that the main stage can reasonably avoid crowded areas.
进一步的,在本实施例中,基于ISPD07的标准测试电路,将未采用和采用E1在溢出数(TOF)和线长总代价(TWL)两方面的总体布线结果进行对比,如表1所示。采用E1相对未采用E1(表中用E0表示)的总体布线结果在溢出数方面取得了16.63%的减少率,表明E1的改进策略有助于在主阶段尽可能多连接初始布线放弃的两端线网集合NC,提升布通率,从而尽可能少带来溢出的情况。虽然增加了少量的线长总代价,但是针对多层总体布线问题中最重要的优化目标——溢出数带来可观的优化,从而表明E1的有效性和必要性。Further, in this embodiment, based on the standard test circuit of ISPD07, the overall wiring results of the number of overflows (TOF) and the total line length cost (TWL) are compared without using and using E1, as shown in Table 1. . The overall wiring results with E1 versus without E1 (represented by E0 in the table) achieved a 16.63% reduction rate in the number of overflows, indicating that the improved strategy of E1 helps to connect as many ends as possible in the main stage that were abandoned by the initial wiring The net gathers NC to improve the distribution rate, so as to reduce the overflow as much as possible. Although it adds a small amount of wire length total cost, it brings considerable optimization for the most important optimization objective in the overall routing problem of multiple layers, the overflow number, which shows the effectiveness and necessity of E1.
表1未采用和采用E1策略的布线结果对比Table 1 Comparison of wiring results without and with E1 strategy
进一步的,在本实施例中,FZU-Router采用E2后,将基于新布线代价的迷宫布线策略移至主阶段每次box区域内采用PSO进行布线后,有助于当前box未布通线网集合以更高的布通率来完成布线工作。Further, in this embodiment, after the FZU-Router adopts E2, the labyrinth routing strategy based on the new routing cost is moved to the main stage. After each time the PSO is used for routing in the box area, it is helpful for the current box not to be routed to the network. Aggregates perform routing work at higher routing rates.
在XGRouter的算法流程中,主阶段一直采用不断扩张的区域布线,后处理阶段则采用迷宫布线对未完成布线的线网继续布线,会导致每一次扩张前未布线线网,在下一次扩张后仍不能布通,从而堆积非常多的未布通线网,大大影响到所采用的PSO算法的求解质量。如图8所示,在XGRouter中,P1和P2在box0的阶段中,由于灰色拥挤区域的存在,P1和P2在采用XGRouter的边接连方式,是不能在box0阶段完成布线。而如果等到Box扩张到整个芯片的阶段,P1和P2可能要采用如图8所示的实线连接,这样可能就会带来过长的绕线,付出过度的线长总代价,占用更多的布线资源,从而导致溢出数的增加。而在FZU-Router中,该布线方案准备在box0结束的时候,立即引入迷宫布线完成PSO未能完成布线的线网,这样P1和P2就可以采用如图8所示的点虚线进行连接,尽量占用box0附近的资源,而非等全部扩张完后,box0附近的资源已经被占用了。采用E2改进策略可有效减少布线资源的冗余占用,从而减少溢出数,进一步提高布线的完成率。 In the algorithm flow of XGRouter, the main stage has been using the continuous expansion area wiring, and the post-processing stage uses the labyrinth wiring to continue the wiring of the unfinished wire nets, which will cause the wire nets not to be routed before each expansion, and still remain after the next expansion. It cannot be routed, so a lot of unrouted wire nets are accumulated, which greatly affects the solution quality of the PSO algorithm used. As shown in Figure 8, in XGRouter, P1 and P2 are in the box0 stage. Due to the existence of the gray crowded area, P1 and P2 can not complete the wiring in the box0 stage when using the XGRouter's edge connection method. And if you wait until Box expands to the entire chip, P1 and P2 may be connected by solid lines as shown in Figure 8, which may lead to excessively long windings, pay the total cost of excessive line length, and occupy more of routing resources, resulting in an increase in the number of overflows. In FZU-Router, the wiring scheme is ready to introduce labyrinth wiring immediately after the end of box0 to complete the wire net that PSO failed to complete the wiring, so that P1 and P2 can be connected by the dotted line as shown in Figure 8. Occupy the resources near box0, instead of waiting for all the expansion, the resources near box0 have been occupied. Using the E2 improvement strategy can effectively reduce the redundant occupation of wiring resources, thereby reducing the number of overflows and further improving the completion rate of wiring.
表2未采用和采用E2策略的布线结果对比Table 2 Comparison of wiring results without and with E2 strategy
进一步的,将未采用和采用E2改进策略的总体布线结果进行对比,如表2所示。采用E2策略相对未采用E2策略的总体布线结果在溢出数取得了77.01%的大幅度减少率,表明E2的改进策略有助于在主阶段尽可能提早并合理使用线网附近的布线资源,更有效地连接两端线网,提升布通率,从而尽可能少带来溢出的情况。虽然付出了少量的线长总代价(0.81%的线长总代价),但是针对多层总体布线问题中最重要的优化目标——溢出数带来大幅度的优化,从而表明E2策略在尽可能合理利用布线资源方面的有效性和必要性。Further, the overall wiring results without and with the E2 improvement strategy are compared, as shown in Table 2. Compared with the overall wiring results without using the E2 strategy, a 77.01% reduction rate was achieved in the number of overflows, indicating that the improved strategy of E2 helps to use the wiring resources near the wire net as early as possible in the main stage, and more Effectively connect the wire nets at both ends to improve the distribution rate, so as to reduce the overflow as much as possible. Although a small amount of total line length cost (0.81% of the total line length cost) is paid, the most important optimization objective in the overall multi-layer routing problem, the overflow number, brings a large optimization, which shows that the E2 strategy is as effective as possible. Effectiveness and necessity of rational use of wiring resources.
进一步的,在本实施例中,FZU-Router将初始布线阶段的预布线容量缩减到原容量的一半,使得部分线网能够留在主阶段的PSO算法进行布线,充分利用PSO算法的全局优化能力,同时进一步加强E1和E2两个策略的优化效果。Further, in this embodiment, the FZU-Router reduces the pre-wiring capacity of the initial wiring stage to half of the original capacity, so that part of the network can be left in the PSO algorithm in the main stage for wiring, making full use of the global optimization capability of the PSO algorithm. , and further strengthen the optimization effect of E1 and E2 strategies.
由于初始阶段对线网集合NA是采用贪心的思想,以最短的连线长度,占用最少的布线资源进行连接,容易陷入一些局部最优的方案,而主阶段采用具有全局优化能力的PSO算法从更为整体的资源角度进行两端线网的布线,具有更强的全局优化能力。在XGRouter总体布线器中,将贪心策略的初始布线算法运用到全部可布线的两端线网,使得初始布线方案陷入较为严重的局部最优解中。因此,新一代多层总体布线器FZU-Router采用E3,在初始布线阶段的预布线容量缩减为原来容量的一半,预留了部分布线资源和部分两端线网交给具有更强全局优化能力的PSO算法进行布线,从而可充分利用PSO算法的全局优化能力,提高了FZU-Router的优化能力。Since the initial stage adopts the greedy idea for the network set NA, connecting with the shortest connection length and occupying the least wiring resources, it is easy to fall into some local optimal solutions, while the main stage adopts the PSO algorithm with global optimization ability from the From a more overall resource perspective, wire nets at both ends are routed, which has stronger global optimization capabilities. In the XGRouter overall router, the initial routing algorithm of the greedy strategy is applied to all the wire nets at both ends that can be routed, so that the initial routing scheme falls into a more serious local optimal solution. Therefore, the new generation of multi-layer overall router FZU-Router adopts E3, and the pre-wiring capacity in the initial wiring stage is reduced to half of the original capacity, and some wiring resources and some wire nets at both ends are reserved for those with stronger global optimization capabilities. The PSO algorithm performs routing, so that the global optimization ability of the PSO algorithm can be fully utilized, and the optimization ability of the FZU-Router is improved.
如图9(a)以及9(b)所示,在XGRouter中初始布线阶段未采用预布线容量缩减策略,假设初始布线中两端线网的布线顺序为N1(包含N11和N12两个引脚),N2(包含N21和N22两个引脚),N3(包含N31和N32两个引脚),这里假设布线边的最大容量为2。采用XGRouter的布线策略,即将N1和N2优先连接,而在主阶段中N3需要占用非常多的布线资源并且线长总代价非常浪费的连接方式,如图9(a)所示。而如果采用FZU-Router的E3改进策略,预留一半的布线资源,所以在采用E3策略后,初始布线只连接了N1线网,而N2和N3线网则留在主阶段的PSO算法中去尝试解决,PSO算法可从更为全局的角度去衡量N2和N3线网的布线方式,从而得到如图9(b)所示的求解方案。从中可见,如图9(b)所示的连接方式,大大减少了不必要布线资源的占用,以更少的布线资源连完成N1,N2,N3三个线网的连接。As shown in Figures 9(a) and 9(b), the pre-wiring capacity reduction strategy is not adopted in the initial wiring stage in XGRouter, assuming that the wiring sequence of the nets at both ends in the initial wiring is N1 (including two pins N11 and N12) , N2 (including two pins N21 and N22), N3 (including two pins N31 and N32), here it is assumed that the maximum capacity of the wiring side is 2. The wiring strategy of XGRouter is adopted, that is, N1 and N2 are connected preferentially, while in the main stage, N3 needs to occupy a lot of wiring resources and the total cost of wire length is very wasteful, as shown in Figure 9(a). However, if the E3 improvement strategy of FZU-Router is adopted, half of the wiring resources are reserved. Therefore, after adopting the E3 strategy, the initial wiring is only connected to the N1 wire net, while the N2 and N3 wire nets are left in the PSO algorithm in the main stage. Trying to solve it, the PSO algorithm can measure the wiring mode of the N2 and N3 nets from a more global perspective, so as to obtain the solution as shown in Figure 9(b). It can be seen from this that the connection method shown in Figure 9(b) greatly reduces the occupation of unnecessary wiring resources, and completes the connection of the three nets N1, N2, and N3 with less wiring resources.
进一步的,为了进一步扩大E1改进策略的优势,加入E3改进策略,从而有助于提升新一代总体布线器FZU-Router在线长总代价的优化能力,同时增强溢出数的减少能力。在初始化布线阶段,限制水平垂直方向的通道容量为所设置容量的1/2。加入E3改进策略后,通过E1改进策略完成布线的两端线网数量大大提高,同时也充分利用了PSO算法的优势,会取得更好的优化效果,并且进一步体现出了E1的优势。Further, in order to further expand the advantages of the E1 improvement strategy, the E3 improvement strategy is added, which helps to improve the optimization ability of the new generation overall router FZU-Router for the total cost of online length, and at the same time enhances the ability to reduce the number of overflows. In the initial routing phase, the channel capacity in the horizontal and vertical directions is limited to 1/2 of the set capacity. After adding the E3 improvement strategy, the number of nets at both ends of the wiring completed by the E1 improvement strategy is greatly increased, and the advantages of the PSO algorithm are also fully utilized, which will achieve better optimization results and further reflect the advantages of E1.
进一步的,如表3所示,在E1策略的基础上加入E3策略的初始布线容量设置,可在总溢出和线长总代价两方面分别取得17.27%和1.27%的不错优化效果。如表4所示,在E2策略的基础上加入E3策略的初始布线容量设置,可在总溢出和线长总代价两方面分别取得0.02%和0.39%的一定优化效果。如表5所示,在E1和E2策略的基础上加入E3策略的初始布线容量设置,可在总溢出和线长总代价两方面分别取得1.38%和1.45%的优化效果。综上,可表明E3策略引入的有效性,特别是针对E1策略而言,E3显得尤为有效。Further, as shown in Table 3, adding the initial wiring capacity setting of the E3 strategy on the basis of the E1 strategy can achieve a good optimization effect of 17.27% and 1.27% in terms of total overflow and total line length cost, respectively. As shown in Table 4, adding the initial wiring capacity setting of the E3 strategy on the basis of the E2 strategy can achieve a certain optimization effect of 0.02% and 0.39% in the total overflow and total line length cost, respectively. As shown in Table 5, adding the initial wiring capacity setting of the E3 strategy on the basis of the E1 and E2 strategies can achieve 1.38% and 1.45% optimization effects in terms of total overflow and total line length cost, respectively. To sum up, it can be shown that the introduction of E3 strategy is effective, especially for E1 strategy, E3 is particularly effective.
表3在E1策略的基础上未采用和采用E3策略的布线结果对比Table 3 Comparison of the wiring results of the E1 strategy without and with the E3 strategy
表4在E2策略的基础上未采用和采用E3策略的布线结果对比Table 4 Comparison of the wiring results of no and E3 strategies based on the E2 strategy
表5在E1和E2策略共同作用的基础上未采用和采用E3策略的结果对比Table 5 Comparison of the results of not adopting and adopting E3 strategy on the basis of the combined effect of E1 and E2 strategies
进一步的,在本实施例中,若水平边或垂直边与对角边之间有共享同一通道布线区域的容量,则两种边具有通道容量相关性。Further, in this embodiment, if there is a capacity sharing the same channel wiring area between the horizontal side or the vertical side and the diagonal side, the two sides have channel capacity correlation.
与水平边成45度夹角,位于该水平边的上方,且左侧端点相合的边与该水平边通道容量相关,共享所规定水平边的通道容量;与垂直边成45度夹角,位于该垂直边右侧,且下方端点相合的边与该垂直边通道容量相关,共享所规定的垂直边的通道容量。在此规定下,需满足: It forms an angle of 45 degrees with the horizontal side and is located above the horizontal side, and the side whose left endpoints meet is related to the channel capacity of the horizontal side and shares the channel capacity of the specified horizontal side; it forms an angle of 45 degrees with the vertical side and is located in the channel capacity of the horizontal side. The side on the right side of the vertical side, and the side whose lower endpoints are congruent is related to the channel capacity of the vertical side, and shares the specified channel capacity of the vertical side. Under this provision, it is necessary to satisfy:
(1) (1)
其中,C l 表示水平边或垂直边的通道容量,C x 表示与水平边或垂直边具有通道容量相关性的对角边的通道容量,C s 表示该区域的总通道布线容量。在本实施例中,通道即布线边,通道容量即布线资源。where C l represents the channel capacity of the horizontal or vertical side, Cx represents the channel capacity of the diagonal side with a channel capacity correlation with the horizontal or vertical side, and Cs represents the total channel routing capacity of the area . In this embodiment, the channel is the wiring edge, and the channel capacity is the wiring resource.
如图10所示,AB和AD的通道布线容量是给定的,AC和AB共享AB的通道布线容量,AE和AD共享AD的通道布线容量,即AC和AB具有通道容量相关性,AE和AD具有通道容量相关性。As shown in Figure 10, the channel routing capacity of AB and AD is given, AC and AB share the channel routing capacity of AB, AE and AD share the channel routing capacity of AD, that is, AC and AB have channel capacity correlation, AE and AD has channel capacity correlation.
进一步的,在本实施例中,在完成部分线网的总体布线后,通过对两类具有通道容量相关性的布线边进行布线资源再分配,使通道容量向布线密集的通道集中,每条通道的剩余容量都尽可能地超过一个期望值,有利于后续布线的进行,也即,进行通道容量动态分配。Further, in this embodiment, after the overall wiring of part of the network is completed, by redistributing wiring resources to two types of wiring edges with channel capacity correlation, the channel capacity is concentrated to the channels with dense wiring, and each channel The remaining capacity of the channel exceeds an expected value as much as possible, which is beneficial to the subsequent wiring, that is, the dynamic allocation of channel capacity.
进一步的,在本实施例中,通道容量作为布线资源进行动态分配后,期望两类具有通道容量相关性的布线边,其剩余布线容量能超过的一个固定值,也即设置通道容量动态分配阈值。Further, in this embodiment, after the channel capacity is dynamically allocated as a routing resource, it is expected that the remaining routing capacity of two types of routing edges with channel capacity correlation can exceed a fixed value, that is, the dynamic allocation threshold of the channel capacity is set. .
进一步的,在本实施例中,在完成部分线网的总体布线后,剩余通道容量不超过通道容量动态分配阈值的通道。Further, in this embodiment, after the overall wiring of part of the wire nets is completed, the remaining channel capacity does not exceed the channel capacity dynamic allocation threshold of the channel.
进一步的,在本实施例中,在完成部分线网的总体布线后,将剩余通道容量超过通道容量动态分配阈值与通道容量动态分配的额度之和的通道作为稀疏通道。Further, in this embodiment, after the overall wiring of part of the nets is completed, a channel whose remaining channel capacity exceeds the sum of the dynamic allocation threshold of channel capacity and the amount of dynamic allocation of channel capacity is used as a sparse channel.
进一步的,在本实施例中,在具有通道容量相关性的稀疏通道和拥挤通道,在保证规定的总通道容量不变的情况下,使用通道容量动态分配,两个通道所分得的通道容量趋于适应目标线网的布线需求,可以使后续布线有更大的选择空间,避免了部分拥挤区域后续布线需要绕路的情况,可以有效地减少最终布线结果的溢出数和线长总代价,缩短算法的运行时间。Further, in this embodiment, in the case of sparse channels and crowded channels with channel capacity correlation, under the condition that the specified total channel capacity is kept unchanged, dynamic allocation of channel capacity is used, and the channel capacity obtained by the two channels is It tends to adapt to the wiring requirements of the target network, which can make the subsequent wiring have a larger selection space, avoid the situation that the subsequent wiring needs to be detoured in some crowded areas, and can effectively reduce the overflow number of the final wiring result and the total cost of the line length. Shorten the running time of the algorithm.
进一步的,在本实施例中,溢出现象的产生是因为在保证每条通道的布线数不超过该通道的通道容量的前提下,目标两端线网的两点间无法找到可互连的路径,即两点之间至少有一条通道被阻塞。如果能够疏通被阻塞的通道,则可以在两点之间找到可互连的通路。在布线算法的执行过程中,无法保证线网的绝对均匀,所以整个布线区域中既存在剩余容量很多的通道,也存在剩余容量所剩无几的通道。同时,按布线要求,通道容量相关通道间只需总容量符合规定即可,对于两个通道间容量的分配并无要求。综上,在通道容量相关通道间使用通道容量动态分配,可以最大程度地疏通被阻塞的通道,又可以降低两端线网的互连线被阻塞的概率,降低通道被阻塞的风险。Further, in this embodiment, the overflow phenomenon occurs because, on the premise that the number of wirings per channel does not exceed the channel capacity of the channel, an interconnectable path cannot be found between the two points of the wire nets at both ends of the target, That is, at least one channel between two points is blocked. If the blocked channel can be unblocked, an interconnectable path can be found between the two points. During the execution of the routing algorithm, the absolute uniformity of the wire net cannot be guaranteed, so there are channels with a lot of remaining capacity and channels with little remaining capacity in the entire routing area. At the same time, according to the wiring requirements, the total capacity between the channels related to the channel capacity only needs to meet the regulations, and there is no requirement for the allocation of capacity between the two channels. To sum up, using the dynamic allocation of channel capacity among the channels related to the channel capacity can unclog the blocked channels to the greatest extent, and can reduce the probability that the interconnection lines of the two ends of the network are blocked, and reduce the risk of the channel being blocked.
故对于某一条通道在布线过程中是否会被用到,在PSO算法的优化过程中是难以预测的。对布线过程中不会被用到的通道容量相关通道以及正在布线的通道容量相关通道,通道容量动态分配的效果难以保证,为了避免无效的工作对布线质量的影响,在每次box扩展结束之后,PSO布线方案已定,线网连接的过程中,被连接的通道逐个测试通道容量动态分配的可行性并对需要的通道进行通道容量动态分配是最为合适的。Therefore, it is difficult to predict whether a certain channel will be used in the routing process in the optimization process of the PSO algorithm. For the channel capacity-related channels that will not be used during the routing process and the channel capacity-related channels that are being routed, the effect of dynamic channel capacity allocation is difficult to guarantee. In order to avoid the impact of invalid work on the routing quality, after each box expansion , PSO wiring scheme has been determined, in the process of line network connection, it is most appropriate to test the feasibility of dynamic allocation of channel capacity for the connected channels one by one and to perform dynamic allocation of channel capacity for the required channels.
进一步的,在本实施例中,要达到通道容量动态分配的目的,在互为通道容量相关通道的稀疏通道和拥挤通道间进行通道容量动态分配即可。Further, in this embodiment, to achieve the purpose of dynamic allocation of channel capacity, dynamic allocation of channel capacity may be performed between sparse channels and congested channels that are channels related to each other in channel capacity.
设有互为通道容量相关通道的两个通道。如果其中一条是非稀疏非拥挤通道,若按照通道容量动态分配的额度分配出去剩余容量,就变成了拥挤通道,而它本身剩余容量是超过通道容量动态分配阈值的,不需要获得通道容量分配,所以通道容量动态分配是无意义的。如果两条通道都为拥挤通道,永远达不到通道容量动态分配的目的。如果两条通道都为稀疏通道,通道容量动态分配也是无意义的。综上,要达到通道容量动态分配的目的,在互为通道容量相关通道的稀疏通道和拥挤通道间进行通道容量动态分配即可。There are two channels that are channel capacity related channels to each other. If one of the channels is a non-sparse and non-congested channel, if the remaining capacity is allocated according to the dynamic allocation of channel capacity, it becomes a congested channel, and its remaining capacity exceeds the dynamic allocation threshold of channel capacity, so it is not necessary to obtain channel capacity allocation. So dynamic allocation of channel capacity is meaningless. If both channels are congested channels, the purpose of dynamic allocation of channel capacity will never be achieved. If both channels are sparse channels, dynamic allocation of channel capacity is also meaningless. To sum up, to achieve the purpose of dynamic allocation of channel capacity, dynamic allocation of channel capacity can be performed between sparse channels and crowded channels that are related to each other in channel capacity.
如图11(a)表示当前部分布线完成后的情况,其中红色折线ABCD表示主阶段PSO算法所选择的布线方案,蓝色线段标识的通道与红色线段标识的通道互为通道容量相关通道,通道附近的数字为该通道的剩余容量。此时,还未进行主阶段PSO算法布线方案的线网连接。布线方案ABCD中通道AB、BC和CD的剩余容量分别为2、4和3,与其互为通道容量相关通道的通道分别为AE、BF和CG,剩余剩余容量分别为3、7和5。Figure 11(a) shows the situation after the current part of the wiring is completed, in which the red broken line ABCD represents the wiring scheme selected by the PSO algorithm in the main stage, the channel identified by the blue line segment and the channel identified by the red line segment are the channel capacity-related channels. The number near it is the remaining capacity of the channel. At this time, the net connection of the main stage PSO algorithm routing scheme has not been performed. In the wiring scheme ABCD, the remaining capacities of channels AB, BC, and CD are 2, 4, and 3, respectively, and the channels that are related to each other's channel capacity are AE, BF, and CG, respectively, and the remaining remaining capacities are 3, 7, and 5, respectively.
进一步的,设置通道容量动态分配阈值为2,资源分配额度为2。此时主阶段PSO算法选定完布线方案后开始如图11(b)所示部分的连线,先连接AB,AB剩余通道容量变为1,小于阈值2,为拥挤通道,但是其通道容量相关通道AE的剩余容量不足4,非稀疏通道,未达到通道容量动态分配的条件,不进行资源分配。再连接BC,BC剩余通道容量为3,超过2,非拥挤通道,未达到通道容量动态分配的条件,不进行资源分配。最后连接CD,CD 的剩余通道容量为2,未超过2,为拥挤通道,而其通道容量相关通道CG剩余容量为5,大于4,为稀疏通道,满足通道容量动态分配的条件,则CG分配2个通道容量给CD。最终,CD的剩余容量变为4,CG的剩余容量变为3,都在给定的通道容量动态分配的阈值2以上,有利于后续的布线。Further, the dynamic allocation threshold of channel capacity is set to 2, and the resource allocation quota is set to 2. At this time, the main stage PSO algorithm selects the wiring scheme and starts the connection as shown in Figure 11(b), first connect AB, the remaining channel capacity of AB becomes 1, which is less than the
表6未采用和采用E4的布线结果对比Table 6 Comparison of wiring results without and with E4
进一步的,经过实验发现,当通道容量动态分配阈值过大时会造成资源浪费,过小时又难以满足资源分配的需要,当通道容量动态分配阈值为2时取到最优结果。当通道容量动态分配每次分配的额度过大时,通道容量相关通道间的容量分配会反复进行,既会增加算法的时间开销,又会使各通道的容量难以适应布线的需求,布线效果变差;当通道容量动态分配每次分配的额度过小时,需要获得容量分配的通道所得到的容量有限,时间和布线结果上的改进并不理想。最终发现,当通道容量动态分配每次分配的额度为2时,会得到最优的布线结果,在时间上也有很大程度的改进。Further, through experiments, it is found that when the dynamic allocation threshold of channel capacity is too large, resources will be wasted, and if it is too small, it is difficult to meet the needs of resource allocation. When the dynamic allocation threshold of channel capacity is 2, the optimal result is obtained. When the amount allocated each time by the dynamic allocation of channel capacity is too large, the capacity allocation between the channels related to the channel capacity will be repeated, which will not only increase the time overhead of the algorithm, but also make the capacity of each channel difficult to adapt to the needs of wiring, and the wiring effect will change. Poor; when the amount allocated each time by the dynamic allocation of channel capacity is too small, the capacity obtained by the channel that needs to obtain capacity allocation is limited, and the improvement in time and wiring results is not ideal. Finally, it is found that when the channel capacity is dynamically allocated with a quota of 2 each time, the optimal wiring result will be obtained, and the time will also be greatly improved.
最终,选择通道容量动态分配阈值为2和每次分配的额度为2作为E4的参数。为了进一步验证E4策略的有效性,本发明将未采用和采用E4策略的总体布线结果进行对比。具体的对比结果如表6所示。通过表6,可以看出在采用E4的算法在总溢出数和线长总代价两方面相对于未采用E4的算法分别取得了2.17%和2.8%的优化效果。同时采用E4的算法在CPU时间方面相对于未采用E4的算法取得了1.38倍的时间加速比。综上,说明采用资源动态调整策略,即E4策略可以取得总溢出数、线长总代价、CPU时间等三方面的良好优化能力,进一步说明E4策略的有效性和必要性。Finally, the dynamic allocation threshold of channel capacity is 2 and the quota for each allocation is 2 as the parameters of E4. In order to further verify the effectiveness of the E4 strategy, the present invention compares the overall wiring results of not adopting and adopting the E4 strategy. The specific comparison results are shown in Table 6. From Table 6, it can be seen that the algorithm using E4 has achieved 2.17% and 2.8% optimization effects in terms of total overflow and total line length cost, respectively, compared with the algorithm without E4. At the same time, the algorithm using E4 achieves a time speedup of 1.38 times in terms of CPU time compared to the algorithm not using E4. To sum up, it shows that the dynamic resource adjustment strategy is adopted, that is, the E4 strategy can achieve good optimization capabilities in three aspects: total overflow, total line length cost, and CPU time, which further illustrates the effectiveness and necessity of the E4 strategy.
进一步的,在本实施例中,为了让本领域技术人员进一步了解本发明所提出的技术方案,下面结合具体实例进一步说明。Further, in this embodiment, in order for those skilled in the art to further understand the technical solution proposed by the present invention, the following is further described with reference to specific examples.
为了验证本发明方法在求解多层布线问题中上的有效性,将本发明方法与文献[1]:Moffitt MD. Maizerouter: Engineering an effective global router. IEEETransactions on Computer-Aided Design of Integrated Circuits and Systems,2008, 27(11): 2017–2026.和文献[2]:Chang YJ,Lee YT, Gao JR, et al. NTHU-Route2.0: A robust global router for modern designs. IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems, 2010, 29(12): 1931-1944.中提出的两种串行总体布线算法在ISPD07基准电路上进行实验对比。这些矩形总体布线串行算法基于曼哈顿结构并且均在ISPD07基准电路上进行测试,相应的实验结果在表7中给出。从表7可看出,本发明方法在溢出数方面相对文献[1]和文献[2]中两种算法分别取得23.94%和11.40%的优化效果,特别是相对文献[1]在测试实例16上可达到100%的溢出数减少率,即可优化到没有溢出的情况,同时在测试实例18上分别取得91.5%和91.2%的溢出数减少率,有力地提高了芯片的可布性和可制造性。本发明方法在总线长方面相对文献[1]和文献[2]中两种算法分别取得22.26%和17.17%的布线总代价减少率。特别是相对文献[1]在测试实例16上可达到34.17%的总线长减少率。本发明方法相对于其他串行算法能够有效减少溢出数和总线长的原因包括:由于本发明方法引入X结构并从全局的角度进行总体布线,所以本发明方法具有相对更强的线长优化能力,且能较好克服这些串行算法对线网布线顺序的依赖性问题,从而有效减少拥挤情况和溢出情况。In order to verify the effectiveness of the method of the present invention in solving the multi-layer wiring problem, the method of the present invention and document [1]: Moffitt MD. Maizerouter: Engineering an effective global router. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2008, 27(11): 2017–2026. And reference [2]: Chang YJ, Lee YT, Gao JR, et al. NTHU-Route2.0: A robust global router for modern designs. IEEE Transactions onComputer-Aided Design of The two serial overall routing algorithms proposed in Integrated Circuits and Systems, 2010, 29(12): 1931-1944. are experimentally compared on the ISPD07 benchmark circuit. These rectangular overall routing serial algorithms are based on the Manhattan structure and are all tested on the ISPD07 benchmark circuit, and the corresponding experimental results are given in Table 7. It can be seen from Table 7 that the method of the present invention achieves 23.94% and 11.40% of the optimization effects in terms of overflow number compared to the two algorithms in Reference [1] and Reference [2], especially compared to Reference [1] in Test Example 16 100% overflow reduction rate can be achieved on the test case, which can be optimized to no overflow. At the same time, the overflow reduction rate of 91.5% and 91.2% was achieved in test example 18, which effectively improved the chip's routability and reliability. manufacturability. Compared with the two algorithms in literature [1] and literature [2], the method of the present invention achieves a reduction rate of 22.26% and 17.17% of the total wiring cost, respectively, in terms of bus length. Especially compared to the literature [1], the bus length reduction rate of 34.17% can be achieved on the test example 16. The reasons why the method of the present invention can effectively reduce the number of overflows and the bus length compared with other serial algorithms include: because the method of the present invention introduces the X structure and performs overall wiring from a global perspective, the method of the present invention has relatively stronger line length optimization capabilities. , and can better overcome the dependence of these serial algorithms on the wiring order of the net, thereby effectively reducing congestion and overflow.
表7 在ISPD07上与两种串行算法的总体布线算法的对比Table 7 Comparison of overall routing algorithms on ISPD07 with two serial algorithms
为了进一步验证本发明方法在ISPD07基准电路上的有效性,将本发明方法与文献[3]:Cho M, Lu K, Yuan K, et al. Boxrouter 2.0: A hybrid and robust globalrouter with layer assignment for routability. ACM Transactions on DesignAutomation of Electronic Systems, 2009, 14(2): 1–21.和文献[4]:Roy AJ, MarkovIL. High-performance routing at the nanometer scale. IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems, 2008, 27(6): 1066–1077.两种总体布线并行算法进行对比,表8给出相应的实验结果。从表8可看出,本发明方法在溢出数方面相对文献[3]和[4]中两种算法分别取得24.11%和24.15%的优化效果,特别是相对文献[3]和[4]在测试实例16上可达到100%的溢出数减少率,即可优化到没有溢出的情况,同时在测试实例18上分别取得92.9%和93.18%的溢出数减少率,有力地提高了芯片的可布性和可制造性。本发明方法在总线长方面相对文献[3]和[4]中两种算法分别取得20.24%和16.33%的布线总代价减少率。特别是相对文献[3]在测试实例16上可达到33.66%的总线长减少率。In order to further verify the effectiveness of the method of the present invention on the ISPD07 reference circuit, the method of the present invention is compared with the literature [3]: Cho M, Lu K, Yuan K, et al. Boxrouter 2.0: A hybrid and robust globalrouter with layer assignment for routability . ACM Transactions on DesignAutomation of Electronic Systems, 2009, 14(2): 1–21. and reference [4]: Roy AJ, MarkovIL. High-performance routing at the nanometer scale. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2008, 27(6): 1066–1077. Two overall routing parallel algorithms are compared, and Table 8 gives the corresponding experimental results. It can be seen from Table 8 that the method of the present invention achieves 24.11% and 24.15% of the optimization effects in terms of overflow numbers compared with the two algorithms in literature [3] and [4], especially compared to literature [3] and [4]. Test instance 16 can achieve a 100% overflow reduction rate, which can be optimized to no overflow. At the same time, in test instance 18, a 92.9% and 93.18% overflow reduction rate can be achieved, which effectively improves the chip's deployability. flexibility and manufacturability. Compared with the two algorithms in the literature [3] and [4], the method of the present invention achieves a reduction rate of 20.24% and 16.33% of the total wiring cost in terms of bus length, respectively. Especially compared to the literature [3], the bus length reduction rate of 33.66% can be achieved on the test example 16.
进一步的,在本实施例中,本发明方法相对于其他并行算法能够有效减少溢出数和总线长的原因包括:(1)FZU-Router引入了X结构,可相对曼哈顿结构取得更少的总线长;(2) FZU-Router采用改进的PSO算法求解FX-ILP模型,可解决采用随机取整方法求解ILP模型易产生偏差的情况,从而最终带来总线长的优化。同时,FZU-Router的设计初衷是为了进一步优化溢出数,其次优化线长总代价,跟多层总体布线对性能的需求是一致的,可以更有效和更有质量地求解多层总体布线问题。Further, in this embodiment, the reasons why the method of the present invention can effectively reduce the number of overflows and the bus length compared with other parallel algorithms include: (1) FZU-Router introduces the X structure, which can obtain less bus length than the Manhattan structure. ; (2) FZU-Router uses the improved PSO algorithm to solve the FX-ILP model, which can solve the situation that the random rounding method is used to solve the ILP model that is prone to deviation, thus ultimately bringing about the optimization of the bus length. At the same time, the original design of FZU-Router is to further optimize the number of overflows, and secondly to optimize the total cost of the line length, which is consistent with the performance requirements of the multi-layer overall wiring, and can solve the multi-layer overall wiring problem more efficiently and with higher quality.
表8 在ISPD07上与两种并行算法的总体布线算法的对比Table 8 Comparison of overall routing algorithms with two parallel algorithms on ISPD07
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。The above are the preferred embodiments of the present invention, all changes made according to the technical solutions of the present invention, when the resulting functional effects do not exceed the scope of the technical solutions of the present invention, belong to the protection scope of the present invention.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711060869.5A CN107832519B (en) | 2017-11-02 | 2017-11-02 | Multilayer overall wiring method for high-performance X structure in ultra-large scale integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711060869.5A CN107832519B (en) | 2017-11-02 | 2017-11-02 | Multilayer overall wiring method for high-performance X structure in ultra-large scale integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832519A CN107832519A (en) | 2018-03-23 |
CN107832519B true CN107832519B (en) | 2021-01-29 |
Family
ID=61651409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711060869.5A Active CN107832519B (en) | 2017-11-02 | 2017-11-02 | Multilayer overall wiring method for high-performance X structure in ultra-large scale integrated circuit |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832519B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733936A (en) * | 2018-05-28 | 2018-11-02 | 福州大学 | The discrete relaxation that DSA via layer triplex modes decompose |
CN110133733B (en) * | 2019-04-28 | 2020-07-24 | 吉林大学 | Conductance-polarizability multi-parameter imaging method based on particle swarm optimization algorithm |
CN110705204B (en) * | 2019-09-27 | 2023-03-24 | 福州大学 | Time sequence perception layer distribution method based on multi-stage strategy |
CN110795907B (en) * | 2019-09-30 | 2021-05-18 | 福州大学 | A Steiner Minimum Tree Construction Method for X-structure Considering Routing Resource Relaxation |
US11501052B1 (en) | 2021-05-27 | 2022-11-15 | Taiwan Semiconductor Manufacturing Company, Ltd | Conductor scheme selection and track planning for mixed-diagonal-Manhattan routing |
CN113657067B (en) * | 2021-06-30 | 2023-07-21 | 福州大学 | Multi-layer general routing method for VLSI based on multi-strategy optimization |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08194727A (en) * | 1995-01-18 | 1996-07-30 | Hitachi Ltd | Connection relation display method among arranged elements |
CN1588381A (en) * | 2004-07-06 | 2005-03-02 | 清华大学 | Rectangular steiner tree method of super large size integrated circuit avoiding barrier |
CN103902775A (en) * | 2014-03-31 | 2014-07-02 | 福州大学 | Multilayer obstacle-avoiding Steiner minimal tree construction method for very large scale integration |
CN103902774A (en) * | 2014-03-31 | 2014-07-02 | 福州大学 | Overall wiring method for super-large-scale integrated circuit under X structure |
CN104462628A (en) * | 2013-09-24 | 2015-03-25 | 复旦大学 | Construction method and device for barrier-bypassing eight-fork Steiner minimum tree |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418113B1 (en) * | 2011-10-03 | 2013-04-09 | International Business Machines Corporation | Consideration of local routing and pin access during VLSI global routing |
-
2017
- 2017-11-02 CN CN201711060869.5A patent/CN107832519B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08194727A (en) * | 1995-01-18 | 1996-07-30 | Hitachi Ltd | Connection relation display method among arranged elements |
CN1588381A (en) * | 2004-07-06 | 2005-03-02 | 清华大学 | Rectangular steiner tree method of super large size integrated circuit avoiding barrier |
CN104462628A (en) * | 2013-09-24 | 2015-03-25 | 复旦大学 | Construction method and device for barrier-bypassing eight-fork Steiner minimum tree |
CN103902775A (en) * | 2014-03-31 | 2014-07-02 | 福州大学 | Multilayer obstacle-avoiding Steiner minimal tree construction method for very large scale integration |
CN103902774A (en) * | 2014-03-31 | 2014-07-02 | 福州大学 | Overall wiring method for super-large-scale integrated circuit under X structure |
Non-Patent Citations (1)
Title |
---|
一种串扰和时延驱动的总体布线算法;庄昌文 等;《电子科技大学学报》;20000630;第29卷(第03期);第233-238页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107832519A (en) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832519B (en) | Multilayer overall wiring method for high-performance X structure in ultra-large scale integrated circuit | |
CN106682306B (en) | Rapid FPGA wiring method | |
CN111814420B (en) | Overall wiring method based on topological optimization and heuristic search | |
CN102710488B (en) | Method for realizing virtual network mapping | |
CN103902774B (en) | Overall wiring method for super-large-scale integrated circuit under X structure | |
CN110795907A (en) | A Steiner Minimum Tree Construction Method for X-structure Considering Routing Resource Relaxation | |
CN112181867B (en) | On-chip network memory controller layout method based on multi-target genetic algorithm | |
CN113657067B (en) | Multi-layer general routing method for VLSI based on multi-strategy optimization | |
CN111709205B (en) | FPGA wiring method | |
CN111914507A (en) | Wiring method and device for rapid single-flux-element RSFQ circuit | |
Liu et al. | TILA-S: Timing-driven incremental layer assignment avoiding slew violations | |
CN103761212B (en) | The method for designing of mapping scheme and topological structure between task and node in network-on-chip | |
Ao et al. | Delay-driven layer assignment in global routing under multi-tier interconnect structure | |
CN103902772B (en) | Staggered pin structure based escape wiring method for isometric difference pairs | |
CN117829088A (en) | Circuit board automatic wiring planning method based on full-page global optimization | |
CN113505561A (en) | Soft error sensing FPGA (field programmable Gate array) layout and wiring method | |
CN111339727B (en) | Through-hole pillar-aware layer divider with minimized latency and overflow in advanced process | |
Zhu et al. | Minideviation: an efficient multi-stage bus-aware global router | |
CN113822008B (en) | A VLSI Wiring Method Based on Multi-Pin Simultaneous Diffusion Search | |
Cao et al. | DraXRouter: global routing in X-architecture with dynamic resource assignment | |
Song et al. | Buffer reduction for congestion control during timing optimization | |
JP3215215B2 (en) | Logic cell parallel arrangement processing method | |
Zhu et al. | Energy and switch area optimizations for FPGA global routing architectures | |
Foroutan et al. | Cost-efficient buffer sizing in shared-memory 3D-MPSoCs using wide I/O interfaces | |
Hu et al. | A routing paradigm with novel resources estimation and routability models for X-architecture based physical design |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230105 Address after: 201306 2nd floor, no.979 Yunhan Road, Lingang New Area, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Shanghai Lixin Software Technology Co.,Ltd. Address before: No.2, Xueyuan Road, University Town, Shangjie Town, Minhou County, Fuzhou City, Fujian Province Patentee before: FUZHOU University |