标准单元库模型的时序验证方法

文档序号:6444622阅读:799来源:国知局
专利名称:标准单元库模型的时序验证方法
技术领域
本发明涉及集成电路设计领域,具体地说涉及一种标准单元库模型的时序验证方法。
背景技术
在半定制的ICantegrated Circuit,集成电路)设计中,标准单元库是实际芯片和设计电路之间的纽带。数字电路设计,尤其是纳米工艺阶段大规模的数字电路设计,标准单元库已经成为了设计电路的必须条件。参考图1,图1示出了从行为描述到带延时信息的后仿真支撑着整个数字电路设计流程。随着芯片规模日益复杂,工艺尺寸日益缩小,时序收敛问题毫无疑问也越来越复杂和无法避免。而反映单元库时序信息的库模型文件(.lib文件)在综合后的流程中几乎都要用到,如图2所示。因此目前对用于EDA(Electronic Design Automation,电子自动化设计)工具的库模型文件的准确程度的要求也越来越高。非线性模型是目前工业界最广泛使用的延迟计算模型。它采用差值估算的方法, 例如X轴作为输入信号的渡越时间(Transition time)的取值坐标,y轴作为输出负载电容的取值点坐标,ζ轴用于显示输入到输出的延迟(Propagation delay)和输出渡越时间。 综合器就是依靠估算四个坐标点范围内的时间(内插值)来进行静态时序分析的。对于估算插值落在坐标平面范围外面的点(外插值),估算值误差会比较大,在综合器进行综合时,常常当作违反DRC(Design Rule Check)规则来处理,因此这种取值是要避免的。其中, 渡越时间指的是从电源电压的10%到90%所消耗的时间(上升渡越时间)和从电源电压的90%到10%所消耗的时间(下降渡越时间),如图3所示。输入到输出的延时指的是输入信号在电源电压50%时的时间点到输出信号在电源电压50%时的时间点,如图4所示。通常,标准单元库开发工程师根据工艺特征,凭借经验预估出工艺的最高频率和最低频率,根据单元能驱动的最小和最大扇出数预估最大电容负载和最小电容负载。这些就是特征化建模工具在输入信号渡越时间和输出负载电容边界点的坐标取值。特征化建模工具在边界点坐标内通过对数运算再插入5个坐标点,从而形成7行7列的时序查找表。传统的单元库的时序验证方法就是通过流片验证。为了避免PAD和测试链外部单元引入的额外的时间延迟以及单个单元测量误差大的问题,目前的验证电路大多是通过同种单元相串联的电路形式实现的。如图5所示,采用200个同种单元串联形成的反相器测试链。其仿真波形参考图6。现有技术中的方法虽然能够有效的验证单元库中单元的时序信息,但是流片的成本很高,且流片验证周期长、迭代次数多。

发明内容
本发明提供一种标准单元库模型的时序验证方法,用于对库模型文件中反映的时序信息进行验证,并对库模型文件中的偏差进行动态修正。
根据本发明的一个方面,提供一种标准单元库模型的时序验证方法,其特征在于, 包括通过电路仿真验证标准单元库模型的坐标点和/或内插值点上的时序信息。本发明提出了一种在库模型文件建立完以后就可以对其时序信息进行验证的方法。运用所述方法可以在库模型的开发过程中对库模型文件中的时序信息进行验证,并对不准确的时序信息进行修正。除此之外,还能对查找表中各个坐标点进行准确验证。采用本发明的方法确保了仿真器和静态时序分析工具的结果相同,从而使得设计者能够综合出时序准确的门级电路。


通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显图1为标准单元库对ASIC设计流程支撑示意图;图2为时序模型库对ASIC流程的支持示意图;图3为渡越时间示意图;图4为输入到输出的延时(门延时)的示意图;图5为以反相器为例设计的流片验证电路单元测试链;图6为图5所示的测试链的仿真波形;图7为坐标点验证电路;图8为内插值验证电路;图9用DC分析电路时序流程图;图10为根据本发明提供的一种标准单元库模型的时序验证方法的一种具体实施方式
的流程示意图。附图中相同或相似的附图标记代表相同或相似的部件。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作详细描述。下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。门延迟、输出渡越时间和输出负载以及输入信号的渡越时间都有关。标准单元库为EDA综合工具做的库模型文件中的单元延迟信息正是按照输入信号的渡越时间和输出负载电容两项指标而做出的查找表。如下表所示cell_rise(〃 del丄7_7〃 ) {
index_l(〃 4,6. 66667,9. 33333,12,14. 6667,17. 3333,20 〃 );index_2( “ 0. 0001,0. 0349711,0. 151229,0. 404096,0. 653979,0. 808093, 2. 82807");values(〃 0. 5644518,0. 6948845,1. 0310950,1. 7338051,2. 4269329,2.8489913, 8. 4911527" ,\“ 0. 6415743,0. 7838954, 1. 1395935, 1. 8532345, 2. 5467970, 2. 9759573, 8. 5819405",\“ 0. 6890143,0. 8439078, 1. 2118898, 1. 9399873, 2. 6488973, 3. 0795939, 8. 6743634",\“ 0. 7254624,0. 8892369, 1. 2679939, 2. 0082709, 2. 7279934, 3. 1681033, 8. 7659844",\“ 0. 7502326,0. 9224236, 1. 3109829, 2. 0609843, 2. 7905380, 3. 2360545, 8. 8603738" ,\“ 0. 7700739,0. 9528796, 1. 3523257, 2. 1109570, 2. 8494915, 3. 2916372, 8. 9382004" ,\“ 0. 7807973,0. 9682171, 1. 3811141, 2. 1439641, 2. 8909357, 3. 3459613, 9.0225081");index_l的值指的是输入信号的渡越时间,indeX_2的值指的是输出负载电容, values的值指的是时序信息,这里是指门的输出上升延时(cell_riSe)。例如indeX_l为 12,index_2为0. 151229时,在values中指的是第4行,第3列的值,即1. 2679939。在标准单元库特征化建模的过程中,设计者必须确定输入信号的渡越时间和输出负载电容的相应坐标点。例如,要生成一个7行7列的时序查找表,设计者就必须确定输入信号渡越时间的7个点和输出负载电容的7个点。这些点选择的合适与否直接影响后续生成的查找表的准确与否,进而直接影响设计的电路与实际制造出来的电路之间在时序上的偏差,如果偏差超过一定范围就会导致流片的失败。所以库模型文件中时序信息的准确性对于评价一套标准单元库性能的好坏尤为重要。目前对于库模型文件中的相应坐标点的选取还没有一个成熟的方法,大多数的库的开发人员都是凭着经验来选取坐标点。所以有必要对库模型文件中反映的时序信息进行验证。本发明对于要验证的标准单元库模型,针对其坐标点和内插值点采用不同的验证方法。对于坐标点上的时序信息(标准单元库模型中提供的数据,例如输出延迟和输出渡越时间)要求和电路层级仿真(例如HSPICE仿真)的结果基本相同。对于内插值点,使用静态时序工具(例如分析工具DC (Design Compiler))来估算其上的时序信息。一般地,要求估算结果与电路层级仿真结果之差在1 %的范围之内。而对于考虑到连线RC延迟的情况使用静态时序工具的估算与电路层级仿真结果的误差范围应该在5%以内。参考图10,图10为本发明提供的方法的一个实施例的流程示意图。执行步骤 S101,通过电路仿真,验证标准单元库模型的坐标点和/或内插值点上的时序信息。进一步地,首先搭建包括标准单元库模型的电路模型的第一仿真电路;根据标准单元库模型的坐标点设置输入信号的渡越时间和输出负载电容。它们的值与要测量的点在库模型文件 (· lib文件)中的值一致。依旧以index_l为12,index_2为0. 151229为例,即验证输入
5信号渡越时间为12ns和输出负载电容0. 151229pf时的时序信息index_l(〃 4,6. 66667,9. 33333,12,14. 6667,17. 3333,20〃 );index_2( “ 0. 0001,0. 0349711,0. 151229,0. 404096,0. 653979,0. 808093, 2. 82807");即采用所述第一仿真电路进行仿真,获得第一仿真结果。参考图7,用图7所示仿真电路做HSPICE仿真,测量输出端的渡越时间和门延迟时间,并与时序文件中的点进行比较,判断两者是否处于可接受误差范围之内。例如判断标准单元库模型的坐标点上的时序信息与所述第一仿真结果相比的误差是否处于第一阈值范围,优选为1 %以内。如果不满足则记录,等到该单元所有坐标点验证结束后,对不满足误差要求的坐标点进行重新设置并进行参数提取。重复上述过程,直到所有的点满足要求为止。进一步地,参考图8,搭建包括标准单元库模型的电路模型的第二仿真电路,在所述第二仿真电路的输入端放置缓冲器(buffer)。用HDL(Hardware Description Language) 语言描述出来。如图8所示,在单元的输入端加入一个缓冲器的目的是为了给测试单元提供一个真实电路的环境,使测试结果更接近实际情况。对于多输入的单元,只要将其中一端接缓冲器,其余端口接高电平或地低电平(只要不对输出端产生影响)即可。根据标准单元库模型的内插值点设置输入信号的渡越时间和输出负载电容;采用所述第二仿真电路进行仿真,获得第二仿真结果。进一步地,使用synospsys的Library Compiler工具把.lib格式的文件转换成.db格式;并利用synospsys的静态时序分析工具计算电路延迟,参考图9。值得注意的是输出负载电容值要落在坐标点范围内。之后按照这些输入输出条件用一样的电路做 HSPICE 仿真。最后,查看DC输出的时序分析文件与HSPICE仿真结果,比较计算误差是否在第二阈值,优选为以内。如果误差大于这个范围就认为坐标点选取的不合理,需要重新选取时间点或者在误差大的点之间增加时间点。值得注意的是,不论是在第一仿真电路还是第二仿真电路中,当存在连线RC延迟时,所述第一阈值与所述第二阈值均为小于5%。可以看出,采用本发明提供的方法可确保仿真器和静态时序分析工具的结果相同,从而使得设计者能够综合出时序准确的门级电路。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括” 一词不排除其他模块或步骤,单数不排除复数。
权利要求
1.一种标准单元库模型的时序验证方法,包括通过电路仿真验证标准单元库模型的坐标点和/或内插值点上的时序信息。
2.根据权利要求1所述的方法,其中所述电路仿真包括 搭建包括标准单元库模型的电路模型的第一仿真电路;根据标准单元库模型的坐标点设置输入信号的渡越时间和输出负载电容; 采用所述第一仿真电路进行仿真,获得第一仿真结果。
3.根据权利要求2所述的方法,其中所述验证包括判断标准单元库模型的坐标点上的时序信息与所述第一仿真结果相比的误差是否处于第一阈值范围内,如不在所述第一阈值范围内,则重新设置所述坐标点。
4.根据权利要求1所述的方法,其中所述电路仿真包括搭建包括标准单元库模型的电路模型的第二仿真电路,在所述第二仿真电路的输入端放置缓冲器;根据标准单元库模型的内插值点设置输入信号的渡越时间和输出负载电容; 采用所述第二仿真电路进行仿真,获得第二仿真结果。
5.根据权利要求4所述的方法,其中所述验证包括 进行静态时序分析以获取静态时序分析结果;比较所述静态时序分析结果以及所述第二仿真结果,当两者误差在第二阈值范围内, 则认为库模型文件中的坐标点合理,反之,则重新设置所述坐标点。
6.根据权利要求3所述的方法,其特征在于,所述第一阈值为小于1%。
7.根据权利要求5所述的方法,其特征在于,所述第二阈值为小于1%。
8.根据权利要求6或7所述的方法,其特征在于,当存在连线RC延迟时,所述第一阈值与所述第二阈值均为小于5%。
9.根据权利要求1所述的方法,其特征在于,采用HSPICE对第一仿真电路和/或第二仿真电路进行仿真。
10.根据权利要求5所述的方法,其特征在于,采用DC来进行静态时序分析。
全文摘要
本发明提供一种标准单元库模型的时序验证方法,包括通过电路仿真验证标准单元库模型的坐标点和/或内插值点上的时序信息。本发明提出了一种在库模型文件建立完以后就可以对其时序信息进行验证的方法。运用这个方法可以在库的开发过程中就对库模型文件中的不准确的时序信息进行修正,还能对查找表中各个坐标点进行准确的验证。
文档编号G06F17/50GK102436533SQ20111045666
公开日2012年5月2日 申请日期2011年12月30日 优先权日2011年12月30日
发明者周宠, 尹明会, 赵劼, 陈岚 申请人:中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1