一种动态改变布局方法、电子设备及计算机可读存储介质转让专利

申请号 : CN202011432870.8

文献号 : CN112214964B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈刚李琳

申请人 : 南京集成电路设计服务产业创新中心有限公司

摘要 :

一种动态改变布局方法,包括以下步骤:创建标准单元引脚接入及其对应的矩形;对标准单元进行排序,找出每个标准单元的引脚接入矩形,进行设计规则检查,得到违反设计规则的状态;根据实施违反设计规则的状态构建有向加权图,对标准单元做翻转处理并完成对标准单元的引脚布线。本发明的动态改变布局方法、电子设备及计算机可读存储介质,能够对有问题的标准单元布局做前期修复,使得标准单元引脚能够顺利被布线连接,加快设计流程。

权利要求 :

1.一种动态改变布局方法,其特征在于,包括以下步骤:

创建标准单元引脚接入及其对应的矩形;

对标准单元进行排序,找出每个标准单元的引脚接入矩形,进行设计规则检查,得到违反设计规则的状态;

根据实施违反设计规则的状态构建有向加权图,对标准单元做翻转处理并完成对标准单元的引脚布线;

所述根据实施违反设计规则的状态构建有向加权图,对标准单元做翻转处理并完成对标准单元的引脚布线的步骤,还包括,根据引脚接入和引脚自身违反设计规则的状态对同一条边的权重累加,完成有向加权图的构建,根据最短路径算法找到加权图中的最短路径。

2.根据权利要求1所述的动态改变布局方法,其特征在于,所述创建标准单元引脚接入及其对应的矩形的步骤,还包括,定义引脚在金属层上,每个标准单元上的矩形为引脚接入点;

在标准单元引脚所在的层、上一层金属层分别创建一个矩形;

在标准单元引脚所在的层和上一层金属层之间的通孔层上、上述两个矩形的交集处,创建一个矩形。

3.根据权利要求1所述的动态改变布局方法,其特征在于,所述对标准单元进行排序,找出每个标准单元的引脚接入矩形,进行设计规则检查,得到违反设计规则的状态的步骤,还包括,设计规则检查包括,找到左边标准单元最右边的引脚以及右边标准单元最左边的引脚,分别检查左边引脚每个矩形和右边标准单元内所有引脚以及障碍在对应的金属层或通孔层是否违反设计规则,若没有,分别检查右边标准单元内最左边引脚的每个矩形与左边标准单元内所有引脚以及障碍之间是否违反设计规则。

4.根据权利要求3所述的动态改变布局方法,其特征在于,还包括,若违反了设计规则,则保持左边标准单元方向,翻转右边标准单元方向,进行设计规则检查,判断是否违反设计规则。

5.根据权利要求4所述的动态改变布局方法,其特征在于,所述判断是否违反设计规则的步骤,还包括,若违反了设计规则,则翻转左边标准单元方向和右边标准单元的方向,进行设计规则检查,判断是否违反设计规则。

6.根据权利要求5所述的动态改变布局方法,其特征在于,所述判断是否违反设计规则的步骤,还包括,若违反了设计规则,则翻转左边标准单元方向,保持右边标准单元方向,进行设计规则检查,判断是否违反设计规则。

7.根据权利要求1所述的动态改变布局方法,其特征在于,还包括,若引脚接入点的矩形违反设计规则,分配预定权重给对应边;

若引脚自身违反设计规则,分配预定权重给对应边;

若无违反设计规则,分配零权重给对应边。

8.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行权利要求1至7任一项所述的动态改变布局方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序运行时执行权利要求1至7任一项所述的动态改变布局方法的步骤。

说明书 :

一种动态改变布局方法、电子设备及计算机可读存储介质

技术领域

[0001] 本发明涉及超大规模集成电路物理设计技术领域,特别是涉及超大规模集成电路物理设计流程中的布局布线。

背景技术

[0002] 随着超大规模集成电路向深亚微米、纳米推进,集成电路的规模越来越大,系统也更加庞大复杂,这也给电子设计自动化(Electronic Design Automation, EDA)工具带来了许多新的问题,特别是对布局布线环节带来了更多的挑战。布局和布线是集成电路物理设计的两个重要的环节,也是解决现代复杂物理设计实现问题的一个通用的方法。 布局是为了确定标准单元在设计版图中的位置和方向,给出解的约束和优化目标。一些标准单元可能有固定的位置而其它的则是不可变动的。可变动标准单元的布局对随后的布线的质量起决定作用。布局需要在布线之前完成,在布局阶段又无法精确知道在布线阶段的具体布线情况,因此布局会对标准单元的分布密度,引脚(Pin)的分布密度以及引脚之间的曼哈顿路径进行评估优化,以减少对布线的最少影响。但是,在布局中无法考虑详细的设计规则,仍然可能发生放置在同一行的标准单元距离太近,布线器无法对相邻两个标准单元内的引脚(Pin)分别进行信号连接,或者,所给定的标准单元的放置不是优化的最小线长摆放。在布局中添加详细设计规则的检查是不现实的问题。

发明内容

[0003] 为了解决现有技术存在的不足,本发明的目的在于提供一种动态改变布局方法、电子设备及计算机可读存储介质,能够对有问题的标准单元布局做前期修复,使得标准单元引脚能够顺利被布线连接,加快设计流程。
[0004] 为实现上述目的,本发明提供的一种动态改变布局方法,包括以下步骤:
[0005] 创建标准单元引脚接入及其对应的矩形;
[0006] 对标准单元进行排序,找出每个标准单元的引脚接入矩形,进行设计规则检查,得到违反设计规则的状态;
[0007] 根据实施违反设计规则的状态构建有向加权图,对标准单元做翻转处理并完成对标准单元的引脚布线。
[0008] 进一步地,所述创建标准单元引脚接入及其对应的矩形的步骤,还包括,[0009] 定义每个标准单元上的矩形为引脚接入点;
[0010] 在标准单元引脚所在的层、上一层分别创建一个矩形;
[0011] 在标准单元引脚所在的层和上一层之间的通孔层上、上述两个矩形的交集处创建一个矩形。
[0012] 进一步地,所述对标准单元进行排序,找出每个标准单元的引脚接入矩形,进行设计规则检查,得到违反设计规则的状态的步骤,还包括,设计规则检查包括,找到左边标准单元最右边的引脚以及右边标准单元最左边的引脚,分别检查左边引脚每个矩形和右边标准单元内所有引脚以及障碍在对应的金属层或通孔层是否违反设计规则,若没有,分别检查右边标准单元内最左边引脚的每个矩形与左边标准单元内所有引脚以及障碍之间是否违反设计规则。
[0013] 更进一步地,还包括,若违反了设计规则,则保持左边标准单元方向,翻转右边标准单元方向,进行设计规则检查,判断是否违反设计规则。
[0014] 更进一步地,所述判断是否违反设计规则的步骤,还包括,若违反了设计规则,则翻转左边标准单元方向和右边标准单元的方向,进行设计规则检查,判断是否违反设计规则。
[0015] 更进一步地,所述判断是否违反设计规则的步骤,还包括,若违反了设计规则,则翻转左边标准单元方向,保持右边标准单元方向,进行设计规则检查,判断是否违反设计规则。
[0016] 进一步地,所述根据实施违反设计规则的状态构建有向加权图,对标准单元做翻转处理并完成对标准单元的引脚布线的步骤,还包括,根据引脚接入和引脚自身违反设计规则的状态对同一条边的权重累加,完成有向加权图的构建,根据最短路径算法找到加权图中的最短路径。
[0017] 更进一步地,还包括,
[0018] 若引脚接入点的矩形违反设计规则,分配预定权重给对应边;
[0019] 若引脚自身违反设计规则,分配预定权重给对应边;
[0020] 若无违反设计规则,分配零权重给对应边。
[0021] 为实现上述目的,本发明还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的动态改变布局方法的步骤。
[0022] 为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的动态改变布局方法的步骤。
[0023] 本发明的动态改变布局方法、电子设备及计算机可读存储介质,具有以下有益效果:
[0024] 1)在布线前期对标准单元做引脚接入(Pin Access)的检查中发现标准单元布局的问题,避免回到布局阶段重新做增量式布局,加快物理设计流程。
[0025] 2)根据布局的实际情况或按照用户指定标准单元间距,一次性解决因布局紧凑所导致的布线无法完成的问题,同时解决线长优化问题,提高工作效率,加速了芯片设计速度。
[0026] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

[0027] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
[0028] 图1为根据本发明的动态改变布局方法流程图;
[0029] 图2为根据本发明的实施例一标准单元放置方向以及引脚接入示意图;
[0030] 图3为根据本发明的实施例一标准单元行布局示意图;
[0031] 图4为根据本发明的实施例一第一次设计规则检查(原始布局方向)示意图;
[0032] 图5为根据本发明的实施例一第二次设计规则检查(A原始布局,B翻转)示意图;
[0033] 图6为根据本发明的实施例一第三次设计规则检查(A翻转,B翻转)示意图;
[0034] 图7为根据本发明的实施例一第四次检查(A翻转,B原始布局方向)示意图;
[0035] 图8为根据本发明的实施例一构造有向加权示意图。

具体实施方式

[0036] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0037] 图1为根据本发明的动态改变布局方法流程图,下面将参考图1,对本发明的动态改变布局方法进行详细描述。
[0038] 首先,在步骤101,对设计库中的每个标准单元创建引脚接入,建立每个引脚接入的3个矩形。
[0039] 优选地,定义引脚在金属层上,每个标准单元实例中的矩形是引脚接入的点,每个引脚接入点使用3个矩形表示,分别是引脚所在金属层上的竖直矩形,引脚上一层金属层上的水平矩形,以及这两个矩形的交集作为两个金属层之间的通孔层。
[0040] 在步骤102,对布局中标准单元做排序处理,找到每个标准单元的引脚接入矩形,根据矩形进行分别检查每个矩形和标准单元内所有引脚以及障碍在对应的金属层或通孔层是否违反设计规则,记录下每个标准单元违反设计规则的状态。
[0041] 优选地,分别翻转相邻标准单元,使用相同的检查方法,得到违反设计规则的状态。
[0042] 优选地,找到左边标准单元最右边的引脚以及右边标准单元最左边的引脚。在左边的引脚接入有3个矩形,分别检查每个矩形和右边标准单元内所有引脚以及障碍在对应的金属层或通孔层是否违反设计规则。如果没有,继续检查右边标准单元内最左边的引脚接入的3个矩形分别与左边标准单元内的所有引脚以及障碍之间是否违反设计规则。
[0043] 本实施例中,在任意一次检查中如果发现有违反设计规则,则说明这两个相邻标准单元需要做翻转处理来消除违反设计规则的问题。
[0044] 优选地,记录此次相邻标准单元布局下的设计规则检查状态为Viol_A_B[i], i为标准单元实例在此行标准单元里对应的索引。
[0045] 在步骤103,根据设计规则检查状态进行权重累加,构建有向加权图,通过最短路径算法,找出加权图从源到目标的最短路径。
[0046] 优选地,根据最短路径反向追踪每个标准单元的标记状态是否要做翻转。
[0047] 本实施例中,根据违反设计规则的状态构建有向加权图,找到图中的最短路径,然后反向追踪每个图中顶点对应的标准单元的翻转标记来确定是否要对标准单元做翻转处理。解决原始布局问题,并完成对标准单元的引脚布线。
[0048] 下面结合一具体实施例对本发明的动态改变布局方法做进一步的说明。
[0049] 图2为根据本发明的实施例一标准单元放置方向以及引脚接入示意图。
[0050] 首先创建标准单元库中的标准单元引脚接入。对于任一标准单元放置都有8种方向,如图2所示,第一行显示的是按第一种方向(北)做顺时针180度,90度以及270度的角度旋转,第二行是对应第一行关于y轴做中心翻转。
[0051] 图3为根据本发明的实施例一标准单元行布局示意图。
[0052] 在具体设计中,布局器在同一行放置了多个标准单元实例,如图3所示。点填充矩形是标准单元引脚(Pin),定义引脚在金属层M1(Metal)上,每个标注单元实例中的虚线边矩形是引脚接入的点,每个引脚接入点使用3个矩形表示,分别是引脚所在金属层M1上的竖直虚边线矩形,引脚上一层金属层M2(Metal2)上的水平虚线边矩形,以及这两个矩形的交集作为两个金属层之间的通孔层V12(Via1)。图3中墙状填充矩形是障碍。首先对行标准单元按x方向进行排序,然后遍历每个实例,从每个标准单元实例中找到最左边的引脚和最右边的引脚以及分别对应的引脚接入的3个矩形,分别使用3个矩形做设计规则检查,记录下每个标准单元违反设计规则的状态。同样地,对每个标准单元做翻转处理可以得到另外3次的相邻标准单元实例之间的违反设计规则的状态。标记左边标准单元实例为 A,左边标准单元翻转后的实例是AT,右边标准单元实例为B,右边标准单元翻转后的实例是BT,因此,4次相邻标准单元的检查分别是A与B,A与BT,AT与BT 以及 AT与B。
[0053] 图4为根据本发明的实施例一第一次设计规则检查(原始布局方向)示意图。
[0054] 如图4所示,第一次设计规则检查,是原始设计中的相邻标准单元的布局,找到左边标准单元最右边的引脚以及右边标准单元最左边的引脚。在左边的引脚接入有3个矩形,分别检查每个矩形和右边标准单元内所有引脚以及障碍在对应的金属层或通孔层是否违反设计规则。如果没有,继续检查右边标准单元内最左边的引脚接入的3个矩形分别与左边标准单元内的所有引脚以及障碍之间是否违反设计规则。在任意一次检查中如果发现有违反设计规则,则说明这两个相邻标准单元需要做翻转处理来消除违反设计规则的问题。记录此次相邻标准单元布局下的设计规则检查状态为Viol_A_B[i], i为标准单元实例在此行标准单元里对应的索引。
[0055] 图5为根据本发明的实施例一第二次设计规则检查(A原始布局,B翻转)示意图。
[0056] 如图5所示,第二次设计规则检查,保持左边标准单元方向不变,右边标准单元方向翻转,类似于第一次设计规则检查,分别检查左边标准单元最右边引脚的3个引脚接入矩形和右边标准单元内的引脚以及障碍之间的设计规则,以及检查右边标准单元最左边引脚的3个引脚接入矩形与左边标准单元内的引脚以及障碍之间的设计规则。记录此相邻标准单元布局下的设计规则检查状态为Viol_A_BT[i],i为标准单元实例在此行标准单元里对应的索引。
[0057] 图6为根据本发明的实施例一第三次设计规则检查(A翻转,B翻转)示意图。
[0058] 如图6所示,第三次设计规则检查,左边标准单元方向翻转,右边标准单元方向翻转,类似于之前设计规则检查,分别检查左边标准单元最右边引脚的3个引脚接入矩形和右边标准单元内的引脚以及障碍之间的设计规则,以及检查右边标准单元最左边引脚的3个引脚接入矩形与左边标准单元内的引脚以及障碍之间的设计规则。记录此相邻标准单元布局下的设计规则检查状态为Viol_AT_BT[i],i为标准单元实例在此行标准单元里对应的索引。
[0059] 图7为根据本发明的实施例一第四次设计规则检查(A翻转,B原始布局方向)示意图。
[0060] 如图7所示,第四次设计规则检查,左边标准单元方向翻转,保持右边标准单元原始方向不变,类似于之前设计规则检查,分别检查左边标准单元最右边引脚的3个引脚接入矩形和右边标准单元内的引脚以及障碍之间的设计规则,以及检查右边标准单元最左边引脚的3个引脚接入矩形与左边标准单元内的引脚以及障碍之间的设计规则。记录此相邻标准单元布局下的设计规则检查状态为Viol_AT_B[i],i为标准单元实例在此行标准单元里对应的索引。
[0061] 图8为根据本发明的实施例一构造有向加权示意图。
[0062] 如图8所示,构建有向加权图,根据4次设计规则检查下的状态,对图中的边进行权重累加,以完成有向加权图的构建。通过最短路径算法,找出图的从源到目标的最短路径。
[0063] 本实施例中,有向加权图边的加权方法包括,若引脚接入点的矩形违反设计规则,对应的边分配较大权重,若引脚自身违反设计规则,对应的边拥有较小权重,若无违反设计规则,对应边的权重分配最小权重或零权重。
[0064] 本实施例中,所有引脚接入点的矩形违反设计规则的,对应的边都使用同样的权重值,权重值就是一个数字,反映在当前标准单元布局方向下,有向图中对应边的权重值,比如20。值的选择是任意的,只要是引脚接入点矩形违反此类设计规则的,都固定使用这个权重值即可,而且要比若引脚自身违反设计规则分配的较小权重值大。较小权重值只要比若引脚接入点的矩形违反设计规则选定的较大权重值小就可以,比如10。这样有向图中的每条边就有了一个启发式的加权值,对有向加权图应用最短路径搜索算法得到最短路径。
[0065] 本实施例中,最短路径找到后,路径上每个顶点可以知道标准单元是否翻转的标记,根据标记对比单元布局中的标准单元状态判断是否需要进行翻转。
[0066] 本发明提供了一种在布线前对布局中行标准单元引脚做检查的方法,在布线前或布线过程中整体考虑布局结果,扫描整个布局,检查出因标准单元太近而导致的布线器无法连接引脚或更改布局达到最小线长,事实上这正是布线过程中寻找标准单元引脚接入(Pin Access)的一个部分,在这部分基础上,如果检查到违反设计设计规则后,对标准单元做翻转处理,这样就能解决因布局问题所导致的标准单元引脚无法布线的问题,避免回到布局阶段添加复杂约束重新布局,加快设计流程。本根据布局的实际情况或按照用户指定标准单元间距,一次性解决因布局紧凑所导致的布线无法完成的问题,同时解决线长优化问题,提高工作效率,加速了芯片设计速度。
[0067] 本发明的一个实施例中,还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的动态改变布局方法的步骤。
[0068] 本发明的一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的动态改变布局方法的步骤。
[0069] 本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。