基于缓冲单元复用的保持时间时序优化方法

文档序号:6520963阅读:234来源:国知局
基于缓冲单元复用的保持时间时序优化方法
【专利摘要】本发明公开了一种基于缓冲单元复用的保持时间时序优化方法,该方法步骤包括:查找保持时间时序违反的扫描路径相同起点的功能数据路径上的缓冲单元;根据当前时序确定单元最大输出负载电容;根据单元最大输出负载电容和当前布线情况确定互连线的最大长度;如果复用单元会增加建立时间时序违例路径,根据单元所在区域的局部单元密度分析是否可以通过插入新单元降低单元的输出负载电容,如允许则通过插入新单元降低单元的输出负载电容;最后根据时序和物理信息确定扫描寄存器扫描输入端的连接关系。本发明优化了设计中扫描路径保持时间时序的同时降低了缓冲单元插入数目以及设计密度和功耗。
【专利说明】基于缓冲单元复用的保持时间时序优化方法
【技术领域】
[0001]本发明涉及超大规模集成电路物理设计领域,具体涉及一种基于缓冲单元复用的保持时间时序优化方法。
【背景技术】
[0002]随着工艺尺寸逐渐降低、互连线效应日益显著,设计中缓冲单元(缓冲器buffer、反相器inverter、延时单元delay cell)的数目持续增加。物理设计中插入缓冲单元是修复时序违例的常用方法。因扫描模式下工作频率较低,扫描路径逻辑简单,扫描路径通常出现保持时间时序违例。保持时间时序违例路径通常采用插入缓冲单元的方法进行修复,但是,在设计的后期阶段,一些路径会因过高的局部单元密度而不能插入缓冲单元,无法对设计做进一步的时序优化。同时,当前设计流程中修复扫描路径与功能数据路径时序违例独立进行,导致扫描路径与功能数据路径中会重复插入缓冲单元,增加了设计的单元密度,过高的单元密度会增加设计的面积和功耗,带来电压降(IR-drop)隐患。因此,如何以较小的开销进行时序优化成为当前集成电路物理设计中面临的一大难题。

【发明内容】

[0003]本发明要解决的技术问题是提供一种能够优化设计中扫描路径保持时间时序、降低缓冲单元插入数目以、降低设计密度和功耗的基于缓冲单元复用的保持时间时序优化方法。
[0004]为了解决上述技术问题,本发明采用的技术方案为:
[0005]一种基于缓冲单元复用的保持时间时序优化方法,其实施步骤如下:
[0006]I)在待优化设计中查找与保持时间时序违例的扫描路径具有相同起点的功能数据路径上的缓冲单元作为可复用的缓冲单元,指定其中一个缓冲单元作为当前缓冲单元;
[0007]2)根据当前时序计算当前缓冲单元的最大输出负载电容;
[0008]3)分析确定当前缓冲单元所在区域的互连线分布层;
[0009]4)计算当前缓冲单元输出端与扫描寄存器扫描输入端之间允许的互连线最大长度;
[0010]5)判断直接复用当前缓冲单元是否会增加待优化设计中建立时间时序违例路径,如果会则跳转执行步骤6),否则跳转执行步骤10);
[0011]6)计算当前缓冲单元所在区域的单元密度;
[0012]7)计算当前缓冲单元输出端、终点寄存器扫描输入端之间的曼哈顿距离,根据所述曼哈顿距离和当前缓冲单元所在区域的单元密度判断当前缓冲单元所在区域的单元密度是否在指定范围内且能够通过插入新的缓冲器或延时单元来避免增加建立时间时序违例路径是否可以同时成立,如果可以则跳转执行步骤8),否则跳转执行步骤10);
[0013]8)在当前缓冲单元的输出端插入新的缓冲器或延时单元;
[0014]9)从所述所有可复用的缓冲单元中选择最有利于时序的缓冲单元作为待复用缓冲单元;
[0015]10)判断是否所有缓冲单元遍历结束,如果没有则选择一个尚未处理的缓冲单元作为当前缓冲单元,跳转执行步骤2);否则,跳转执行步骤10);
[0016]11)根据所述待复用缓冲单元改变设计的连接关系并重新绕线;
[0017]12)结束。
[0018]作为本发明基于缓冲单元复用的保持时间时序优化方法的进一步改进:
[0019]所述步骤2)的详细步骤如下:
[0020]2.1)在多模式多端角模式或最好最坏分析模式的设计模式下,获取保持时间时序最差的端角下当前缓冲单元的单元延时、输入跳变时间、所在路径中建立时间时序最差路径的建立时间裕量,将所述当前缓冲单元的单元延时、所在路径中建立时间时序最差路径的建立时间裕量求和得到当前缓冲单元允许的最大延时;
[0021]2.2)根据当前缓冲单元的输入跳变时间在代工厂提供的时序库延时查找表中查找代表输入跳变时间的X轴上的位置,获取所述位置在时序库延时查找表中相邻的上一个延时值和下一个延时值;根据当前缓冲单元允许的最大延时在代工厂提供的时序库延时查找表中依次遍历查找代表输出负载电容的Y轴上的相邻输出负载电容值,得到与当前缓冲单元允许的最大延时最匹配的上一个输出负载电容和下一个输出负载电容;根据所述上一个延时值、下一个延时值、上一个输出负载电容、下一个输出负载电容确定的矩形区域四个顶点的延时值;
[0022]2.3)根据式(I)计算当前 缓冲单元的输入跳变时间与矩形区域顶边交点的延时值;
[0023]
【权利要求】
1.一种基于缓冲单元复用的保持时间时序优化方法,其特征在于实施步骤如下: 1)在待优化设计中查找与保持时间时序违例的扫描路径具有相同起点的功能数据路径上的缓冲单元作为可复用的缓冲单元,指定其中一个缓冲单元作为当前缓冲单元; 2)根据当前时序计算当前缓冲单元的最大输出负载电容; 3)分析确定当前缓冲单元所在区域的互连线分布层; 4)计算当前缓冲单元输出端与扫描寄存器扫描输入端之间允许的互连线最大长度; 5)判断直接复用当前缓冲单元是否会增加待优化设计中建立时间时序违例路径,如果会则跳转执行步骤6),否则跳转执行步骤10); 6)计算当前缓冲单元所在区域的单元密度; 7)计算当前缓冲单元输出端、终点寄存器扫描输入端之间的曼哈顿距离,根据所述曼哈顿距离和当前缓冲单元所在区域的单元密度判断当前缓冲单元所在区域的单元密度是否在指定范围内且能够通过插入新的缓冲器或延时单元来避免增加建立时间时序违例路径是否可以同时成立,如果可以则跳转执行步骤8),否则跳转执行步骤10); 8)在当前缓冲单元的输出端插入新的缓冲器或延时单元; 9)从所述所有可复用的缓冲单元中选择最有利于时序的缓冲单元作为待复用缓冲单元; 10)判断是否所有缓冲单元遍历结束,如果没有则选择一个尚未处理的缓冲单元作为当前缓冲单元,跳转执行步骤2);否则,跳转执行步骤10); 11)根据所述待复用缓冲单元改变设计的连接关系并重新绕线; 12)结束。
2.根据权利要求1所述的基于缓冲单元复用的保持时间时序优化方法,其特征在于,所述步骤2)的详细步骤如下: 2.1)在多模式多端角模式或最好最坏分析模式的设计模式下,获取保持时间时序最差的端角下当前缓冲单元的单元延时、输入跳变时间、所在路径中建立时间时序最差路径的建立时间裕量,将所述当前缓冲单元的单元延时、所在路径中建立时间时序最差路径的建立时间裕量求和得到当前缓冲单元允许的最大延时; 2.2)根据当前缓冲单元的输入跳变时间在代工厂提供的时序库延时查找表中查找代表输入跳变时间的X轴上的位置,获取所述位置在时序库延时查找表中相邻的上一个延时值和下一个延时值;根据当前缓冲单元允许的最大延时在代工厂提供的时序库延时查找表中依次遍历查找代表输出负载电容的Y轴上的相邻输出负载电容值,得到与当前缓冲单元允许的最大延时最匹配的上一个输出负载电容和下一个输出负载电容;根据所述上一个延时值、下一个延时值、上一个输出负载电容、下一个输出负载电容确定的矩形区域四个顶点的延时值; 2.3)根据式(I)计算当前缓冲单元的输入跳变时间与矩形区域顶边交点的延时值;
3.根据权利要求2所述的基于缓冲单元复用的保持时间时序优化方法,其特征在于,所述步骤3)的详细步骤如下:. 3.1)预先在建立时间时序端角下获得当前缓冲单元输出端的物理位置、终点寄存器扫描输入端的物理位置,将以上所述两个物理位置为对角线的矩形区域内每层布线层互连线的面积除以该矩形区域的总面积得到每个布线层互连线在矩形区域的金属密度值; . 3.2)通过比较各个布线层互连线在该矩形区域的金属密度值,获取在横向布线层中金属密度最低的一层和纵向布线层中金属密度最低的一层,从而确定当前缓冲单元输出端的物理位置、终点寄存器扫描输入端的物理位置之间的互连线所在横向布线层中金属密度最低的一层和纵向布线层中金属密度最低的一层。
4.根据权利要求3所述的基于缓冲单元复用的保持时间时序优化方法,其特征在于,所述步骤4)的详细步骤如下: . 4.1)在代工厂提供的电容查找表中分别查表获取所述横向布线层中金属密度最低的一层和纵向布线层中金属密度最低的一层互连线单位长度的面积电容、侧面电容和边缘电容,将所述横向布线层中金属密度最低的一层的面积电容、侧面电容和边缘电容求和得到横向布线层中金属密度最低的一层的总电容,将纵向布线层中金属密度最低一层的面积电容、侧面电容和边缘电容求和得到纵向布线层中金属密度最低的一层的总电容,在所述横向布线层中金属密度最低的一层的总电容、纵向布线层中金属密度最低的一层的总电容中取较大的总电容;. 4.2)预先获取当前缓冲单元的输出负载电容、终点寄存器扫描输入端的引脚电容,将所述当前缓冲单元的最大负载电容依次减去当前缓冲单元的输出负载电容、减去终点寄存器扫描输入端的引脚电容得到当前缓冲单元输出端的物理位置、终点寄存器扫描输入端的物理位置之间的互连线的最大线电容; ·4.3)将所述最大线电容除以所述较大的总电容得到当前缓冲单元输出端与扫描寄存器扫描输入端之间允许的互连线最大长度。
5.根据权利要求4所述的基于缓冲单元复用的保持时间时序优化方法,其特征在于,所述步骤7)的详细步骤如下: ·7.1)计算当前缓冲单元输出端、终点寄存器扫描输入端之间的曼哈顿距离; ·7.2)判断所述曼哈顿距离是否大于或者等于当前缓冲单元所在区域的单元密度,如果所述曼哈顿距离大于或者等于当前缓冲单元所在区域的单元密度,则判定直接连接缓冲单元输出端和寄存器扫描输入端是否会引起经过该单元的功能数据路径建立时间时序违例,跳转执行步骤10);否则如果所述曼哈顿距离小于当前缓冲单元所在区域的单元密度,则跳转执行步骤7.3); ·7.3)判断所述曼哈顿距离是否大于或等于当前缓冲单元输出端与扫描寄存器扫描输入端之间允许的互连线最大长度,如果所述曼哈顿距离大于或者等于当前缓冲单元输出端与扫描寄存器扫描输入端之间允许的互连线最大长度,则跳转执行步骤8);否则,如果所述曼哈顿距离小于当前缓冲单元输出端与扫描寄存器扫描输入端之间允许的互连线最大长度,则直接连接缓冲单 元输出端和寄存器扫描输入端,并跳转执行步骤10)。
【文档编号】G06F17/50GK103632001SQ201310615711
【公开日】2014年3月12日 申请日期:2013年11月27日 优先权日:2013年11月27日
【发明者】冯超超, 孙秀秀, 赵振宇, 窦强, 乐大珩, 马卓, 马驰远, 余金山, 何小威 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1