当前位置: 首页 > 专利查询>清华大学专利>正文

基于关键网络技术优化时延的标准单元总体布线方法技术

技术编号:2881347 阅读:238 留言:0更新日期:2012-04-11 18:40
基于关键网络技术优化时延的标准单元总体布线方法,含有优化布线拥挤的步骤,其特征在于:在生成总体布线图,不受容量、时延等任何约束的条件下构造长度最短的初始布线树,再优化布线拥挤等公知技术基础上,提出了关键引脚、关键边的概念,据此构造出由关键引脚的和关键边的集合,各条有向边的权值、虚拟的源点和汇点构成的关键网络,用最大流与最小割的关系,从最小割的一组边中,重构其所对应线网的布线树,从而缩短关键网络中从虚拟的源点到汇点的总时延。最后用给定的时延约束数据组与优化的时延相比,通过迭代得出一组满足优化目标的全部线网的布线树。它及时准确反映当前对总时延影响最大的子网络,避免时延优化的盲目性,提高优化效率。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

一种属于集成电路计算机辅助设计领域,尤其涉及标准单元总体布线领域。较早期的一些方法或者只是简单地将最小化线网互连线延迟的概念转化为最短线网长度的布线;或者只是采用优先级分配的方法通过静态时延分析产生出关键线网,再给这些关键线网分配较高的优先级,尽量使它们的长度最小。事实上,只有在两端点线网的情况下,或连线电阻与输出驱动电阻相比可以忽略不计的情况下,最短线网连接才能保证最短的互连线延迟。但对于多端点线网,在DSM、VDSM工艺下,连线电阻与输出驱动电阻相比不能忽略不计,线网的漏点延迟不仅与线网总连线总长度有关,而且与线网布线树的结构有关,因此,上述方法就不适用了。以后发现电路的最长关键路径时延决定着芯片的电性能。于是,在标准单元设计上出现了以下两类方法(1)基于线网的时延优化总体布线。它是把关键路径上的互连线延迟约束分配到各个相关线网中,作为对线网的延迟约束。它的控制策略简单,易于实现。(2)基于关键路径的时延优化总体布线。它并不单一考虑每条线网的延迟约束,而是把线网的延迟约束检查放到与其相关的关键路径的延迟约束检查中,只要关键路径上总的延迟约束满足,线网的新布线结果就可行。它可力求避免不合理的时延分配,放宽线网的布线约束,提高布线质量。方法(1)在时延约束分配上有一定盲目性,往往时延分配结果与实际布线需求不符,使拥挤线网无法改善。方法(2)要用贪婪试探的方法去确定需改进时延的线网存在盲目性,无法实现主动控制。同时,关键路径的总数一般很多,重布每个线网后都要判断所有的关键路径,大大降低了求解速度。它们的共同缺点是对中间布线结果的约束较为苛刻,从而对总体布线的其他优化目标如布线拥挤会有较大影响;它们的关键路径是静态的,不能反映求解过程中电路新产生的超时情况。已进行过“新颖性检索”,检索报告见附件1。本专利技术的特征在于它依次包含如下步骤(1)初始化设置GRC(总体布线单元)的行数Nnr,列数Nnc,GRG(总体布线图)中所有顶点即GRC中心点的坐标vnr,nc(x,y),其中,nr,nc分别代表行和列,x,y是芯片平面的坐标;GRG中每条边ek的容量Ck,电路中线网的总数Nsum,每条线网的网表NetlistIndex,每条线网的源点s,漏点t,电路的所有电学性能参数,用户给定的时延约束指标参数;(2)生成GRG读入在多层布线芯片上划分GRC所必需的Nnr,Nnc,读入在多层布线芯片上生成GRG所必需的各顶点的坐标值,给顶点以及连接每两个相邻顶点的边ek编号;(3)读入电路详细连接关系即网表读入电路中线网的总数目Nsum,读入每条线网网表,按读入顺序,为每条线网编号;(4)读入电路的所有电学性能参数与约束指标,赋到相应的变量和数组中;(5)构造初始布线树即Steiner树,即在每条线网不受任何约束条件下构造长度最短的Steiner树;(6)统计总的可用布线资源,标记拥挤区域根据步骤(5)执行后得到的初始解,统计每条GRG边的被使用量dk,比较Ck与dk,若Ck<dk,表示出现布线拥挤,得出拥挤区域,对布线拥挤的GRG边进行标记,有标记的线网即为拥挤线网; (7)优化布线拥挤,消除拥挤边;(8)用Update_Timing_Para.cpp程序统计电路时延信息,分析关键pin,关键边根据步骤(7)执行后的布线结果,用公知的“Sakurai时延计算公式”计算并统计每条电信号传输路径从输入PI到输出PO的时延值;对于一个树型的多端点线网,各节点的时延可根据上一级节点的时延来确定,根据步骤(4)读入数组之中的用户时延约束指标,与上述计算出的每条电路的时延值进行比较,得出此时的关键pin,关键边,其判别准则如下a.若tQ(i)>tL(i),则pin i为关键pin其中tQ(i)为信号从虚拟源点vs到达pin i的最短时延;tL(i)为信号从虚拟源点vs到达pin i的约束时延,它可表述如下 delay(i,k)信号从pin i到pin k的约束时延,单位为ns,tL(k)信号从虚拟源点vs到pin k的约束时延;b.若(i,k)∈E,且tQ(i)+delay(i,k)>tL(k),则边(i,k)为关键边;其中tL(k)为信号从虚拟源点vs到pin k的约束时延,tQ(i)为信号从虚拟源点vs到达pin i的最短时延;(9)构造关键网络,优化电路时延若TQ>TL,TL整个电路要求的总时延,TQ整个电路实际的总时延;则关键网络N=(V,E,d,vs,vt),V关键pin的集合;E关键边的集合;d每条有向边的权值,即delay(i,k),用dik表示;vs虚拟源点,vt虚拟汇点;用“图与网络规划理论”中的最大流与最小割关系定理,在最大流≠∝条件下,求出最大流所对应的最小割,从中得到一组边,重新构造最小割中的得到的一组边所对应线网的布线树,减小时延;(10)判断布线时延是否满足约束指标若延迟优化结果>时延约束指标,则继续执行时延优化程序;若延迟优化结果≤时延约束指标,则程序终止。实验证明它达到了预期目的。图2本专利技术的流程框图。图3一个简单的逻辑电路图。图4与图3对应的时延传递网络。图5一个小型电路中关键网络的一个局部。图6在多层布线的芯片平面上生成的GRG。图7一个具体的包含548个关键pin、274条关键边的关键网络,它的一个局部有44个关键pin、22条关键边,如图7所示。图8对图7所示的局部的关键网络实行时延优化后的结果图。本布线方法的流程框图如图2所示。现在采用国际基准测试电路实例MCNC C2作为本专利技术的一个实施例,结合图2的程序流程用本专利技术的总体布线方法进行布线。它依次有如下步骤(1)初始化设行数Nnr=9,列数Nnc=11。此时,GRG图中共有99个顶点,每个顶点都有一个对应的位置坐标(x,y),例如在图6中,v1,1顶点的位置坐标是(10,96),v1,2顶点的位置坐标是(156,96),即可用vnr,nc(x,y)表示,nr表示GRG上第几行,nc表示GRG上第几列,坐标(x,y)是相对芯片平面的坐标原点而言的;共有178条边,每条边都有一个用户给定的容量,从15~17,例如连接v1,1与v1,2的边的容量为15,连接v1,2与v1,3的边的容量为15。设线网的总数Nsum为745条,方块电阻=0.0125Ω/um,方块电容=0.00013pf/um,用户给出的时延约束指标,如其中一个时延值为0.496281ns。(2)生成GRG读入Nnr=9,Nnc=11;按照先行后列的顺序,给99个顶点全部编号,分别为1~99号;再按照先行后列的顺序,从1号顶点开始,把178条GRG边全部编号,分别为1~178号。(3)读入电路详细连接关系即网表 读入电路中线网总数Nsum=745。按照网表读入的顺序,给745条线网全部编号,分别为net1~net745。于是得到每条线网包含源点、漏点信息在内的网表,其具体形式描述如下1号线网的网表表示是(net1(VertexList 75 2 72 2 71 1),745号线网的网表表示是(net745(VertexList 48 2 3 1))。以net1为例它表示的是第75号顶点是漏点,第72号顶点是漏点,第71号顶点是源点。它们的通式可表示为(net本文档来自技高网...

【技术保护点】
一种基于关键网络技术优化时延的标准单元总体布线方法,含有优化布线拥挤、消除拥挤边的步骤,其特征在于它依次包含如下步骤: (1)初始化: 设置:GRC(总体布线单元)的行数N↓[nr],列数N↓[nc], GRG(总体布线图)中所有顶点即GRC中心点的坐标v↓[nr,nc](x,y),其中,nr,nc分别代表行和列,x,y是芯片平面的坐标; GRG中每条边e↓[k]的容量C↓[k], 电路中线网的总数Nsum,每条线网的网表NetlistIndex,每条线网的源点s,漏点t, 电路的所有电学性能参数, 用户给定的时延约束指标参数; (2)生成GRG: 读入在多层布线芯片上划分GRC所必需的N↓[nr],N↓[nc], 读入在多层布线芯片上生成GRG所必需的各顶点的坐标值, 给顶点以及连接每两个相邻顶点的边e↓[k]编号; (3)读入电路详细连接关系即网表: 读入电路中线网的总数目Nsum, 读入每条线网网表, 按读入顺序,为每条线网编号; (4)读入电路的所有电学性能参数与约束指标,赋到相应的变量和数组中; (5)构造初始布线树即Steiner树,即在每条线网不受任何约束条件下构造长度最短的Steiner树; (6)统计总的可用布线资源,标记拥挤区域: 根据步骤(5)执行后得到的初始解,统计每条GRG边的被使用量d↓[k],比较C↓[k]与d↓[k],若C↓[k]<d↓[k],表示出现布线拥挤,得出拥挤区域,对布线拥挤的GRG边进行标记,有标记的线网即为拥挤线网; (7)优化布线拥挤,消除拥挤边; (8)用Update_Timing_Para.cpp程序统计电路时延信息,分析关键pin,关键边: 根据步骤(7)执行后的布线结果,用公知的“Sakurai时延计算公式”计算并统计每条电信号传输路径从输入PI到输出PO的时延值;对于一个树型的多端点线网,各节点的时延可根据上一级节点的时延来确定, 根据步骤(4)读入数组之中的用户时延约束指标,与上述计算出的每条电路的时延值进行比较,得出此时的关键pin,关键边,其判别准则如下: a.若:t↓[Q](i)>t↓[L](i),则pin i为关键pin 其中:t↓[Q](i)为信号从虚拟源点vs到达pin i的最短时延; t↓[L](i)为信号从虚拟源点vs到达pin i的约束时延,它可表述如下: *** delay(i...

【技术特征摘要】

【专利技术属性】
技术研发人员:洪先龙经彤鲍海云蔡懿慈许静宇
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1