一种保持原有物理布线拓扑的大线网分裂方法与流程

文档序号:13557642阅读:656来源:国知局
一种保持原有物理布线拓扑的大线网分裂方法与流程

本发明涉及eda设计技术领域,特别是涉及在eco优化阶段修正违反设计规则的大线网的过程。



背景技术:

为了保证集成电路可以正常工作,需要通过设计规则检查,以确保设计性能满足各种规则的要求。集成电路设计中,若出现“大线网”,则出现不满足设计规则中的时延约束的概率会显著增大。当某一个线网出现连线长度过长或者驱动负载数目过多的情况时,就会干扰信号传递,影响电路的正常工作。

线网分裂,即通过插入缓冲器单元来驱动分段线网,是一种常见的有效处理大线网的方法。通常情况下,在插入缓冲器单元后,会重新进行驱动单元到缓冲器单元、缓冲器单元到负载单元的物理连线。但是,在28nm及以下的先进工艺条件下,物理布线对时延计算的影响越来越大。并且同样的线网连接关系,在不同的物理走线方式下,时序延迟会相差很多,这就造成了传统优化方案的时延预估值和物理实现后得到结果的时延真实值相差很大。甚至在极端情况下,预计可以成功处理的时延问题,在重新布线后仍然违反了时延约束。因此,如何选择合适的位置进行大线网的分裂,并准确计算时延,成为了关键问题。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种保持原有物理布线拓扑的大线网分裂方法,针对长度超长或者负载数目过多的违反设计规则的大线网情况,在进行时序修正的过程中尽可能复用原有的物理布线连接关系及走线形状,从而避免优化方案在物理实施阶段出现不必要的绕线,确保时序计算的预估方案与最终物理实现得到的结果具有良好的一致性。

为实现上述目的,本发明提供的保持原有物理布线拓扑的大线网分裂方法,包括以下步骤:

(1)将大线网转换为树型拓扑结构,并找到策略点位置;(2)找出策略点位置的增量布局合法化点位置;(3)找到原有物理布线的最佳切割点位置;(4)在增量布局合法化点位置插入缓冲器单元,并与最佳切割点位置进行物理连接。

进一步地,所述步骤(1)是,利用分段线性化的方法,将大线网转换为树型拓扑结构,并根据设计规则,找到策略点位置。

进一步地,所述利用分段线性化的方法,将大线网转换为树型拓扑结构进一步包括以下步骤:

(31)将物理走线上的分叉点作为虚拟树节点,驱动单元、虚拟树节点以及负载单元将线网划分成为若干个线段;(32)在若干个线段上,根据设计规则的约束,取点作为可能的策略点,驱动单元、虚拟树节点、负载单元以及可能的策略点构成了一个树型拓扑结构。

进一步地,步骤(1)中所述找到策略点位置是,自底向上搜索树型拓扑结构,若出现不满足设计规则的情况,则将搜索到的树节点标记为策略点,获得策略点位置。

所述步骤(2)进一步包括以下步骤:

根据版图的物理信息,在增量布局合法化范围的单元行内,找到距离策略点位置最近的可以容纳缓冲器单元大小的单元位置,作为插入缓冲器单元的增量布局合法化点位置。

进一步地,所述步骤(3)是,利用投影法,从增量布局合法化点位置出发,沿着x方向或y方向往原有物理布线上进行投影,得到与原有物理布线的交点,找到原有物理布线的最佳切割点位置。

本发明的保持原有物理布线拓扑的大线网分裂方法,通过在增量布局合法化点位置插入缓冲器单元,将大线网分裂为满足要求的若干子线网,并且在最佳切割点连接新插入的缓冲器单元,充分复用线网原有连线拓扑及物理走线,能够在最大程度上减小绕线长度,进而保证优化方案的时延预估与物理实现的一致性。

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

附图说明

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

图1为根据本发明的保持原有物理布线拓扑的大线网分裂方法流程图;

图2为根据本发明构建树型拓扑结构及查找策略点位置的状态示意图;

图3为根据本发明的寻找增量布局合法化点位置的状态示意图;

图4为根据本发明的查找最佳切割点位置的状态示意图。

具体实施方式

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

图1为根据本发明的保持原有物理布线拓扑的大线网分裂方法流程图,下面将参考图1,对本发明的保持原有物理布线拓扑的大线网分裂方法进行详细描述。

在步骤101,利用“分段线性化”的方法,将大线网转换为树型拓扑结构,并根据设计规则,找到策略点位置。

该步骤中,首先,读入大线网的连接关系及物理走线信息;

其次,利用“分段线性化”的方法,从线网的驱动单元(driver)出发,沿着物理走线方向,将遇到的分叉点均创建为虚拟树节点,直至到达各个负载单元(load),驱动单元、虚拟树节点以及负载单元将线网划分成为若干个线段;

然后,在这些若干个线段上,根据设计规则的约束,每隔一定长度取点作为可能的策略点位置,驱动单元、虚拟树节点、负载单元以及可能的策略点构成了一个树型拓扑结构;

最后,从树型拓扑结构的叶子节点出发,自底向上搜索树型拓扑结构,若出现不满足设计规则的情况,则将搜索到的树节点标记为策略点,直至搜索完整个树型拓扑结构,找到全部的策略点位置。

虽然从理论上讲,在大线网的任意位置都可以插入缓冲器单元进行分裂。但是利用“分段线性化”的方法,把大线网转化为树型拓扑结构,能够把解决方案的解空间缩小到若干少数个离散点的检查,从而大大的简化了问题,加快了优化速度。

在步骤102,根据增量布局合法化范围,找出策略点位置的增量布局合法化点位置。

该步骤中,考虑版图的物理信息,以策略点位置为中心,选定增量布局合法化范围,在增量布局合法化范围的单元行内,找到距离策略点位置最近的可以容纳缓冲器单元大小的单元位置,作为插入缓冲器单元的增量布局合法化点位置。

该步骤中,选定增量布局合法化范围,是为了在策略点位置附近找到不与现有单元位置发生冲突的增量布局合法化点位置。

在步骤103,从增量布局合法化点位置出发,找到原有物理布线的最佳切割点位置。

该步骤中,可以利用“投影法”,从增量布局合法化点位置出发,沿着x方向或y方向往原有物理布线上进行投影,得到与原有物理布线的交点,从而确定出最佳切割点位置。

前面确定的增量布局合法化点位置,可能会造成物理连线的绕线,不一定是最佳方案。尤其是当增量布局合法化点位置位于物理布线拥挤区域时,往往会带来时延估算的较大偏差。因此,为了减少对原有物理布线的影响,尽可能的复用原有物理布线,需要找到线网布线的最佳切割点位置,以便用于连接新插入的缓冲器单元。

在步骤104,在增量布局合法化点位置插入缓冲器单元,并与最佳切割点位置进行物理连接。

该步骤中,物理工具根据记录的原有物理布线信息,在最佳切割点位置将连接新插入的缓冲器单元与原有物理布线,完成大线网分裂,可以有效避免不必要的绕线,保证优化方案和最终物理实施的一致性。

下面结合具体的实施例,进一步阐述本发明的保持原有物理布线拓扑的大线网分裂方法的技术方案。

图2为根据本发明构建树型拓扑结构及查找策略点位置的状态示意图。图2中所示的driver单元驱动着三个负载单元:load_x、load_y和load_z,并且由于连线长度过长造成了设计规则的违反。因此,可以采用本发明的保持原有物理布线拓扑的大线网分裂方法进行大线网分裂。

第一步:

首先,利用“分段线性化”的方法,找到线网连接的分叉点(节点2和节点4)作为虚拟树节点,并通过检查设计规则,找到可能的策略点(节点1和节点3),从而构成了图2中所示的树型拓扑结构。

然后,从树型拓扑结构底部的三个负载单元出发,自底向上遍历树型拓扑结构,发现在节点3的位置出现设计规则的违反,因此确定节点3作为策略点位置。

第二步:

图3为根据本发明的寻找增量布局合法化点位置的状态示意图。如图3所示,在节点3的附近检查物理版图,在附近的单元行中找到可以容纳缓冲器单元大小的空间(如图3中左上角位置的单元格)作为增量布局合法化点位置。将缓冲器单元插入到增量布局合法化点位置,可以避免和现有单元位置发生冲突。

第三步:

图4为根据本发明的查找最佳切割点位置的状态示意图。如图4所示,从增量布局合法化点位置出发,沿着y方向投影到原有物理布线上,找到不同于原始切割点位置的最佳切割点位置,并记录相关的物理布线信息。

第四步:

在增量布局合法化点位置插入缓冲器单元,将原来违反设计规则的大线网分裂为两段子线网,满足了设计规则的要求,而根据记录的相关的物理布线信息,采用物理工具,将原有物理布线从最佳切割点与新加入的缓冲器单元相连接,使原有的大部分物理线网走线都得到了复用。

本发明的保持原有物理布线拓扑的大线网分裂方法,通过在增量布局合法化点位置插入缓冲器单元,将大线网分裂为满足要求的若干子线网,并且在最佳切割点连接新插入的缓冲器单元,充分复用线网原有连线拓扑及物理走线,能够在最大程度上减小绕线长度,进而保证优化方案的时延预估与物理实现的一致性。

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

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