一种考虑先进技术的超大规模集成电路详细布线方法

文档序号:1242905 发布日期:2020-08-18 浏览:25次 >En<

阅读说明:本技术 一种考虑先进技术的超大规模集成电路详细布线方法 (Ultra-large-scale integrated circuit detailed wiring method considering advanced technology ) 是由 陈建利 朱自然 于 2020-04-23 设计创作,主要内容包括:本发明涉及一种考虑先进技术的超大规模集成电路详细布线方法,包括如下步骤:(1) 在现代连接约束下进行布局;(2) 将数据输入问题抽象为m个网络;(3) 生成每个网络可能的候选连接以连接每个网络的引脚;(4) 选择有效网的连接边;(5) 将详细布线问题转换为最小生成树问题,并采用Prim算法优化布线,得到最终的详细布线结果。该方法有利于提高可布线性,并优化线长。(The invention relates to a detailed wiring method of a very large scale integrated circuit considering advanced technology, which comprises the following steps: (1) layout is performed under modern connection constraints; (2) abstracting a data input problem into m networks; (3) generating possible candidate connections for each network to connect pins of each network; (4) selecting a connecting edge of an effective net; (5) and converting the detailed wiring problem into a minimum spanning tree problem, and optimizing the wiring by adopting a Prim algorithm to obtain a final detailed wiring result. The method is beneficial to improving the routability and optimizing the wire length.)

一种考虑先进技术的超大规模集成电路详细布线方法

技术领域

本发明属于超大规模集成电路设计技术领域,具体涉及一种考虑先进技术的超大规模集成电路详细布线方法。

背景技术

在超大规模集成电路(VLSI)设计流程中,布线被认为是最耗时且重要的阶段。随着现代电路设计需求的不断增长,许多新的设计规则被引入以满足高级要求的工业需求。而由于布线问题的复杂性,布线过程通常分为两个阶段:全局布线和详细布线。在全局布线阶段中,网络在粗粒度网格结构上进行布线,目的是确定每个网络将在其中进行布线的区域。在确定每个网络的近似布线解决方案之后,详细布线阶段是找到所有网络的确切布线。

目前已经针对VLSI详细布线做了许多工作,这些工作可以分为两类:基于迷宫布线的算法和基于线搜索的算法。基本的迷宫算法是Lee算法,它是广度优先搜索方法的一种应用。在此之后,Hadlock通过应用A*启发式搜索,提出了一种称为最小绕行(MD)算法的最短路径算法,该算法以路径搜索过程中绕行的次数为指导。与Lee的算法相比,MD算法不仅在最短路径阶段花费更少的时间和更少的弯路次数,而且还可以获得更好的布线结果。但是,基于迷宫布线的算法通常非常耗时。

为了节省运行时间和内存,现有技术已经提出了基于行搜索的算法来快速找到单形路径。例如,Hetzal的算法是一种改进的A*算法,它搜索间隔而不是节点。但是,这些算法通常不能确保找到最短路径(或一条路径),从而限制了求解质量。另外,现有工作表明,不能直接修改基于线搜索的算法来有效地处理具有不同约束条件的布线问题。

在现代电路设计中,高性能芯片需要在此“决定生死”的过程中评估和考虑几个相应的指标。为了优化绕过密集拥挤区域而导致的总布线长度,传统的曼哈顿架构和搜索算法无法充分满足某些工业要求。因此,工业界还引入了一些片上互连架构,以获得更好的优化结果和更高的性能。例如,通常采用非曼哈顿路由/互连架构(8方向),以通过减小布线区域和过孔数量来避免浪费布线空间。

另外,随着工业需求的快速发展,在详细布线自动化工具中满足设计规则变得越来越具有挑战性。例如,需要通过满足复杂的布线方向来考虑导线与障碍物之间的间距,并且每个网的布线结果不应与其他网重叠。因此,在详细布线过程中,需要管理相应的度量标准以满足约束和设计规则。

发明内容

本发明的目的在于提供一种考虑先进技术的超大规模集成电路详细布线方法,该方法有利于提高可布线性,并优化线长。

为实现上述目的,本发明采用的技术方案是:一种考虑先进技术的超大规模集成电路详细布线方法,包括如下步骤:

(1) 在现代连接约束下进行布局;

(2) 将数据输入问题抽象为m个网络;

(3) 生成每个网络可能的候选连接以连接每个网络的引脚;

(4) 选择有效网的连接边;

(5) 将详细布线问题转换为最小生成树问题,并采用Prim算法优化布线,得到最终的详细布线结果。

进一步地,所述步骤(1)中,现代连接约束包含四个部分:

a、开放网:每个网络的引脚都完全连接;如果网络中的任何引脚断开连接,则该网络将被视为开放网络,这种网络将被视为故障电线;

b、短区域:如果通孔或金属线与另一个通孔模型、金属线或障碍物重叠,这些情况的所有交集部分都是需要避免的短区域,会发生短区域冲突;

c、矩形间距:布线层上的所有矩形在每两个对象之间都有一个设定的最小间距值,包括两个布线段之间的间距,导线与障碍物之间的间距,以及过孔与障碍物之间的间距;

d、布线方向:布线层上的所有布线方向不仅包括水平和垂直方向,还包括X架构的方向,以减少过孔和总布线长度。

进一步地,所述步骤(2)中,将数据输入问题描述为给定一组m个网络N={n1, n2,..., nm},每个网络都有多个引脚点,一组n个障碍物B={b1, b2, ..., bn},由多个矩形组成;布线问题的目标是,在考虑曼哈顿及非曼哈顿路由体系结构的情况下,为每个ni∈N获得布线结果,同时优化以下两个指标:1)布线结果中没有开放网或短区域;2)所有网的总线长。

进一步地,所述步骤(3)中,候选连接包括两部分:每个网的连接引脚点和每个网范围内的堵塞角点;在获得每个网络的候选连接之后,确定方向驱动的候选连接。

进一步地,所述步骤(4)-(5)中,在有效网的连接边选择中,将候选点和转移点表示为生成的图中的一组顶点,然后构造出图中这些顶点之间的边;在生成的图中,通过路由网络中两个点的欧氏距离来计算每条边的权值,则任何一种路由方案都有一个对应的边集,路由方案的总无线长度即为边集中边权的总和;然后,将详细路由问题转换为生成的图中的Steiner最小树问题获得初始布线结果,再采用Prim算法优化布线,找出冗余点并合并相邻边;最后,将生成的图中的优化Steiner点连接起来,得出最终的详细布线结果。

相较于现有技术,本发明具有以下有益效果:

本发明在障碍物和引脚信息的约束下,通过基于形状的连接候选对象生成方法来生成关键的连接点,以减少后续详细布线过程中的搜索连接点,然后通过有效的网络连接边缘选择策略选择满足详细布线方向要求的边缘,而后引入基于最小生成树的算法来获得初始的详细布线结果,再通过Prim算法找出冗余点并合并相邻边,从而优化布线,得到最终的布线结果。与经典算法相比,本发明方法不仅可以获得更优的可布线性,而且能够获得更短的总线长。

附图说明

图1是本发明实施例的方法实现流程图。

图2是本发明实施例中一个网络生成可能的候选连接的示意图。

图3是本发明实施例中生成四种方向驱动转移点的示意图。

图4是本发明实施例中有效连接候选点的示意图。

图5是本发明实施例中8个方向的边结构示意图。

图6是本发明实施例中SMT算法的流程图。

图7是本发明实施例中冗余点和可合并边的示意图。

图8是本发明实施例中(a)SMT算法与(b)Kurt的路由结果对比图。

图9是本发明实施例中4向(a)与8向(b) 布线结果对比图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步说明。

本发明提供了一种考虑先进技术的超大规模集成电路详细布线方法,其基本思想是在障碍物和引脚信息的约束下,先根据一个基于形状的连接候选对象生成方法来生成关键的连接点;然后,提出有效的网络连接边缘选择策略,以选择布线方向边缘,并且将快速扫描线技术应用于去除无效边缘;最后,引入一种基于Steiner最小生成树的算法来获取初始详细布线结果,然后采用Prim算法改进详细布线,找出多余点并合并相邻点边缘,获得最终的详细布线结果。该方法具体包括如下步骤:

(1) 在现代连接约束下进行布局。

其中,现代连接约束包含四个部分:

a、开放网:每个网络的引脚都完全连接;如果网络中的任何引脚断开连接,则该网络将被视为开放网络,这种网络将被视为故障电线;

b、短区域:如果通孔或金属线与另一个通孔模型、金属线或障碍物重叠,这些情况的所有交集部分都是需要避免的短区域,会发生短区域冲突;

c、矩形间距:布线层上的所有矩形在每两个对象之间都有一个设定的最小间距值,包括两个布线段之间的间距,导线与障碍物之间的间距,以及过孔与障碍物之间的间距;

d、布线方向:布线层上的所有布线方向不仅包括水平和垂直方向,还包括X架构的方向,以减少过孔和总布线长度。

(2) 将数据输入问题抽象为m个网络。

本发明将数据输入问题描述为给定一组m个网络N={n1, n2, ..., nm},每个网络都有多个引脚点,一组n个障碍物B={b1, b2, ..., bn},由多个矩形组成;布线问题的目标是,在考虑曼哈顿及非曼哈顿路由体系结构(4-/8-布线方向)的情况下,为每个ni∈N获得布线结果,同时优化以下两个指标:1)布线结果中没有开放网或短区域;2)所有网的总线长。

(3) 生成每个网络可能的候选连接以连接每个网络的引脚。

其中,候选连接包括两部分:每个网的连接引脚点和每个网范围内的堵塞角点;在获得每个网络的候选连接之后,确定方向驱动的候选连接。由于两个连接候选点的通孔数量最少,因此表明布线只能水平或垂直布线。从上到下的方式,从一个点到另一点的布线可以先是水平的,然后是垂直的。另外,如果考虑非曼哈顿路由体系结构,则该布线可能是倾斜的布线,然后是水平/垂直布线。

(4) 选择有效网的连接边。

(5) 将详细布线问题转换为最小生成树问题,并采用Prim算法优化布线,得到最终的详细布线结果。

在有效网的连接边选择中,将候选点和转移点表示为生成的图中的一组顶点,然后构造出图中这些顶点之间的边;在生成的图中,通过路由网络中两个点的欧氏距离来计算每条边的权值,则任何一种路由方案都有一个对应的边集,路由方案的总无线长度即为边集中边权的总和;然后,将详细路由问题转换为生成的图中的Steiner最小树问题获得初始布线结果,再采用Prim算法优化布线,找出冗余点并合并相邻边;最后,将生成的图中的优化Steiner点连接起来,得出最终的详细布线结果。

请参见图1,图1是本发明考虑先进技术的超大规模集成电路详细布线方法的整体流程。它从预处理电路网表、阻塞和约束信息开始。电路网表由所有网络的特定引脚点组成,每个引脚信息由其相对方向和在相应盒子上的位置决定,阻塞信息由不同金属层上的复杂形状决定,并考虑诸如间距之类的同时约束。

由于阻塞可能会直接阻塞点之间的连接,因此基于搜索的算法通常用于避免传递阻塞来查找每两个点之间的路径。 但是,如果使用单位网格间隔搜索方法,则基于搜索的算法很耗时。与逐个网格策略不同,本发明提出的方法主要基于构建加权图模型,并应用Steiner最小生成树(SMT)算法有效地连接点。本发明方法包括三个主要部分,下面将详细说明。

A.基于形状的连接候选生成:

为了连接每个网络的引脚,本发明首先生成它们可能的连接候选对象。候选连接包括两部分:每个网的连接引脚点和每个网范围内的堵塞角点。图2给出了为一个网络生成可能的连接候选的示例。在图2中,不在障碍物角点位置的点是网络中的固定点,障碍物四个角点位置上的点是扩展的障碍物的角点,所有这些点均构成了该网络的连接候选对象。

在获得每个网络的候选连接之后,需要确定方向驱动的候选连接。由于两个连接候选点的通孔数量最少,因此表明布线只能水平或垂直布线。从上到下的方式,从一个点到另一点的布线可以先是水平的,然后是垂直的。另外,如果考虑非曼哈顿路由体系结构,则该布线可能是倾斜的布线,然后是水平/垂直布线。转移点是布线方向改变的点。任何一对连接候选之间的传输点的结构如图3所示。在图中,角点是连接候选点,非角点是相应生成的传输点。图3(a)和(b)通过考虑4方向示出了转移点,图3(c)和(d)通过考虑8方向示出了转移点。

如果没有障碍物,那么可以直接为每个连接候选点生成2/4个4-direction/8-direction routing的传输点。但是,如果考虑了这些障碍,当连接候选点的直接连接被阻塞时,就不需要一些转移点了。对于这种情况,应该逐个检查传输点和连接候选点之间的连接。对于每次检查,需要确定直通线是否与障碍物发生碰撞,这需要穿越所有的障碍物。因此,它的时间复杂度是O(N2*C),其中N是连接候选点的数量,C是障碍的数量。由于时间复杂度仍然很高,本发明提出了一种基于扫描线技术的方法来去除不需要的传输点,以降低时间复杂度。

以图3(b)右下角的转移点为例。首先,将矩形分割成四条边,两条垂直边和两条水平边,通过扫描点的x坐标对点进行排序。其次,从左向右扫描窗口,使用二叉平衡树,以O(logN)的时间复杂度来保持左下候选点的可见性。如果出现一个候选点,则将其y坐标添加到二叉平衡树中。此外,如果到达垂直边缘,则删除垂直间隔所覆盖的所有y坐标。水平边缘也可以用同样的方法来做。最后,如果一个候选点被认为是右上角,那么计算它的最小y坐标,并取可达范围范围内的二叉平衡树中所有可见的y坐标。时间复杂度为O(N logN)其中N为总点数。注意,在实际情况中,N比N2小得多。图4显示了本发明基于形状的连接候选点,它们分别具有4-和8-方向。

B.有效网的连接边选择:

在本部分中,本发明将候选点和转移点表示为图中的一组顶点,然后构造出图中这些顶点之间的边。在本发明生成的图中,每条边的权值是由布线网络中两个点的欧氏距离来计算的。因此,任何一种布线方案都有一个对应的边集,本发明的布线方案的总无线长度就是边集中边权的总和。

以从左到右的方向为例,点按它们的x坐标(y坐标)排序,如果它们的x坐标相同,则排序数组中的相邻点将被连接起来。每个方向的连接如图5所示。

图5是8个方法的边结构:(a)从左到右,(b)从上到下,(c)从左上角到右下角,(d)从左下角到右上角,(e)所有边。如图5所示,由于堵塞的干扰,一些连接边无效。此外,逐个检查验证也非常耗时。因此,本发明使用上面提到的扫描线技术来去除无效的边缘。主要区别在于,本发明保持了平衡二叉树中边的存在性。

C. 基于SMT的布线和细化:

经过以上两个主要步骤之后,本发明的详细布线问题可以转换为生成的图中的Steiner最小生成树(SMT)问题。众所周知,SMT问题是np完备的。求最优解是一个非常耗时的过程,特别是对于大规模的问题规模。幸运的是,目前已有一些时间复杂度较低的近似算法被提出。L. Kou提出了O(|S||V|2)时间复杂度的算法,保证结果不超过其最优值的2(1−1/l)倍。在上面的方程中,S是需要连接的顶点集,V是顶点集,l是最优树的叶子数。时间复杂度进一步降低为O(|E| + |V |log|V |),其中E为边集。

为了减少拐点的数量,当最短路径算法运行时,如果一条路径上有两条可能方向不同的相邻边,则会增加一个惩罚。然而,K. Mehlhorn中的算法并不是最适合这个问题的。一方面,该算法不使用空间信息,导致冗余边的增加。另一方面,该算法会产生更多的转折点。不像经典的Kruskal算法,本发明提出了一个Prim的算法来改进本发明的详细布线算法。Prim算法如图6所示。作为L. Kou的证明,本发明可以保证本发明的算法生成的实验结果不超过经典算法最优结果的2(1−1/l)倍。

最后,本发明将生成的图中的优化Steiner点连接起来。有些点是多余的,有些边可以合并在一起。图7给出了冗余点和可合并边缘策略。首先,本发明判断这一点是否无用,无用的点就是没有点。

在这个网中,边缘只有一个方向类型(左边和右边被认为是相同的类型)。其次,本发明对具有相同方向的边进行处理,并根据它们的x坐标和y坐标对边进行排序。最后,如果大id边的左点与小id边的右点相同,则可以合并排序数组中相邻的两条边。

经过这三个主要步骤后,本发明最终的布线方案将连接所有的引脚点,不存在碰撞障碍,满足先进技术节点中复杂的设计规则。图8给出了本发明最终的8向不同SMT下的布线方案。

为了评估本发明方法的性能,本发明用c++编程语言实现了它,并在现代工业基准测试中进行了测试。实验结果见表1、表2。在表1中,#P、#B列分别表示一个网络中的点和阻塞的数量。

从表1可以看出,本发明方法是有效的。对于每个基准测试,与经典算法极低的时间复杂度相比,本发明方法不仅在运行时保持平衡,而且也实现了布线长度的小缩减。此外,本发明方法的运行时间对空间占用的大小不敏感,主要与障碍物的数量和针点的数量有关。

表1 总线长度与4方向的比较

表2 总线长度与8方向的比较

本发明实现了精确解的SMT算法,表2考虑8个方向的要求。由于SMT算法的时间复杂度较高,对于复杂的工业案例无法获得最优解。然而,表2中的实验结果表明,本发明提出的算法可以应用于复杂的场景,并获得近似最优解。例如,本发明的结果的总长度非常接近case1和case2的理论最优解,图9是本发明在大规模工业案例中4-和8-方向的布线结果。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于机器学习训练模型获取矩阵分解时间的方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类