一种加速标准单元增量布局合理化的方法与流程

文档序号:11155885阅读:472来源:国知局
一种加速标准单元增量布局合理化的方法与制造工艺

本发明涉及于EDA设计技术领域,特别是涉及一种寻找单元合理化位置的方法。



背景技术:

超大规模集成电路的后端物理设计越来越依赖于EDA(电子设计自动化)工具的辅助。电路的设计优化需要改变电路中单元的类型、大小,插入新单元,或者移动已有单元的位置。为了保证不违反设计规则,改变后的单元必须经过布局合法化,摆放在芯片中单元行的合法位置。如何快速找到增量布局中的单元合法位置,关系到设计优化的速度和质量。

通常来讲,芯片物理版图中包含若干单元行,即标准单元物理的摆放位置,电路中的单元必须摆在单元行上,且满足一定朝向等约束要求,视为合法化。如果版图当中存在布局障碍或者某些不能移动的固定单元,则电路中的单元摆放位置需要避开相应区域,不能与之重叠。对于设计优化中需求调整位置的每一个单元,都需要在其附近区域寻找合理位置,对于复杂系统来说是个非常耗时的操作,如果处理不当,还会造成设计规则违反。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种加速标准单元增量布局合理化的方法,通过分支定界的方法,寻找标准单元的合法位置。

设置阈值参数,过滤掉解空间中的次优解方案。这种方法应用在增量布局,可以加速寻找标准单元的合法位置,提高设计优化的效率。

为实现上述目的,本发明提供的加速标准单元增量布局合理化的方法,包括以下步骤:

1)确定需要进行增量布局的电路单元,寻找匹配的单元行;

2)在目标位置附近搜索匹配的单元行,利用分支定界的方法加速寻找距离目标位置最近的合法位置的过程。

进一步地,在所述步骤1)之前,还包括以下步骤:

读入芯片版图物理信息,定位单元行在芯片中摆放的位置和大小;

读入电路所包含各个单元的物理位置信息,确定单元行中可用的合法位置。

进一步地,步骤2)进一步包括:确定分支以及各分支最优解。

进一步地,进一步包括以下步骤:

21)将所有单元行的方向设置为水平方向;

22)确定新加入的单元的目标位置,以该目标位置为中心确定新加入单元的可放置的范围。

进一步地,所述可放置的范围由电路的时序、布线拥挤度约束确定。

进一步地,所有与新加入单元的可放置的范围有重叠的单元行,其重叠部分被所述目标位置的X坐标值分为左、右两个部分,每个部分形成搜索过程中的一个分支;位于所述目标位置X坐标值左边的分支,其搜索方向为从右到左;位于所述目标位置点X坐标值右边的分支,其搜索方向为从左到右;在该搜索模式下,所有正在搜索过程中的分支,分支的当前搜索位置距离目标位置的距离就是该分支中所有未搜索到部分的最优解的下界;而对于那些还没有被搜索到的分支,它们的所有可行解的下界为分支所在单元行距离目标位置的Y轴坐标值的差距。

更进一步地,在某一可行解位置对新加入单元进行行内布局时,可行解距离目标位置的距离小于所有未搜索到的区域的可行解的下界;

如果行内布局失败,在该可行解所在分支沿着该分支搜索的方向向下继续寻找下一个可行解;

找到可行解,则根据下一个可行解修改该分支的下界并重新将该分支加入到活动分支集合当中;如果没找到可行解,丢弃该分支。

本发明的加速标准单元增量布局合理化的方法,采用分支定界的方法,设置阈值参数,过滤掉解空间中的次优解方案,在增量布局中,缩短了寻找标准单元的合法位置的时间,提高设计优化的效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的加速标准单元增量布局合理化的方法流程图;

图2为根据本发明的芯片版图中的物理布局约束限制示意图;

图3为根据本发明的活动分支及分支下界示意图;

图4为根据本发明的分支定界策略伪代码流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的加速标准单元增量布局合理化的方法流程图,下面将参考图1,对本发明的加速标准单元增量布局合理化的方法进行详细描述。

首先,在步骤101,读入芯片版图物理信息,定位单元行在芯片中摆放的位置和尺寸;读入电路所包含各个单元的物理位置信息,确定单元行中可用的合法位置;在芯片版图中选择需要进行增量布局的某一电路单元,寻找匹配的单元行。

芯片的版图位于电路设计文件中,包括,记录电路连接关系的网表文件,设计规则文件,记录芯片版图物理信息的文件等。首先读入芯片版图物理信息,定位单元行在芯片中摆放的位置和大小;读入电路所包含各个单元的物理位置信息,确定单元行中可用的合法位置。

在步骤102,在芯片版图中进行物理布局约束限制。芯片版图中的单元行包含了单元的备选合法位置,如果单元行上摆放了某些布局障碍,或者某些固定单元,则需要把单元行切分为单元子行(Subrow),设计优化操作带来的单元位置调整需要在各个单元子行(Subrow)上进行。

图2为根据本发明的芯片版图中的物理布局约束限制示意图,如图2所示,单元行的空白区域是单元的备选合法位置,单元行上摆放了布局障碍和固定单元,则需要把单元行切分为单元子行,单元位置的调整需要在各个单元子行上进行。例如,时序优化过程中对单元尺寸的改变或者新插入缓冲器单元都需要进行物理布局的调整,使得新加入单元和原始单元在单元行上摆放位置都合法化。

在步骤103,采用分支定界策略,动态更新距离阈值,对电路单元进行增量布局。分支定界方法是一种在问题的解空间树上搜索问题的解的方法,采用广度优先或最小耗费优先的方法搜索解空间树。本发明利用分支定界加速集成电路标准单元增量布局合理化的方法,在定位单元合法位置过程中,设置阈值参数,过掉解空间中的次优解方案,从而加速寻找单元最佳摆放位置的过程。

图3为根据本发明的活动分支及分支下界示意图,如图3所示,显示出了在应用分支定界策略加速单元布局合法化过程中,分支以及各分支最优解下界的确定。图中所有单元行的方向为水平方向,以“T”标识的点为新加入的单元的目标位置,以“T”点为中心虚线标识出来的矩形区域为该新加入单元的可放置的范围,该范围通常由电路的时序、布线拥挤度约束等来确定。对该单元的布局合法化最终目标是在可放置范围内寻找距离目标位置最近的可行位置并完成布局。

所有与该单元可放置范围有重叠的单元行,其重叠部分被“T”点的X坐标值分为左、右两个部分,每个部分形成搜索过程中的一个分支。位于“T”点X坐标值左边的分支,其搜索方向为从右到左;位于“T”点X坐标值右边的分支,其搜索方向为从左到右。在这种搜索模式下,所有正在搜索过程中的分支,分支的当前搜索位置距离“T”点的距离就是该分支中所有未搜索到部分的最优解的下界;而对于那些还没有被搜索到的分支,它们的所有可行解的下界为分支所在单元行距离“T”点的Y轴坐标值的差距。

图4为根据本发明的分支定界策略伪代码流程图,图中活动分支集指的是所有正在搜索过程中的分支集合,该集合需要提供快速取出拥有最小下界可行解的分支的操作。

当算法决定在某一可行解位置对加入电路单元进行行内布局时,必须确保该可行解距离“T”点的距离小于所有未搜索到的区域的可行解的下界。这样的化,一旦在该点行内布局成功就可以成功返回;而如果行内布局失败的化,会在该可行解所在分支沿着该分支搜索的方向向下继续寻找下一个可行解。如果找到,则根据下一个可行解修改该分支的下界并重新将该分支加入到活动分支集合当中;如果没找到,则说明该分支不存在最终可以布局成功的可行解位置,该分支将被丢弃。如果最终所有的分支都被丢弃,则说明搜索范围内不存在可以布局成功的点,算法返回合法化失败,外部调用程序撤回在该点对该电路单元的尝试。

本发明的加速标准单元增量布局合理化的方法,首先读入芯片版图物理信息,定位单元行在芯片中摆放的位置和大小;读入电路所包含各个单元的物理位置信息,确定单元行中可用的合法位置;对于需要进行增量布局的某一电路单元,寻找匹配的单元行;在目标位置附近,上下扫描匹配的单元行,利用分支定界的方法加速合法位置的寻找过程。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1