降低不同端角下缓冲器链延时变化的方法

文档序号:6520960阅读:280来源:国知局
降低不同端角下缓冲器链延时变化的方法
【专利摘要】本发明公开了一种降低不同端角下缓冲器链延时变化的方法,该方法以芯片设计中保持时间的违例路径作为研究对象,提取最优、最差端角下的时序裕量、输入跳变时间和负载电容;遍历所有缓冲器并计算出最优端角下的缓冲器链最小延时;若延时满足目标延时要求则继续计算出最差端角下的缓冲器链最大延时;计算延时变化率,选择输出比延时变化率最小的缓冲器链A,如果没有延时变化率在指定范围内的缓冲器链则输出缓冲器链A,否则对比输出面积最小的缓冲器链。本发明能够降低不同端角下缓冲器链延时变化、很大程度上减小不同端角间的迭代次数、大大缩短设计周期、加速芯片时序。
【专利说明】降低不同端角下缓冲器链延时变化的方法
【技术领域】
[0001]本发明涉及集成电路设计领域,具体涉及一种降低不同端角下缓冲器链延时变化的方法。
【背景技术】
[0002]随着集成电路工艺的日益发展,晶体管的尺寸不断减小,目前的晶体管尺寸已经减小到28nm。晶体管尺寸的缩小要求精准的制造工艺,而制造工艺的微小变化会带来显著的工艺参数偏差。工艺缩放和电路设计同时要求电源电压按相应比例缩放,电源电压缩放和集成电路节点的高速翻转也会带来电压偏差。标准单元的开关活动性和种类的多样性导致芯片局部地方出现高功耗,从而引起不均匀的供应电压分配和温度热点,芯片封装和电路长期运行也会导致集成电路的各个节点温度发生变化。工艺、电源电压和温度的偏差会对集成电路的功能、性能和稳定性产生影响,可以预计,随着晶体管尺寸的进一步缩小,PVT偏差对集成电路的影响将更加明显,尤其是PVT偏差对单元延时变化的影响。
[0003]当前芯片的物理设计中,缓冲器作为时序优化的基本单元,它的延时、功耗和驱动能力越来越受到工程师的重视。随着单元工艺尺寸的减小,芯片高性能设计的需要,时序优化中多模式多端角的应用,缓冲器的延时变化对建立时间违例和保持时间违例的修复产生越来越大的影响。通常情况下,布局布线工具在自动修复违例的过程中将某个端角下的时序收敛了,其他端角下又会出现较大的时序违例,所以往往需要大量人工操作,在不同端角之间反复迭代,确保违例路径的时序收敛。因此,如何在时序优化过程中降低不同端角下缓冲器的延时变化来加速时序的收敛变得越来越迫切。

【发明内容】

[0004]本发明要解决的技术问题是提供一种能够降低不同端角下缓冲器链延时变化、很大程度上减小不同端角间的迭代次数、大大缩短设计周期、加速芯片时序的收敛的降低不同端角下缓冲器链延时变化的方法。
[0005]为了解决上述技术问题,本发明采用的技术方案为:
[0006]一种降低不同端角下缓冲器链延时变化的方法,其实施步骤如下:
[0007]I)通过布局布线工具提取寄存器数据端分别在最优端角和最差端角下的时序裕量、输入跳变时间和负载电容,将所述最优端角下的时序裕量作为目标延时;
[0008]2)在最优端角下遍历缓冲器链的缓冲器,计算最优端角下寄存器链的面积,并根据最优端角下的输入跳变时间和负载电容计算单个缓冲器的延时,并将最小的单个缓冲器的延时作为缓冲器链最小延时;
[0009]3)判断是否有缓冲器链延时满足所述目标延时的缓冲器链,如果没有缓冲器链延时满足目标延时的缓冲器链,则增大所述目标延时并跳转执行步骤2);否则在最差端角下,根据最差端角下的输入跳变时间和负载电容计算单个缓冲器的延时,并将单个缓冲器的延时求和组合得到缓冲器链最大延时,并跳转执行步骤4);[0010]4)分别将每一个满足目标延时缓冲器链的缓冲器链最大延时除以缓冲器链最小延时得到缓冲器链的延时变化率,选择一个缓冲器链的延时变化率最小的缓冲器链作为目标缓冲器链;
[0011]5)将所有满足目标延时的缓冲器链的延时变化率与目标缓冲器链的延时变化率进行比较,如果没有找到延时变化率在指定范围内的缓冲器链,则直接输出目标缓冲器链;如果找到延时变化率在指定范围内的缓冲器链,则比较延时变化率在指定范围内的所有缓冲器链,从所有缓冲器链中查找面积最小的寄存器链输出。
[0012]作为本发明降低不同端角下缓冲器链延时变化的方法的进一步改进:
[0013]所述步骤2)中在最优端角下遍历缓冲器链的缓冲器时,具体是指遍历一级缓冲器链、二级缓冲器链、三级缓冲器链的所有缓冲器。
[0014]所述步骤2)中在最优端角下遍历缓冲器链的缓冲器时,如果缓冲器在时序单元库中的最小延时大于目标延时,则直接忽略该延时器并开始处理下一个缓冲器。
[0015]所述步骤2)中根据最优端角下的输入跳变时间和负载电容计算单个缓冲器的延时的详细步骤如下:根据最优端角下的输入跳变时间和负载电容查找时序库文件表,判断是否命中延时值,如果命中延时值则直接输出命中的延时值;否则,获取时序库文件表中与命中点相邻的四个表中给定延时值,根据所述命中点相邻的四个表中给定延时值采用线性插值法计算得到命中点的延时值并输出。
[0016]所述步骤3)中根据最差端角下的输入跳变时间和负载电容计算单个缓冲器的延时的详细步骤如下:根据最差端角下的输入跳变时间和负载电容查找时序库文件表,判断是否命中延时值,如果命中延时值则直接输出命中的延时值;否则,获取时序库文件表中与命中点相邻的四个表中给定延时值,根据所述命中点相邻的四个表中给定延时值采用线性插值法计算得到命中点的延时值并输出。
[0017]所述步骤3)中增大所述目标延时具体是指将所述目标延时增加0.1倍。
[0018]所述步骤5)中的指定范围具体是目标缓冲器链的延时变化率的I?1.1倍。
[0019]本发明降低不同端角下缓冲器链延时变化的方法具有下述优点:由于布局布线工具自动修复后,仍需要大量人工操作,在不同端角之间反复迭代,才能确保所有路径时序收敛。为了减小不同端角间的迭代次数,缩短设计的周期,加速芯片的时序收敛,本实施例以芯片设计中保持时间的违例路径作为研究对象,已知建立时间时序分析的最差端角为WC,保持时间时序分析的最差端角为Be,提取WC和最优端角下的时序裕量、输入跳变时间和负载电容;遍历所有缓冲器并计算出最优端角下缓冲器链的延时;其延时满足目标延时要求则继续计算出最差端角下缓冲器链的延时;分别将每一个满足目标延时缓冲器链的缓冲器链最大延时除以缓冲器链最小延时得到缓冲器链的延时变化率,选择一个缓冲器链的延时变化率最小的缓冲器链作为目标缓冲器链,将所有满足目标延时的缓冲器链的延时变化率与目标缓冲器链的延时变化率进行比较,如果没有找到延时变化率在指定范围内的缓冲器链,则直接输出目标缓冲器链;如果找到延时变化率在指定范围内的缓冲器链,则比较延时变化率在指定范围内的所有缓冲器链,从所有缓冲器链中查找面积最小的寄存器链输出具有以下几个方面的优点:1、加速时序收敛。缓冲器链在不同的端角下延时变化率小,保证了保持时间违例快速修复的同时,不会造成建立时间的二次违例。2、设计周期短。在时序优化过程中需要人工在不同端角下反复迭代,保证各端角的时序收敛,本发明完全由脚本语言实现,完成了设计的自动化,减小了迭代的次数,极大的缩短了设计的周期,提高了设计的效率。3、降低了单元密度。本发明对所有满足目标延时的缓冲器链进行了分析,选择了面积最小的缓冲器链用于违例路径的修复,降低了芯片设计中的单元密度,为新增单元和布线空出物理空间。
【专利附图】

【附图说明】
[0020]图1为本发明实施例方法的基本流程示意图。
[0021]图2为本发明实施例中缓冲器链的结构示意图。
[0022]图3为本发明实施例中不同端角下缓冲器链的延时计算原理示意图。
[0023]图4为本发明实施例中的线性插值法的原理示意图。
【具体实施方式】
[0024]如图1所示,本实施例降低不同端角下缓冲器链延时变化的方法的实施步骤如下:
[0025]第一步,通过布局布线工具提取寄存器数据端分别在最优(Best Case)端角和最差(Worst Case)端角下的时序裕量、输入跳变时间和负载电容,将所述最优端角下的时序裕量作为目标延时。寄存器数据端分别在最优端角和最差端角下的时序裕量、输入跳变时间和负载电容将用于计算缓冲器链的延时。
[0026]第二步,在最优端角下遍历缓冲器链的缓冲器,计算最优端角下寄存器链的面积,并根据最优端角下的输入跳变时间和负载电容计算单个缓冲器的延时,并将最小的单个缓冲器的延时作为缓冲器链最小延时Tmin。
[0027]如图2所示,缓冲器链中各缓冲器采用“首尾相接”的方式靠近连接,这种连接方式减小了互连线对缓冲器输入跳变时间和负载电容的影响,保证了一个更加精准延时值的获取。
[0028]本实施例中在最优端角下遍历缓冲器链的缓冲器时,具体是指遍历一级缓冲器链、二级缓冲器链、三级缓冲器链的所有缓冲器。本实施例只用了一级、二级和三级缓冲器链,其原因在于三级之后缓冲器链的延时变化率包含在前三级之中,不需要额外增加缓冲器的遍历负担;而且级数越多,缓冲器链的输入跳变时间和负载电容就会变得不可控制,导致缓冲器链计算出来的延时值与实际运用中布局布线工具计算出来的延时值不相同。
[0029]本实施例中在最优端角下遍历缓冲器链的缓冲器时,如果缓冲器在时序单元库中的最小延时大于目标延时,则直接忽略该延时器并开始处理下一个缓冲器。这一步对缓冲器的延时进行判断,如果某缓冲器在时序单元库中的最小延时大于目标延时,那么在缓冲器链的确定过程中将不会把该缓冲器作为遍历的一个单元,这样做极大的减少了缓冲器的遍历时间。
[0030]需要说明的是,单元延时是输入跳变时间和负载电容的函数,布局布线工具只需要获取单元输入跳变时间与负载电容,就可以在时序库文件中得到确切的延时信息。如将步骤I中的寄存器数据端的输入跳变时间作为缓冲器链中第一级缓冲器的输入跳变时间,第二级缓冲器的输入端电容作为第一级缓冲器的负载电容,就可以计算出第一级缓冲器的单元延迟。同理,将第一级缓冲器的输出跳变时间作为第二季缓冲器的输入跳变时间,将第三级缓冲器的输入电容作为第二级缓冲器的负载电容,就可以计算出第二级缓冲器的单元延迟。而对于第三级缓冲器,则以步骤I中的寄存器输入端的电容作为其负载电容计算单元延迟。对于输入跳变时间与负载电容没有出现在时序库文件的7X7表中的情况,就需要找出它们落在表中的区间范围,再根据这些边界范围的取值通过线性插值法计算得到需要的延时。
[0031]因此,本实施例步骤2)中根据最优端角下的输入跳变时间和负载电容计算单个缓冲器的延时的详细步骤如下:根据最优端角下的输入跳变时间和负载电容查找时序库文件表,判断是否命中延时值,如果命中延时值则直接输出命中的延时值;否则,获取时序库文件表中与命中点相邻的四个表中给定延时值,根据所述命中点相邻的四个表中给定延时值采用线性插值法计算得到命中点的延时值并输出。
[0032]线性插值法的原理参见图4,假设M点(x,y)为待求的延时值,时序库文件表中与命中点M点(X,y)相邻的四个表中给定点分别为Q11、Q12、Q22、Q21,分别对应图4中的坐标(X1, Y1)、(X1, y2)、(x2, y2)、(x2, Y1),且其对应的延时值分别为 f (Q11)、f (Q12)、f (Q22)、f (Q21)。利用线性插值法求M点(x,y)延时值时,首先利用式(I)计算Rl,R2的值;然后利用公式
(2)计算f (M)即可,f (M)就是单个缓冲器的延时值。
【权利要求】
1.一种降低不同端角下缓冲器链延时变化的方法,其特征在于实施步骤如下: 1)通过布局布线工具提取寄存器数据端分别在最优端角和最差端角下的时序裕量、输入跳变时间和负载电容,将所述最优端角下的时序裕量作为目标延时; 2)在最优端角下遍历缓冲器链的缓冲器,计算最优端角下寄存器链的面积,并根据最优端角下的输入跳变时间和负载电容计算单个缓冲器的延时,并将最小的单个缓冲器的延时作为缓冲器链最小延时; 3)判断是否有缓冲器链延时满足所述目标延时的缓冲器链,如果没有缓冲器链延时满足目标延时的缓冲器链,则增大所述目标延时并跳转执行步骤2);否则在最差端角下,根据最差端角下的输入跳变时间和负载电容计算单个缓冲器的延时,并将单个缓冲器的延时求和组合得到缓冲器链最大延时,并跳转执行步骤4); 4)分别将每一个满足目标延时缓冲器链的缓冲器链最大延时除以缓冲器链最小延时得到缓冲器链的延时变化率,选择一个缓冲器链的延时变化率最小的缓冲器链作为目标缓冲器链; 5)将所有满足目标延时的缓冲器链的延时变化率与目标缓冲器链的延时变化率进行比较,如果没有找到延时变化率在指定范围内的缓冲器链,则直接输出目标缓冲器链;如果找到延时变化率在指定范围内的缓冲器链,则比较延时变化率在指定范围内的所有缓冲器链,从所有缓冲器链中查找面积最小的寄存器链输出。
2.根据权利要求1所述的降低不同端角下缓冲器链延时变化的方法,其特征在于:所述步骤2)中在最优端角下遍历缓冲器链的缓冲器时,具体是指遍历一级缓冲器链、二级缓冲器链、三级缓冲器链的所有缓冲器。
3.根据权利要求2所述的降低不同端角下缓冲器链延时变化的方法,其特征在于:所述步骤2)中在最优端角下遍历缓冲器链的缓冲器时,如果缓冲器在时序单元库中的最小延时大于目标延时,则直接忽略该延时器并开始处理下一个缓冲器。
4.根据权利要求3所述的降低不同端角下缓冲器链延时变化的方法,其特征在于:所述步骤2)中根据最优端角下的输入跳变时间和负载电容计算单个缓冲器的延时的详细步骤如下:根据最优端角下的输入跳变时间和负载电容查找时序库文件表,判断是否命中延时值,如果命中延时值则直接输出命中的延时值;否则,获取时序库文件表中与命中点相邻的四个表中给定延时值,根据所述命中点相邻的四个表中给定延时值采用线性插值法计算得到命中点的延时值并输出。
5.根据权利要求4所述的降低不同端角下缓冲器链延时变化的方法,其特征在于:所述步骤3)中根据最差端角下的输入跳变时间和负载电容计算单个缓冲器的延时的详细步骤如下:根据最差端角下的输入跳变时间和负载电容查找时序库文件表,判断是否命中延时值,如果命中延时值则直接输出命中的延时值;否则,获取时序库文件表中与命中点相邻的四个表中给定延时值,根据所述命中点相邻的四个表中给定延时值采用线性插值法计算得到命中点的延时值并输出。
6.根据权利要求1?5中任意一项所述的降低不同端角下缓冲器链延时变化的方法,其特征在于:所述步骤3)中增大所述目标延时具体是指将所述目标延时增加0.1倍。
7.根据权利要求6所述的降低不同端角下缓冲器链延时变化的方法,其特征在于:所述步骤5)中的指定范围具体是目标缓冲器链的延时变化率的I?1.1倍。
【文档编号】G06F17/50GK103617321SQ201310615670
【公开日】2014年3月5日 申请日期:2013年11月27日 优先权日:2013年11月27日
【发明者】乐大珩, 莫凡, 赵振宇, 窦强, 马卓, 何小威, 马驰远, 冯超超, 余金山 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1