基于多策略的考虑总线偏差的层分配方法
文献发布时间:2023-06-19 19:30:30
技术领域
本发明涉及集成电路计算机辅助设计中,超大规模集成电路总体布线设计的技术领域,尤其是基于多策略的考虑总线偏差的层分配方法。
背景技术
随着集成电路产业的高速发展,芯片所能容纳的元器件数量级愈发庞大,线网内总线的占比逐渐增加,总线布线优劣程度直接影响到芯片的时序匹配、布通率等性能,同时单一的2D金属层层结构已经无法满足布线设计的需求。因此,在目前多布线层的布线设计中,在层分配阶段对总线偏差进行判断与优化能够更好地满足芯片对时序特性的需求,提高芯片性能。
伴随着超大规模集成电路工艺的迅猛发展,集成电路设计布线阶段所要处理难题的技术复杂度不断提高。由于其布线的规模巨大,布线设计中通常会采用两个阶段进行设计。两个阶段分别为总体布线阶段和详细布线阶段。而总体布线是整个物理设计中极其重要的阶段,总体布线的结果将决定后面详细布线的质量,从而影响到整个物理设计的结果。另外,基于目前芯片应用的多布线层结构,总体布线设置了层分配阶段作为过渡到详细布线的中间阶段。具体而言,层分配算法基于2D总体布线结果,在没有溢出的条件下,需要考虑线网放置的布线层次,为生成层分配结果即3D总体布线结果。该结果进一步作为后续阶段的基础,为详细布线提供具体引导。
总线的作用是将控制信号或数据并行传输到相应的功能模块,现代制程工艺能够将亿万级数量的元器件集成在芯片内部,在芯片拥有更多功能的同时导致总线的密度极大。因此,在层分配阶段对总线偏差考虑如何进行有效的统一处理,有效地降低总线偏差过大导致芯片时序混乱、布通率降低、功耗过大的概率、更好地满足设计需求十分具有意义。
在层分配的布线过程中,线网将依照规定的布线次序进行走线,而一个电路的布线资源是有限的,因此,布线资源会随着布线的进行逐渐减少。也就是说,先行层分配的线网将拥有更多可选的布线资源,而后续分配的线网相比起前者拥有的可选资源减少,这就导致了线网的布线次序对层分配的布线质量有直接影响。因此,在层分配开始布线前找到一个恰当的层分配顺序可以提高布线资源的使用效率,从而得到最好的层分配结果。当期望优化的目标不同时,优先级算法所选取的线网属性也有所不同。
发明内容
本发明提出基于多策略的考虑总线偏差的层分配方法,能使总线的线长偏差有效地减少,从而得到一个高质量的总体布线结果。
本发明采用以下技术方案。
基于多策略的考虑总线偏差的层分配方法,用于在布线设计中减少总线的线长偏差,所述方法包括在初始层分配阶段以拥塞值为主的优先级分配策略、基于总线偏差的优先级调整策略、基于总线偏差的层调换策略;包括以下步骤;
步骤S1、在层分配阶段,根据拥塞情况评估各线网的优先级,得到不同的层分配顺序,按照优先级次序进行布线;在线长得到较优解时同时得到总线偏差较小的布线结果;
步骤S2、对于初始层分配阶段产生的布线结果,将初始布线结果的总线偏差要素引入布线优先级调整顺序的评估,调整各线网的层分配次序,优化布线结果的时序匹配;
步骤S3、计算总线偏差,对于存在总线偏差的线网,在给定轨道资源数的条件下,增加线长较短总线的线长,减少或保持线长较长总线的线长,找到各线网满足时序匹配的路径,优化总线偏差。
所述层分配方法用于2.5D全局布线,2.5D全局布线包括2D阶段与3D阶段,其根据总体布线的2D布线方案,在层分配阶段分配布线资源,在各个线网找到无溢出的路径,通过通孔边连接位于各线网不同金属层的相邻布线单元,得到3D布线方案。
所述方法中,计算线长的方法为:
设给定G
在满足约束规则且不更改2D布线结果的条件下,将总线2D布线结果的各布线边分配到3D结构内合适的布线层,完成层分配工作,得到3D布线结果,该3D布线结果同时具有较短的总线长和优化后的总线偏差;总线长的公式如下述公式一所示;
其中,l是金属层数;V
所述2.5D全局布线中,包括以下流程;
流程A1、根据2D布线结果通过综合拥塞程度、引脚数与线长等指标确定了线网层分配的优先级顺序,根据所得优先级顺序通过基于最小化通孔数的层分配算法,得到初次层分配布线结果,并计算总线偏差;
流程A2、在层调换阶段,即层分配阶段分配布线资源的阶段,首先判断是否存在偏差,若不存在总线偏差,直接得到3D布线结果。若存在总线偏差,除不存在总线偏差的线网外,其余线网全部拆解;
流程A3、通过综合总线偏差、引脚数与线长指标的优先级策略确定了线网层分配的优先级顺序,依旧所得优先级顺序通过基于最小化通孔数的层分配算法,得到层分配结果后判断是否依旧存在总线偏差,若存在,通过对较短线网增加一定线长,重新分配布线层,更新布线状态后,对存在总线偏差的较长线网判断有无更好的路径选择,最终得到3D布线结果。
所述在初始层分配阶段以拥塞值为主的优先级分配策略,具体为:采用对线网顺序处理的策略,即依照分配顺序为各个线网分配合适的金属层,在完成每次布线资源的分配后,需更新布线资源现有余量,以避免实际布线溢出;具体为使优先级越高的线网获得更佳的布线资源以优化布线结果,优先级越低的线网,减少供其选择的布线资源,即通过设置优先级函数来优化布线资源分配顺序;具体为:对于线网Ni,计算其层分配的优先级时,需在减小总线偏差的同时保证总线长较小,即使线网的次序越前以使线网Ni越早分配布线资源得到布线结果,优先级设置规则为,优先级越大,次序越前。
初始阶段的优先级P1(Ni)的计算方式如下所示:
其中pin_number(N
当以拥塞之和congestion(N
congestion(N
所述基于总线偏差的优先级调整策略,具体为:
对于初始层分配阶段产生的布线结果,层调换阶段将判断该结果是否存在总线偏差,若存在总线偏差,则进入层调换阶段,除不存在总线偏差的线网外,将其余线网全部拆解;
为更好地调整层分配顺序,引入总线偏差这一要素;对于总线线网集合B={B
其中,WPG
层调换阶段的调整优先级的计算方式如下所示:
其中,pin_number(N
评估综合拥塞值之和congestion(N
所述基于总线偏差的层调换策略,用于解决绕障导致其各引脚组内驱动引脚组到接收引脚组的距离差距扩大,导致总线内信号位无法在同一时间内送达传输的数据,从而导致时序混乱的问题,其具体方法为:对于存在总线偏差且线长较短的线网,增加预设范围额度的轨道资源数,搜索是否能够得到减小总线偏差的路径,而后,对于存在总线偏差且线长较长的线网,检查是否存在新路径能够在在优化总线的同时保持或减少线长,通过多次迭代,来得到最终布线结果。
本发明涉及集成电路计算机辅助设计技术领域中超大规模集成电路中总体布线方法的构建,针对目前多布线层的布线设计,在层分配阶段对总线偏差进行判断与优化,能够更好地满足芯片对时序特性的需求,提高芯片性能。
本发明能用于超大规模集成电路总体布线设计,使总线的线长偏差有效地减少,从而得到一个高质量的总体布线结果。
附图说明
下面结合附图和具体实施方式对本发明进一步详细的说明:
附图1是本发明的2.5D全局布线的层分配过程模式的示意图;
附图2是本发明所述方法的流程示意图;
附图3是本发明所述方法中,层调换策略的流程示意图。
具体实施方式
如图所示,基于多策略的考虑总线偏差的层分配方法,用于在布线设计中减少总线的线长偏差,所述方法包括在初始层分配阶段以拥塞值为主的优先级分配策略、基于总线偏差的优先级调整策略、基于总线偏差的层调换策略;包括以下步骤;
步骤S1、在层分配阶段,根据拥塞情况评估各线网的优先级,得到不同的层分配顺序,按照优先级次序进行布线;在线长得到较优解时同时得到总线偏差较小的布线结果;
步骤S2、对于初始层分配阶段产生的布线结果,将初始布线结果的总线偏差要素引入布线优先级调整顺序的评估,调整各线网的层分配次序,优化布线结果的时序匹配;
步骤S3、计算总线偏差,对于存在总线偏差的线网,在给定轨道资源数的条件下,增加线长较短总线的线长,减少或保持线长较长总线的线长,找到各线网满足时序匹配的路径,优化总线偏差。
所述层分配方法用于2.5D全局布线,2.5D全局布线包括2D阶段与3D阶段,其根据总体布线的2D布线方案,在层分配阶段分配布线资源,在各个线网找到无溢出的路径,通过通孔边连接位于各线网不同金属层的相邻布线单元,得到3D布线方案。
2.5D全局布线较3D全局布线而言细化了布线阶段,是目前总体布线的主流布线方法。图1模拟了2.5D全局布线的层分配过程。图1中的(a)为给定的具有三个引脚的线网N的2D全局布线方案,使用层分配算法后,在不超出轨道资源数的约束规则下,线网N每条导线被分配到恰当的布线层,如图1中的(b)所示。不同布线层的导线通过通孔保证线网的连通。
所述方法中,计算线长的方法为:
设给定G
在满足约束规则且不更改2D布线结果的条件下,将总线2D布线结果的各布线边分配到3D结构内合适的布线层,完成层分配工作,得到3D布线结果,该3D布线结果同时具有较短的总线长和优化后的总线偏差;总线长的公式如下述公式一所示;
其中,l是金属层数;V
如图2所示,所述2.5D全局布线中,包括以下流程;
流程A1、根据2D布线结果通过综合拥塞程度、引脚数与线长等指标确定了线网层分配的优先级顺序,根据所得优先级顺序通过基于最小化通孔数的层分配算法,得到初次层分配布线结果,并计算总线偏差;
流程A2、在层调换阶段,即层分配阶段分配布线资源的阶段,首先判断是否存在偏差,若不存在总线偏差,直接得到3D布线结果。若存在总线偏差,除不存在总线偏差的线网外,其余线网全部拆解;
流程A3、通过综合总线偏差、引脚数与线长指标的优先级策略确定了线网层分配的优先级顺序,依旧所得优先级顺序通过基于最小化通孔数的层分配算法,得到层分配结果后判断是否依旧存在总线偏差,若存在,通过对较短线网增加一定线长,重新分配布线层,更新布线状态后,对存在总线偏差的较长线网判断有无更好的路径选择,最终得到3D布线结果。
所述在初始层分配阶段以拥塞值为主的优先级分配策略,具体为:采用对线网顺序处理的策略,即依照分配顺序为各个线网分配合适的金属层,在完成每次布线资源的分配后,需更新布线资源现有余量,以避免实际布线溢出;具体为使优先级越高的线网获得更佳的布线资源以优化布线结果,优先级越低的线网,减少供其选择的布线资源,即通过设置优先级函数来优化布线资源分配顺序;具体为:对于线网Ni,计算其层分配的优先级时,需在减小总线偏差的同时保证总线长较小,即使线网的次序越前以使线网Ni越早分配布线资源得到布线结果,优先级设置规则为,优先级越大,次序越前。
初始阶段的优先级P1(Ni)的计算方式如下所示:
其中pin_number(N
当以拥塞之和congestion(N
congestion(N
所述基于总线偏差的优先级调整策略,具体为:
对于初始层分配阶段产生的布线结果,层调换阶段将判断该结果是否存在总线偏差,若存在总线偏差,则进入层调换阶段,除不存在总线偏差的线网外,将其余线网全部拆解;
为更好地调整层分配顺序,引入总线偏差这一要素;对于总线线网集合B={B
其中,WPG
层调换阶段的调整优先级的计算方式如下所示:
其中,pin_number(N
评估综合拥塞值之和congestion(N
如图3所示,所述基于总线偏差的层调换策略,用于解决绕障导致其各引脚组内驱动引脚组到接收引脚组的距离差距扩大,导致总线内信号位无法在同一时间内送达传输的数据,从而导致时序混乱的问题,其具体方法为:对于存在总线偏差且线长较短的线网,增加预设范围额度的轨道资源数,搜索是否能够得到减小总线偏差的路径,而后,对于存在总线偏差且线长较长的线网,检查是否存在新路径能够在在优化总线的同时保持或减少线长,通过多次迭代,来得到最终布线结果。
- 一种基于负荷率调整方向的发电计划偏差电量分配方法
- 考虑总线和非总线线网的层分配方法
- 考虑总线和非总线线网的层分配方法