缓冲器的插入方法及装置制造方法及图纸

技术编号:8834440 阅读:344 留言:0更新日期:2013-06-22 20:37
本发明专利技术公开了一种缓冲器的插入方法及装置,在上述方法中,获取当前集成电路中各个器件相互间端口的连接关系,其中,连接关系包括:输入端口、输出端口以及输入端口与输出端口之间的连接路径;在多种时序分析模型下从连接关系中选取待插入缓冲器的一个或多个端口。根据本发明专利技术提供的技术方案,降低了通过插入缓冲器来修复保持时间违例的迭代次数和修复时间。

【技术实现步骤摘要】

本专利技术涉及集成电路制造和设计领域,具体而言,涉及一种缓冲器的插入方法及>J-U ρ α装直。
技术介绍
时序逻辑是数字电路设计中的重要组成部分。而保持时间(hold time)是指数据稳定后保持的时间,如果保持时间无法满足预设条件,那么数据就不能被稳定的输入触发器。当发生保持时间违例时,数字电路设计的功能就不能正确地实现。因此,修复保持时间违例是数字电路设计中一项必要且非常重要的工作。工艺、电压和温度是影响电路性能的三个基本因素,但是,在研究过程中不可能穷尽其所有组合来分析电路行为。相关技术中,在签核(signoff)阶段通常采用抽样分析的方法,考虑上述三者的极端情况组合,来保证设计在整个组合空间中都能正常工作。在进入纳米工艺后,此种抽样分析方法受到了很大的挑战,最主要的问题就在于采样点数目急剧膨胀。由于随着晶体管尺寸的不断变小,时序路径延迟由之前的器件延迟占主导地位变为由线延迟占主导地位。在计算线延迟时,电阻电容的提取方式对静态时序分析非常重要。现代数字电路要保证能在各种极端环境下正常工作,而且在各种环境下的频率要求不尽相同,因此,物理设计中考虑工作、电压和温度要比以前多很多。为了满足数字电路高性能要求的同时也要考虑低功耗,因此数字电路存在着多个工作模式,例如:在正常工作模式下,数字电路运行在较高频率下,此时数字电路功耗较大,当数字电路处于休眠模式时,数字电路运 行在较低频率下,此时数字电路功耗较低。如此,可以将数字电路以某种工作模式运行在某个工艺角下定义为数字电路的一种时序分析模式(scenario)。当数字电路有ml种工作电压、m2种工作温度、m3种提取电容电阻的模式、m4种工作模式时,数字电路总的scenario数量就有ml*m2*m3*m4种。随着工艺技术的改进,为了保证数字电路时序分析的精度,工作电压种类、工作温度种类、电阻电容提取模式种类、数字电路工作模式种类都会发生增长,数字电路的时序分析模式会呈指数级增长的趋势。所以要在越来越多的时序分析模型下修复保持时间违例对于设计者而言将是巨大的挑战。相关技术中,修复保持时间违例的较为有效的方法是在出现保持时间违例的时序路径上插入适量的缓冲器。但现有的修复保持时间违例的方法均忽略了多工艺角多模式的条件,插入缓冲器过多对原有的设计改变太大,存在着迭代次数过多、时间过长的缺陷。下面对相关技术中的几种常用的修复保持时间违例的技术方案分别进行介绍。技术方案一、该专利技术首先通过电子设计自动化(Electronic Design Automation,简称为EDA)工具的report timing命令得到保持时间违反的路径;其次采用reporttiming命令得到路径中建立时间较为富裕的点;然后根据前后级器件的驱动大小来选择插入缓冲器的类型,插入缓冲器后再通过import timing命令判断建立时间是否违反,保持时间是否修复;最后通过EDA工具将路径上其他的器件加以固定,通过ixnite eco命令来进行布线。该技术方案的缺陷在于以下几点:(I)该专利技术没有考虑到多工艺角多模式情况下修复保持时间违例;(2)该专利技术大量地使用了 EDA工具中的命令来计算时序,这在超大规模集成电路设计中使得修复保持时间变得很慢;(3)该专利技术在修复保持时间违例时只考虑单条时序路径,没有全局考虑到集成电路中时序路径的相互影响,这样使得修复的点过多,插入的缓冲器数量过多,以致对原来的设计产生了巨大的影响。技术方案二、该专利技术通过建立松弛和保持松弛的约束条件来得到保持时间违反的路径和路径中可以修复的点;然后在不违反建立时间约束的条件下插入合适的延迟器件。该技术方案的缺陷在于以下几点:(I)该专利技术没有考虑到多工艺角多模式情况下修复保持时间违例;(2)该专利技术没有考虑到修复保持时间的快速性,在现有超大规模集成电路设计中,时序路径数量都是千万数量级的,根据每条时序路径的时序约束来确定方案所花费的时间非常长;(3)该专利技术在修复保持时间违例时只考虑单条时序路径,而没有全局考虑到集成电路中时序路径的相互影响,这样使得修复的点过多,插入的缓冲器数量过多,以致对原有设计产生了巨大的影响。技术方案三、该专利技术首先将存在着保持时间违例的路径分成各个线段,建立起线段与路径间的关系,为每个线段计算出通过线段的路径数;然后根据通过每个线段的路径数目来为每个线段进行排序;再次选出排序第一的线段来判断是否存在着修复保持时间的建立时间余量,若存在则插入缓冲器来修复保持时间违例;若不存在则将该线段舍弃,重新对线段进行排序。该技术方案的缺陷在于以下几点:(I)该专利技术没有考虑到多工艺角多模式情况下修复保持时间违例;(2)该专利技术在选择线段来修复保持时间违例的时候只考虑到了该线段所影响到的路径的数目,没有考虑到该线段的保持时间的松弛(slack)的大小,这会发生保持时间最大的松弛(slack)的路径没有被修复下去的情况。技术方案四、该专利技术首先从TIMING ANALYSIS TOOLS得到时序结果,然后为每个要插入的buffer按照load的范围提供一个大概的延迟值;然后从存在保持时间违例的路径的尾端开始从后往前找,在分叉点处根据负载(load)的值、建立时间和保持时间来选择合适的缓冲器插入。该技术方案的缺陷在于以下几点:(I)该专利技术没有考虑到多工艺角多模式情况下修复保持时间违例;(2)该专利技术缓冲器的延迟值只是给出几个区域内估算的范围值,并没有根据实质情况的电容和上下沿变化时间来决定延迟值,所以在选择插入的缓冲器类型时,其选择并不是最优的;(3)在插入的缓冲器的点的考虑上,仅考虑到插入缓冲器对其他路径的影响尽量小,这样使得插入点的数量过多,对原有的设计改变过多。技术方案五、该专利技术仅提到了读入多工艺角多模式下的镜像来得到整个设计的内容,读入多工艺角多模式的数据库信息来得到整个设计的约束文件,然后即可得出技术更改指令(Engineering Change Orders,简称为 ECO)的结果。该技术方案的缺陷在于以下几点:( I)该专利技术中仅提到了需要导入设计内容和设计的约束文件,这两个条件概括范围较为宽泛,基本包含了后端设计的全部内容,而没有指出该专利技术具体需要的信息;(2)该专利技术最终结果是得出ECO的结果,而无法体现迭代次数少、插入缓冲器数量少的优势。
技术实现思路
本专利技术提供了一种缓冲器的插入方法及装置,以至少解决相关技术中通过插入缓冲器来修复保持时间违例的方法易造成迭代次数过多、修复时间过长的问题。根据本专利技术的一个方面,提供了一种缓冲器的插入方法。根据本专利技术的缓冲器的插入方法包括:获取当前集成电路中各个器件相互间端口的连接关系,其中,连接关系包括:输入端口、输出端口以及输入端口与输出端口之间的连接路径;在多种时序分析模型下从连接关系中选取待插入缓冲器的一个或多个端口。优选地,在多种时序分析模型下从连接关系中选取待插入缓冲器的一个或多个端口包括:从每个输入端口开始依次比较每条连接路径中相邻两个端口在每个时序分析模型下的保持时间松弛的参数值,并根据比较结果来计算每个端口的在该时序分析模型下的权重值;获取连接关系中每个端口在多种时序分析模型下的权重值的总和,确定总和最大的一个或多个端口为待插入缓冲器的端口。优选地,在多种时序本文档来自技高网
...

【技术保护点】
一种缓冲器的插入方法,其特征在于,包括:获取当前集成电路中各个器件相互间端口的连接关系,其中,所述连接关系包括:输入端口、输出端口以及所述输入端口与所述输出端口之间的连接路径;在多种时序分析模型下从所述连接关系中选取待插入缓冲器的一个或多个端口。

【技术特征摘要】
1.一种缓冲器的插入方法,其特征在于,包括: 获取当前集成电路中各个器件相互间端口的连接关系,其中,所述连接关系包括:输入端口、输出端口以及所述输入端口与所述输出端口之间的连接路径; 在多种时序分析模型下从所述连接关系中选取待插入缓冲器的一个或多个端口。2.根据权利要求1所述的方法,其特征在于,在所述多种时序分析模型下从所述连接关系中选取所述待插入缓冲器的一个或多个端口包括: 从每个输入端口开始依次比较每条连接路径中相邻两个端口在每个时序分析模型下的保持时间松弛的参数值,并根据比较结果来计算所述每个端口在该时序分析模型下的权重值; 获取所述连接关系中每个端口在所述多种时序分析模型下的权重值的总和,确定所述总和最大的一个或多个端口为待插入缓冲器的端口。3.根据权利要求1所述的方法,其特征在于,在所述多种时序分析模型下从所述连接关系中选取所述待插入缓冲器的一个或多个端口包括: 从每个输入端口开始依次比较每条 连接路径中相邻两个端口在每个时序分析模型下的保持时间松弛的参数值,并根据比较结果来计算所述每个端口在该时序分析模型下的权重值; 获取所述连接关系中每个端口在所述多种时序分析模型下的权重值的总和,并选取权重值总和最大的一个或多个端口; 获取所述选取的每个端口在多种时序分析模型下的保持时间松弛的参数值集合,并在与所述选取的每个端口对应的参数值集合中获取与所述选取的每个端口对应的保持时间松弛的参数值的最小值; 比较与所述选取的每个端口对应的保持时间松弛的参数值的最小值; 将获取到的与所述选取的每个端口对应的保持时间松弛的参数值的最小值中保持时间松弛的参数值最小的一个或多个端口确定为所述待插入缓冲器的一个或多个端口。4.根据权利要求1所述的方法,其特征在于,在所述多种时序分析模型下从所述连接关系中选取所述待插入缓冲器的一个或多个端口包括: 从每个输入端口开始依次比较每条连接路径中相邻两个端口在每个时序分析模型下的保持时间松弛的参数值,并根据比较结果来计算所述每个端口在该时序分析模型下的权重值; 获取所述连接关系中每个端口在所述多种时序分析模型下的权重值的总和,并选取权重值总和最大的一个或多个端口; 获取所述选取的每个端口在多种时序分析模型下的保持时间松弛的参数值集合,并在与所述选取的每个端口对应的参数值集合中获取与所述选取的每个端口对应的保持时间松弛的参数值的最小值; 比较与所述选取的每个端口对应的保持时间松弛的参数值的最小值,得到保持时间松弛的参数值最小的一个或多个端口; 判断得到的所述一个或多个端口是否在同一条连接路径上; 如果是,则根据在所述同一条连接路径上的一个或多个端口的位置关系确定所述待插入缓冲器的一个或多个端口。5.根据权利要求2至4中任一项所述的方法,其特征在于,从每个输入端口开始依次比较每条连接路径中相邻两个端口在每个时序分析模型下的保持时间松弛的参数值,并根据比较结果来计算所述每个端口在该时序分析模型下的权重值包括: 对所述每个输入端口的权重值进行初始化,并从所述每个输入端口开始依次比较每条连接路径中相邻两个端口在该时序分析模型下的保持时间松弛的参数值的大小; 如果所述相邻两个端口中的前一个端口的保持时间松弛的参数值大于或者等于后一个端口的保持时间松弛的参数值,则增加所述后一个端口的权重值。6.根据权利要求1至4中任一项所述的方法,其特征在于,在确定所述待插入缓冲器的一个或多个端口之后,还包括: 获取当前待使用的缓冲器的类型; 根据同种类型或多种不同 类型缓冲器所形成的缓冲器集合的面积确定所述待插入缓冲器的类型和数量,其中,所述同种类型或所述多种不同类型缓冲器中的每个缓冲器分别位于不同的端口。7.根据权利要求6所述的方法,其特征在于,在根据每种缓冲器集合的面积确定所述待插入缓冲器的类型和数量之后,还包括: 根据所述待插入缓冲器的类型、所述待插入缓冲器的每个端口在多种时序分析模型下的上升下降时间、电容以及单元库中的时序信息计算所述待插入缓冲器自身的延迟以及与所述待插入缓冲器的每个端口相邻的前一个端口与后一个端口的延迟变化; 采用计算结果更新所述待插入缓冲器的每个端口所在的一条或多条连接路径上除该端口之外的其他端口中每个端口的保持时间松弛、建立时间松弛...

【专利技术属性】
技术研发人员:包翔元高燕萍王洪生
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:

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

1