CN113836861B - 一种高质量的规避slew违规的层分配方法 - Google Patents
一种高质量的规避slew违规的层分配方法 Download PDFInfo
- Publication number
- CN113836861B CN113836861B CN202111132406.1A CN202111132406A CN113836861B CN 113836861 B CN113836861 B CN 113836861B CN 202111132406 A CN202111132406 A CN 202111132406A CN 113836861 B CN113836861 B CN 113836861B
- Authority
- CN
- China
- Prior art keywords
- layer
- net
- slew
- network
- wire
- 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 35
- 238000005457 optimization Methods 0.000 claims abstract description 6
- 230000000694 effects Effects 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 13
- 239000002184 metal Substances 0.000 claims description 7
- 230000008030 elimination Effects 0.000 claims description 6
- 238000003379 elimination reaction Methods 0.000 claims description 6
- 238000007670 refining Methods 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 239000003990 capacitor Substances 0.000 claims description 2
- 210000000712 G cell Anatomy 0.000 description 6
- 230000001934 delay Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004804 winding Methods 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/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
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
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
本发明涉及一种高质量的规避slew违规的层分配方法,主要包含三部分策略:1)分类重绕策略。该策略依据预分配线网的时延和slew违规数特征分类线网,并依据不同类别的优化重点采取不同的层分配操作;2)slew违规手术刀算法。该算法通过重复拆线并适当调整目标权重,减少线网中的slew违规;3)层限制策略。一种基于线网段时序关键性的导线调整策略,该策略通过限制线网段的可选布线层,达到优化线网时延的效果。本发明能够在优化线网时延和通孔数的同时,显著优化slew违规数,取得最佳的层分配结果。
Description
技术领域
本发明属于集成电路计算机辅助设计技术领域,具体涉及一种高 质量的规避slew违规的层分配方法。
背景技术
随着超大规模集成电路的进步,电路器件密集度增大,如何获取 高性能的布线结果愈发成为一个难题。为了解决高复杂性的布线问题, 物理设计领域通常将电路布线分为总体布线和详细布线两个步骤,其 中总体布线在后端设计流程中起着至关重要的作用。一方面,基于多 层结构的总体布线算法需要满足多项约束以满足布线结果与详细布线步骤之间的匹配;另一方面,总体布线结果的时延、通孔和串扰等 性能指标将极大地影响最终芯片的电路性能。然而,高互连电阻常常 导致信号完整度下降,如何获取急剧的slew愈发成为影响芯片布线 效果的关键因素,而高效的层分配算法能够优化总体布线的布线结果。
发明内容
有鉴于此,本发明的目的在于提供一种高质量的规避slew违规 的层分配方法,能有效降低线网slew违规和通孔数,最小化线网时 延,提高超大规模集成电路质量。
为实现上述目的,本发明采用如下技术方案:
一种高质量的规避slew违规的层分配方法,包括以下阶段:
预分配阶段:在不计层限制代价和拥塞代价的前提下初始层分配 所有线网,获取不受已分配线网影响的初始层分配结果;
重绕阶段:对预分配线网统计各线网特征并进行分类,然后针对 不同线网类别采用分类重绕算法调整层分配;
精炼阶段:在重绕线网后已得到的无溢出的层分配结果的基础上 进行调整,依次拆除并重绕线网,并比较所得线网与原有线网的时延 大小,选取最优结果作为最终的层分配方案。
进一步的,所述预分配阶段采用一种不考虑拥塞的层分配方法使 得后分配线网不受先分配线网的影响,便于统计线网类型,具体如下:
每一部分的单线网层分配采用的目标函数,其公式如下:
min cost(n)=α1×delay(n)+α2×viac(n)+α3×costc(n)+α4×costo(n)
其中,delay和viac分别表征线网时延和通孔数,costc表示线网 的层限制代价,costo表示线网拥塞代价,α1,α2,α3和α4均为自定 义权重值,控制各部分代价所占比例;
在探索单一线网层分配方案时,依据协商思想动态调整拥塞代价 以规避拥塞布线层,其中拥塞代价的定义如下:
ofc(s)=max(0,ncap(s)-cap(s))
其中,ofc是溢出数。ncap和cap分别表示已有线网段数量和可 分配线网段数量,溢出数是两者差值与0之间的最大值;his表示历 史代价,当存在溢出时,其大小是上一次历史代价上的累加,即第i+1 次迭代his的计算公式为:
其中β为自定义参数,用于调节历史代价增长速度。
进一步的,所述重绕阶段具体为:采用分类重绕算法,作为算法 流程的重绕阶段;在在重绕阶段slew违规手术刀算法通过不断调整 重绕过程中的时延与通孔权重,该策略将选择具有最优slew违规数 量值的层分配方案作为最终结果;并在重绕阶段使使用一种改进的缓 解逐网层分配容易陷入局部最优的层限制策略,通过考虑2D网格边上线网段的时序优先级,提前限制线网段的可选布线层,达到优化芯 片性能的效果
进一步的,所述分类重绕算法包括线网分类阶段和溢出消除阶段。
进一步的,所述线网分类阶段,首先依据已有层分配方案统计各 sink点的slew,并以10倍的slew值与slew约束值相比较,分类各 sink点所处路径;然后,统计路径分类信息并分类各个线网。
进一步的,所述溢出消除阶段,依据已得的线网类别对线网进行 重绕工作以消除产生的overflow;首先分配Ⅰ类线网占据低时延层, 并只对该类线网进行拆线和重绕步骤;当线网不再产生overflow后, 已分配的Ⅰ类线网中绝大部分线网将不再发生变化;然后依次层分配 Ⅱ类线网,在考虑拥塞代价的同时产生少部分overflow;
对产生overflow的线网进行拆线重绕,收敛得到最终无溢出的 3D总体布线结果;该阶段的线网层分配一方面使用slew违规手术刀 算法减少线网中发生slew违规的sink的数量;另一方面,通过使用 层限制策略限制不同导线段的可选金属层来控制线网时延。
进一步的,所述slew违规手术刀算法包括统计和调整两部分, 具体为:
统计阶段:通过遍历3D网格边,统计所有溢出线网的现有slew 违规数量;
调整阶段:尝试两次参数比重的调整以修正现有方案,包括增大 目标函数时延权重并降低通孔数权重,利用新的目标函数对溢出线网 进行拆除和重绕;
若重绕后的线网能够减少线网slew违规数,则保留现有方案; 否则,第二次调整将增大目标函数通孔数权重,并采用更侧重通孔数 优化的目标函数对线网重新进行层分配操作;若最终线网能够实现slew违规数的缩减,则保留现有方案,否则,将现有方案替换成侧重 时延优化的上次的层分配方案并作为最终结果。
进一步的,所述层限制策略包括线网段优先级的确定,层限制代 价的引入两部分,具体为:
统计2D网格边对应各线网段的优先级,即为每个线网段赋予一 个分数,为区分不同线网段对线网时延,slew违规数等时序特征的影 响,将该类影响定义为线网段的时序关键性,而将其中较高影响的线网段定义为时序关键线网段,反之为非时序关键线网段,并将下游电 容和违规sink数同时作为评估线网段时序关键性的影响因素
在评估各层分配线网段的目标代价中引入层限制代价,并在单一 线网层分配过程中避开高代价的布线层。
进一步的,所述分数的计算公式如下:
Score(s)=vslw(s)+M0×Cd(s)
其中,vslw(s)表示s段下游的违规sink数量;M0为自定义参数, 用于平衡时延和slew违规在决定线网段优先级上所占的比重;若下 游发生slew违规的sink点的数量为0,则线网段分数完全取决于其 下游电容的大小,即完全由时延因素确定分数值;然后,依据分数值 排序线网段,最终获得2D网格边上所有线网所对应的名次W(s)。
进一步的,所述层限制代价的计算公式如下:
其中,upcap(s,k)表示第k层布线层上层导线容量总和,包括已被 占据的容量ucap和未使用的导线容量ncap
M1和M2均为自定义参数,用于拟合上层容量与线网段名次之间 的线性关系;若线网段名次数值较大,则为保证较小的层限制代价, 上层容量数值upcap需取较大值,即需要将线网段分配至下层—高时 延层;反之,名次数值较小的线网段将被分配至低时延层以确保更小的时延和slew违规数。
本发明与现有技术相比具有以下有益效果:
本发明能有效降低线网slew违规和通孔数,最小化线网时延, 提高超大规模集成电路质量。
附图说明
图1是本发明一实施例中层分配区域模型,其中(a)多层金属层 结构,(b)抽象得到的3D网格图,(c)2D总体布线结果及2D网格图, (d)3D总体布线结果及3D网格图;
图2是本发明方法流程图;
图3是本发明一实施例中slew违规手术刀策略算法
图4是本发明一实施例中,其中(a)待分配的线网段,(b)初始层 分配器得到的层分配结果,(c)应用层限制策略后的层分配结果。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种高质量的规避slew违规的层分 配方法,包括以下阶段:
预分配阶段:在不计层限制代价和拥塞代价的前提下初始层分配 所有线网,获取不受已分配线网影响的初始层分配结果;
重绕阶段:对预分配线网统计各线网特征并进行分类,然后针对 不同线网类别采用分类重绕算法调整层分配;
精炼阶段:在重绕线网后已得到的无溢出的层分配结果的基础上 进行调整,依次拆除并重绕线网,并比较所得线网与原有线网的时延 大小,选取最优结果作为最终的层分配方案。
在本实施例中,层分配模型,具体为:
多层布线结构具有多个不同厚度的金属层,在布线区域中,每个 金属层被平均划分成多个具有相同大小的矩形单元(G-cell)。基于总 体布线过程不考虑具体矩形单元内的布线情况,层分配问题将多个金 属层抽象成3D网格图G(V,E),则每个顶点(v∈V)代表一个原先的 G-cell。如图1中(a)所示。
其中,相邻G-cell之间的轨道数被抽象为相邻两点之间的边(e∈E) 的容量。同时,相邻两层之间的走线方向相互垂直,即只有水平和垂 直两个方向。相同层相邻G-cell之间相同走线方向上的轨道用于放置 线网段(每条轨道可放置一条默认线宽的线网段),不同层相邻G-cell 之间的用于放置通孔。层分配是将已有的2D网格图上的线网段映射 到3D网格图上的不同层的相同位置。如图1(b)所示,实线橙色段表 示相邻节点之间的线网段,虚线橙色段表示通孔。层分配过程将线网 n1的2D拓扑所对应线网段依次分配至3D网格图,相邻层之间通过 通孔连接,得到连接source与sink的3D连通图。由于边的容量有限,当3D网格边上所分配的不同线网的线网段的数量大于容量时,即认为该3D网格边产生了overflow。
在避免产生overflow的多层布线结构中,为优化线网时延,算法 针对假设的9层布线层结构引入了先进制程工艺下的非默认规则(NDR)线技术。NDR线主要有平行线和宽线两类。与相同层的默认导线相比,平行线需占据2个布线轨道,宽线需占据3个可布线轨道。在同一布线层中,NDR线的线宽宽度是默认线宽的两倍。基于不同 线网线宽对导线电阻电容的影响,使用NDR线后的线网段能够在低 时延层产生更小的时延。同时,由于低时延层的可布线轨道数量有限。 因此,在布线资源有限的3D网格边,算法采用默认规格导线连接相邻G-cell,而在不恶化其可布线性的情况下,算法使用NDR线以进 一步降低时延。
在本实施例中,优选的,采用具有良好保真度的Elmore模型计 算线网时延。两顶点之间的线网段的时延计算公式如下:
其中,R和C分别表示s段的电阻和电容,Cd表示下游电容。定义从 source到sink之间的线网段的集合为一条路径,则路径时延等于各线 网段时延的累加和:
其中,p表示线网路径。而单一线网存在一个source和一个或多个sink, 即可能存在多条路径。因此我们定义线网总时延大小等于各路径时延 的加权和:
其中,αi为路径权重。之前相关工作中假定各路径时延比重相同, 因此将αi设置为该线网sink数量的倒数。
在本实施例中,优选的,slew模型具体为:
信号slew是信号上升或下降时间,在本实施例中,slew被定义 为波形跨越10%和90%之间所需要的时间。为了获取精确的slew评 估,本发明采用基于Elmore模型的PERI模型计算各引脚slew数值 大小。布线线网在2D网格图上是一棵具有一个根节点(source)和多个叶子节点(sink)的树形拓扑。依据广度优先搜索方式从source 到sink遍历各线网段,则对于每一个线网段s,靠近根节点的引脚为 其上游引脚pu,靠近叶子节点的引脚为其下游引脚pd。依据PERI 模型,下游引脚的slew值计算公式如下:
其中slwstep为两引脚之间的步距slew。步距slew的数值计算依据 Bakoglu度量可估计为ln9倍的路径时延。
slwstep(s)=ln9×delay(s) (5)
其中,上下游引脚之间的线网段时延可依据公式(1)计算得到。通孔的 slew计算公式与线网段相类似,如公式(6)所示:
其中,vu和vd分别表示位于通孔两端的上下游引脚。依据自上而下 的广度优先搜索顺序,从source依次计算各线网段下游节点的slew 值,直至遍历网线网所有sink点。当某一个sink点的slew值大于所 给定的slew约束时,即认为给sink点处发生slew违规。
优选的,在本实施例中,每一部分的单线网层分配采用相类似的 目标函数,其公式如下:
min cost(n)=α1×delay(n)+α2×viac(n)+α3×costc(n)+α4×costo(n) (7)
其中,delay和viac分别表征线网时延和通孔数。costc表示线网的层 限制代价,算法依据线网段时序关键性计算其分配至所处布线层的代 价值,其具体含义将在后文的层限制策略中进行阐述。costo表示线 网拥塞代价,控制线网规避拥塞区域。α1,α2,α3和α4均为自定义权 重值,控制各部分代价所占比例。在预分配阶段,为不受已布线网影 响,算法只使用默认类型导线并将α3、α4均设为0,而将α1,α2分别 设为10和2以重点优化线网时延。重绕阶段需要针对各不同步骤进 行参数调整,后文将具体给出,这里不再赘叙。精炼阶段算法将α1, α2,α3和α4分别设为10,1.2,0.05,1,在无溢出的层分配结果的基 础上进一步改进已有方案。
算法在探索单一线网层分配方案时,依据协商思想动态调整拥塞 代价以规避拥塞布线层。其中拥塞代价的定义如下:
ofc(s)=max(0,ncap(s)-cap(s)) (9)
其中,ofc是溢出数。ncap和cap分别表示已有线网段数量和可分配 线网段数量,溢出数是两者差值与0之间的最大值。his表示历史代 价,当存在溢出时,其大小是上一次历史代价上的累加,即第i+1次 迭代his的计算公式为:
其中β为自定义参数,用于调节历史代价增长速度。当线网段所在布 线层产生overflow时,历史代价的急速递增将导致该方案总代价增大, 因此在下次迭代过程中算法将规避该拥塞的3D网格边而选择总代价 更小的可选布线层。
在本实施例中,重绕阶段具体为:采用分类重绕算法,作为算法 流程的重绕阶段;在在重绕阶段slew违规手术刀算法通过不断调整 重绕过程中的时延与通孔权重,该策略将选择具有最优slew违规数 量值的层分配方案作为最终结果;并在重绕阶段使使用一种改进的缓 解逐网层分配容易陷入局部最优的层限制策略,通过考虑2D网格边上线网段的时序优先级,提前限制线网段的可选布线层,达到优化芯 片性能的效果。
优选的,在本实施例中,分类重绕策略采用依据不同线网特征进 行层分配的分类重绕策略
。假定线网中某一sink处的slew值表示为slwsink,则对于该sink 点所在路径,大体上可以被分为三种情况:1)slwsink将超过slew约束, 该路径因为线长过长导致无论将线网段分配至哪一布线层都不能避 免sink的slew值超过约束值;2)slwsink可能大于slew约束,即通过 将路径中的线网段全部或部分分配至低时延层,slwsink可以保持在slew约束以内;3)slwsink不会超过slew约束,由于该路径线长较短, 层分配过程不会对是否发生slew违规造成影响。我们将第一和第二 种情况归为a类,第三种情况归为b类。因为第一种路径将影响层分 配结果的最大时延,第二种路径将影响层分配结果中slew违规的数 量,因此在层分配过程中需要在低时延层着重分配a类路径的线网段。除此之外,由于单一线网中一般包含多条路径,本发明依据路径类别 分类线网:若线网n中a类路径数量大于或等于b类路径,则线网n 为Ⅰ类线网,否则,线网n归为Ⅱ类线网。由于Ⅰ类线网在时延与slew违规数优化上的影响,分类重绕策略将优先将Ⅰ类线网分配至低时延 层以优化总体指标。图2展示的是分类重绕策略的总体流程:
如图2所示,分类重绕策略主要由线网分类和溢出消除两部分构 成。由于在预分配阶段,算法已将所有线网在不计层限制代价和溢出 代价的条件下分配至各布线层。
因此在线网分类阶段,算法首先依据已有层分配方案统计各sink 点的slew,并以10倍的slew值与slew约束值相比较,分类各sink 点所处路径。然后,统计路径分类信息并分类各个线网。在溢出消除 阶段,算法依据已得的线网类别对线网进行重绕工作以消除产生的 overflow。为尽可能减少线网集合中slew违规数,算法首先分配Ⅰ类线网占据低时延层,并只对该类线网进行拆线和重绕步骤。当线网不 再产生overflow后,已分配的Ⅰ类线网中绝大部分线网将不再发生变 化。然后算法依次层分配Ⅱ类线网,在考虑拥塞代价的同时产生少部 分overflow。最后,算法对产生overflow的线网进行拆线重绕,收敛 得到最终无溢出的3D总体布线结果。该阶段的线网层分配一方面使 用slew违规手术刀算法减少线网中发生slew违规的sink的数量;另 一方面,通过使用层限制策略限制不同导线段的可选金属层来控制线网时延。
优选的,在本实施例中,slew违规手术刀算法具体如下:
层分配算法遍历各层并选择使得目标函数最小的布线层用于布 线。因此,每一项层分配方案均在综合计算时延,通孔数,层限制以 及拥塞等代价后得到。由于线网时延以及通孔数均能够对线网slew 造成影响,因此常常需要设置匹配的函数权值。然而,迭代过程中拥塞代价的剧烈递增常常导致各部分参数(例如时延,通孔数等方面) 所占比重失衡,所得的层分配方案无法达到改善slew违规的目标。 为此,本发明提出了基于多次拆线重绕的slew违规手术刀算法。该 策略的伪代码如图3所示。
由算法1可知,slew违规手术刀算法主要由统计和调整两部分组 成。行1到行5为统计阶段。通过遍历3D网格边,统计所有溢出线 网的现有slew违规数量。该部分原有目标函数的α1,α2,α3和α4分 别为10,1.2,0.05和1。由于迭代过程中拥塞代价不断递增导致各项比例失衡,原有的权值将不适用于减少slew违规。因此,行6到 行19为调整阶段,该阶段尝试两次参数比重的调整以修正现有方案。 例如,行7增大目标函数时延权重并降低通孔数权重,行8利用新的 目标函数对溢出线网进行拆除和重绕。若重绕后的线网能够减少线网 slew违规数,则保留现有方案。否则,第二次调整将增大目标函数通 孔数权重,并采用更侧重通孔数优化的目标函数对线网重新进行层分配操作。若最终线网能够实现slew违规数的缩减,则保留现有方案, 否则,将现有方案替换成侧重时延优化的上次的层分配方案并作为最 终结果。在实验中的第一次调整,α1,α2,α3和α4的值分别设为12, 1,0.05和1,第二次调整α1,α2,α3和α4的值分别设为10,1.2,0.05 和1。在slew违规手术刀算法流程中,若调整后层分配方案无法得到 slew违规的进一步优化,则尽可能保证良好的时延。
优选的,在本实施例中,层限制策略,具体如下:
如图所示,图(a)中有n1和n2两个待分配线网,实心矩形表示 source,空心矩形表示sink。假设布线层m3,m5为线网n1和n2的层 分配范围。上层m3为低时延层,下层m5为高时延层,且上下两层的 导线容量均为16。阴影部分为已分配的其它线网。假设上下层已分 配线网数分别为15和14,即上下层均容量分别为1和2,线网段s1和s2需同时考虑时延,通孔,拥塞以减小目标代价。由于上层时延代 价更小,先分配的线网段s1将首先占据m5层。为降低拥塞代价,线 网段s2则只能被分配至m3层,得到图(b)所示方案。依据Elmore时 延计算公式可得,线网下游电容与时延成正比。因此,图(b)方案不能 使线网时延达到最佳。由此得出,盲目为预先分配的线网分配最优布 线层,将影响后续线网的可行方案,即陷入局部最优。
为降低陷入局部最优的风险,本发明提出了基于限制线网段可选 布线层的层限制策略。层限制策略主要包括线网段优先级的确定,层 限制代价的引入两部分内容。首先,该策略需要统计2D网格边对应 各线网段的优先级,即为每个线网段赋予一个分数。为区分不同线网段对线网时延,slew违规数等时序特征的影响,本发明将该类影响定 义为线网段的时序关键性,而将其中较高影响的线网段定义为时序关 键线网段,反之为非时序关键线网段。为平衡时延与slew违规数的 优化,本发明将下游电容和违规sink数同时作为评估线网段时序关 键性的影响因素。该分数的计算公式如下:
Score(s)=vslw(s)+M0×Cd(s) (11)
其中,vslw(s)表示s段下游的违规sink数量。M0为自定义参数, 用于平衡时延和slew违规在决定线网段优先级上所占的比重,在实 验中设为1。若下游发生slew违规的sink点的数量为0,则线网段分数完全取决于其下游电容的大小,即完全由时延因素确定分数值。然 后,依据分数值排序线网段,最终算法可获得2D网格边上所有线网 所对应的名次W(s)。
层限制代价的引入其主要内容是在评估各层分配线网段的目标 代价中引入层限制代价,并在单一线网层分配过程中避开高代价的布 线层。为实现将时序关键线网段置于低时延层,而将非时序关键线网 段置于高时延层,层限制代价的计算公式如下:
其中,upcap(s,k)表示第k层布线层上层导线容量总和,包括已被 占据的容量ucap和未使用的导线容量ncap。
M1和M2均为自定义参数,用于拟合上层容量与线网段名次之间 的线性关系。依据公式(12)可得,若线网段名次数值较大,则为保证 较小的层限制代价,上层容量数值upcap需取较大值,即需要将线网 段分配至下层——高时延层。反之,名次数值较小的线网段将被分配 至低时延层以确保更小的时延和slew违规数。在引入层限制策略后,算法将时序关键线网段的低代价布线层选择范围限制在低时延层,而 非时序关键线网段将被限制在高时延层。如图4中(c)所示,时序关键 性较弱的线网段s1被限制在m3层,而不会影响线网段s2选择最优时 延方案。因此,层限制策略能够在一定程度上规避已布线网的影响, 降低层分配算法陷入局部最优的风险。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所 做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (7)
1.一种高质量的规避slew违规的层分配方法,其特征在于,包括以下阶段:
预分配阶段:在不计层限制代价和拥塞代价的前提下初始层分配所有线网,获取不受已分配线网影响的初始层分配结果;
重绕阶段:对预分配线网统计各线网特征并进行分类,然后针对不同线网类别采用分类重绕算法调整层分配;
精炼阶段:在重绕线网后已得到的无溢出的层分配结果的基础上进行调整,依次拆除并重绕线网,并比较所得线网与原有线网的时延大小,选取最优结果作为最终的层分配方案;
所述预分配阶段采用一种不考虑拥塞的层分配方法使得后分配线网不受先分配线网的影响,便于统计线网类型,具体如下:
每一部分的单线网层分配采用的目标函数,其公式如下:
min cost(n)=α1×delay(n)+α2×viac(n)+α3×costc(n)+α4×costo(n)
其中,delay和viac分别表征线网时延和通孔数,costc表示线网的层限制代价,costo表示线网拥塞代价,α1,α2,α3和α4均为自定义权重值,控制各部分代价所占比例;
在探索单一线网层分配方案时,依据协商思想动态调整拥塞代价以规避拥塞布线层,其中拥塞代价的定义如下:
ofc(s)=max(0,ncap(s)-cap(s))
其中,ofc是溢出数;ncap和cap分别表示已有线网段数量和可分配线网段数量,溢出数是两者差值与0之间的最大值;his表示历史代价,当存在溢出时,其大小是上一次历史代价上的累加,即第i+1次迭代his的计算公式为:
其中β为自定义参数,用于调节历史代价增长速度;
所述重绕阶段具体为:采用分类重绕算法,作为算法流程的重绕阶段;在重绕阶段slew违规手术刀算法通过不断调整重绕过程中的时延与通孔权重,该策略将选择具有最优slew违规数量值的层分配方案作为最终结果;并在重绕阶段使使用一种改进的缓解逐网层分配容易陷入局部最优的层限制策略,通过考虑2D网格边上线网段的时序优先级,提前限制线网段的可选布线层,达到优化芯片性能的效果;
所述slew违规手术刀算法包括统计和调整两部分,具体为:
统计阶段:通过遍历3D网格边,统计所有溢出线网的现有slew违规数量;
调整阶段:尝试两次参数比重的调整以修正现有方案,包括增大目标函数时延权重并降低通孔数权重,利用新的目标函数对溢出线网进行拆除和重绕;
若重绕后的线网能够减少线网slew违规数,则保留现有方案;否则,第二次调整将增大目标函数通孔数权重,并采用更侧重通孔数优化的目标函数对线网重新进行层分配操作;若最终线网能够实现slew违规数的缩减,则保留现有方案,否则,将现有方案替换成侧重时延优化的上次的层分配方案并作为最终结果。
2.根据权利要求1所述的一种高质量的规避slew违规的层分配方法,其特征在于,所述分类重绕算法包括线网分类阶段和溢出消除阶段。
3.根据权利要求2所述的一种高质量的规避slew违规的层分配方法,其特征在于,所述线网分类阶段,首先依据已有层分配方案统计各sink点的slew,并以10倍的slew值与slew约束值相比较,分类各sink点所处路径;然后,统计路径分类信息并分类各个线网。
4.根据权利要求2所述的一种高质量的规避slew违规的层分配方法,其特征在于,所述溢出消除阶段,依据已得的线网类别对线网进行重绕工作以消除产生的overflow;首先分配Ⅰ类线网占据低时延层,并只对该类线网进行拆线和重绕步骤;当线网不再产生overflow后,已分配的Ⅰ类线网中绝大部分线网将不再发生变化;然后依次层分配Ⅱ类线网,在考虑拥塞代价的同时产生少部分overflow;
对产生overflow的线网进行拆线重绕,收敛得到最终无溢出的3D总体布线结果;该阶段的线网层分配一方面使用slew违规手术刀算法减少线网中发生slew违规的sink的数量;另一方面,通过使用层限制策略限制不同导线段的可选金属层来控制线网时延。
5.根据权利要求1所述的一种高质量的规避slew违规的层分配方法,其特征在于,所述层限制策略包括线网段优先级的确定,层限制代价的引入两部分,具体为:
统计2D网格边对应各线网段的优先级,即为每个线网段赋予一个分数,为区分不同线网段对线网时延,slew违规数时序特征的影响,将该类影响定义为线网段的时序关键性,而将其中较高影响的线网段定义为时序关键线网段,反之为非时序关键线网段,并将下游电容和违规sink数同时作为评估线网段时序关键性的影响因素;
在评估各层分配线网段的目标代价中引入层限制代价,并在单一线网层分配过程中避开高代价的布线层。
6.根据权利要求5所述的一种高质量的规避slew违规的层分配方法,其特征在于,所述分数的计算公式如下:
Score(s)=vslw(s)+M0×Cd(s)
其中,vslw(s)表示s段下游的违规sink数量;M0为自定义参数,用于平衡时延和slew违规在决定线网段优先级上所占的比重;若下游发生slew违规的sink点的数量为0,则线网段分数完全取决于其下游电容的大小,即完全由时延因素确定分数值;然后,依据分数值排序线网段,最终获得2D网格边上所有线网所对应的名次W(s)。
7.根据权利要求5所述的一种高质量的规避slew违规的层分配方法,其特征在于,所述层限制代价的计算公式如下:
其中,W(s)表示2D网格边上所有线网所对应的名次;upcap(s,k)表示第k层布线层上层导线容量总和,包括已被占据的容量ucap和未使用的导线容量ncap
M1和M2均为自定义参数,用于拟合上层容量与线网段名次之间的线性关系;若线网段名次数值较大,则为保证较小的层限制代价,上层容量数值upcap需取较大值,即需要将线网段分配至下层—高时延层;反之,名次数值较小的线网段将被分配至低时延层以确保更小的时延和slew违规数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111132406.1A CN113836861B (zh) | 2021-09-27 | 2021-09-27 | 一种高质量的规避slew违规的层分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111132406.1A CN113836861B (zh) | 2021-09-27 | 2021-09-27 | 一种高质量的规避slew违规的层分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836861A CN113836861A (zh) | 2021-12-24 |
CN113836861B true CN113836861B (zh) | 2024-04-05 |
Family
ID=78970525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111132406.1A Active CN113836861B (zh) | 2021-09-27 | 2021-09-27 | 一种高质量的规避slew违规的层分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836861B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079079A (zh) * | 2006-05-26 | 2007-11-28 | 国际商业机器公司 | 用于快速增量计算耦合的噪声对时序的影响的方法和系统 |
CN107633129A (zh) * | 2017-09-15 | 2018-01-26 | 北京华大九天软件有限公司 | 一种保持原有物理布线拓扑的大线网分裂方法 |
CN109033580A (zh) * | 2018-07-11 | 2018-12-18 | 中国矿业大学(北京) | 一种应用于三维集成电路的层分配方法 |
CN109379754A (zh) * | 2018-12-18 | 2019-02-22 | 国家电网有限公司 | 一种无线接入网中的网络切片优化方法 |
CN111339726A (zh) * | 2020-02-26 | 2020-06-26 | 福州大学 | 考虑电压转换速率的X结构Steiner树构造方法 |
CN112733484A (zh) * | 2021-01-22 | 2021-04-30 | 福州大学 | 基于多策略优化的Slew约束下的X结构Steiner树构造方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370782B2 (en) * | 2010-06-25 | 2013-02-05 | International Business Machines Corporation | Buffer-aware routing in integrated circuit design |
US9875326B2 (en) * | 2015-12-04 | 2018-01-23 | International Business Machines Corporation | Addressing coupled noise-based violations with buffering in a batch environment |
-
2021
- 2021-09-27 CN CN202111132406.1A patent/CN113836861B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079079A (zh) * | 2006-05-26 | 2007-11-28 | 国际商业机器公司 | 用于快速增量计算耦合的噪声对时序的影响的方法和系统 |
CN107633129A (zh) * | 2017-09-15 | 2018-01-26 | 北京华大九天软件有限公司 | 一种保持原有物理布线拓扑的大线网分裂方法 |
CN109033580A (zh) * | 2018-07-11 | 2018-12-18 | 中国矿业大学(北京) | 一种应用于三维集成电路的层分配方法 |
CN109379754A (zh) * | 2018-12-18 | 2019-02-22 | 国家电网有限公司 | 一种无线接入网中的网络切片优化方法 |
CN111339726A (zh) * | 2020-02-26 | 2020-06-26 | 福州大学 | 考虑电压转换速率的X结构Steiner树构造方法 |
CN112733484A (zh) * | 2021-01-22 | 2021-04-30 | 福州大学 | 基于多策略优化的Slew约束下的X结构Steiner树构造方法 |
Non-Patent Citations (1)
Title |
---|
考虑布线资源松弛的X结构Steiner最小树算法;汤浩;刘耿耿;郭文忠;陈国龙;;模式识别与人工智能(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113836861A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6480991B1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
CN110795908B (zh) | 偏差驱动的总线感知总体布线方法 | |
US6123736A (en) | Method and apparatus for horizontal congestion removal | |
US6058254A (en) | Method and apparatus for vertical congestion removal | |
CN111291525B (zh) | 考虑总线和非总线线网的层分配方法 | |
US7137097B1 (en) | Constraint-based global router for routing high performance designs | |
US6068662A (en) | Method and apparatus for congestion removal | |
Sarkar et al. | Routability-driven repeater block planning for interconnect-centric floorplanning | |
US8230378B2 (en) | Method for IC wiring yield optimization, including wire widening during and after routing | |
WO2021253684A1 (zh) | 基于拓扑优化和启发式搜索的总体布线方法 | |
US9003344B2 (en) | Generating pattern-based estimated RC data with analysis of route information | |
JPH077427B2 (ja) | ノードの相互接続方法 | |
US20060129960A1 (en) | Layout-driven, area-constrained design optimization | |
CN110032808B (zh) | 基于混合离散粒子群优化的轨道分配器构建方法 | |
CN115983187A (zh) | 基于多策略的考虑总线偏差的层分配方法 | |
He et al. | Ripple: A robust and effective routability-driven placer | |
CN113836861B (zh) | 一种高质量的规避slew违规的层分配方法 | |
Hu et al. | Congestion minimization during placement without estimation | |
CN111339727B (zh) | 先进制程下最小化时延和溢出的通孔柱感知层分配器 | |
CN112784521B (zh) | 先进制程下时延驱动的层分配方法 | |
Wang et al. | Performance-driven interconnect global routing | |
Jiang et al. | LA-SVR: a high-performance layer assignment algorithm with slew violations reduction | |
TWI669690B (zh) | 利用緩衝區分配車流量達到改善路網壅塞之方法 | |
CN116663488B (zh) | 一种多层级总体布线方法及系统 | |
Cheng et al. | Integrating buffer planning with floorplanning for simultaneous multi-objective optimization |
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 |