一种检测标准单元库时延单调性的方法技术

技术编号:14768162 阅读:211 留言:0更新日期:2017-03-08 12:27
当今超深亚微米工艺条件下的标准单元库文件数量不断增加,文件规模不断增大。这使得大量的数据分析人工难以完成,所以需要使用EDA工具辅助分析数据的合理性和准确性。通常时延数据是以NLDM(非线性时延模型)方式出现的二维表,包括表头和时延数据两部分。本文提出一种检测标准单元库时延单调性的方法,通过表头定义的模型的名称,index的数值,我们可以确定行列的含义;需要设定一个阈值,确定每一行每一列是否都是递增,且增幅都大于该阈值;如发现有不单调递增的行列,给出了明确的报告形式。这使得工程师能快速定位违反单调性的位置,从而保证了数值的准确性和合理性。

【技术实现步骤摘要】

标准单元库(TimingLibrary)时延单调性检查的方法,是一种在建立和使用标准单元库时对标准单元中的时延数据进行的单调性检查的方法。本专利技术属于EDA设计领域。
技术介绍
超深亚微米工艺条件下的标准单元库日趋复杂,MMMC的设计使得库文件数量增加。为了标准单元库的准确性,不同状态下的非线性时延模型对应不同的表。这使得大量的数据分析人工难以完成,建立标准单元库的工程师以及库的使用者都需要依赖EDA工具的辅助来分析时延数据的合理性。标准单元库是按照嵌套组(group)的形式组织的,如图1所示。标准单元库中定义的内容包括:库(library)、标准单元(cell)、管脚(pin)、时序表(timingtable)、功耗表(powertable)等。第一层通常是库(library)包含有库属性和库的参数定义,以及各种标准单元的定义。第二层通常是标准单元(cell),包含有单元属性和单元的参数定义,以及所有管脚的定义。第三层通常是管脚(pin),包含有管脚属性和管脚参数定义,以及所有时延表和功耗表。第四层通常是时延表或功耗表的定义,包含有表的属性和表头定义,以及表的数值。时延数据出现在第四层的时延表中,如图2所示。非线性时延模型(NLDM)的时延表(timingtable)中,通常以7*7的二维表形式出现。表头会定义两个index分别定义两个维度:输入信号的transition和输出负载load,每组(transition,load)对应一个时延值。时延值和transition,load分别都是单调正相关的。因此在这里我们提出了一种方法:检查时延单调性的方法,它区分了transition和load的维度,通过设置阈值检测单调性,并且给出了可读性的预报,使得工程师能快速定位违反单调性的位置,从而保证了数值的准确性和合理性。
技术实现思路
本专利技术提出一种标准单元时延单调性的检查方法,这种方法基于一种假设:标准单元的时延与输入transition和输出load单调正相关。该假设适用于大多数的标准单元,这一检查可以排除很多库里面不合理的时延数据。当然也存在一些实际不单调的器件,所以检测结果只是一个参考。忽视时延模型单调性的检查,很可能造成时延模型数据不正确,这对于时延的计算会造成巨大的错误,从而妨碍后端时序收敛的效果,本文将详细阐述检测时延单调性的解决方案并给出可读性的报告。时延值是一个关于输入transition和输出load的函数,并且时延与二者的关系都是单调正相关。通常情况下,二维时延表的index都是以指数级间隔递增。在检验时延值的单调性时,只需要检验二维表的所有的行和列是否都是单调递增的。在实际检测过程中,通常第一个index对应的是列,第二个index对应的是行,因此我们还需要区分index的含义,以及设置阈值多大的增幅被认为是增加了。在二维表的表头通常会出现两个index,对应两组值,由此我们并不会知道index的具体含义。为了知道行列分别对应输入transition还是输出load,我们需要从模板中找出具体的含义,模板示例如图3所示。根据图2中二维表类型cell_fall后面接的模板名delay_template_7x7_0,我们可以在库的开头,第一层库属性中去找该模板的定义,从而确定index_1代表的是输入transition,index_2代表的是输出load。而index1对应的是列,index2对应的是行,由此我们可以确定查找列的单调性,表示的是delay和transition的正相关,同时查找行的单调性,表示的是delay和load的相关性。在确认了行列的含义之后,我们还需要设定一个阈值(threshold),以确定后一个数比前一个数大的超过了这个阈值。如果出现了比阈值小的间隔,我们就认为单调性被违反了。这个阈值通常表示一个实数的最低有效位能表示出来的值。例如1.23456精确到小数点后五位,我们可以把阈值设为1e-5,就可以检测出所有delay值得增加或者减少。单调性检验公式如图4所示,i表示行号,rsize表示行的数据个数;j表示列号,csize表示列的数据个数。当我们检测出有不单调的行或者列存在,我们通过图5展示违反单调性的示例。右下角的结果中,需要给出能唯一定位这个表格的所有信息。第一行表示的是Timingarc,电路从CLK到Q的路线所需要的时间。第二行@之前表示时延模型其他管脚的状态(除通路两端之外的其他管脚的状态);@之后表示timing_type,上升沿、下降沿或者组合电路等。第三行表示的是时延表的类型:cell_rise、cell_fall、rise_transition、fall_transition。第四行表示的是违反的行号或者列号,row是行,col是列。附图说明图1TimingLibrary文件结构图图2NLDM二维查找表示例图3查找表表头模型示例图4检测单调性的公式图5违反单调性的结果示例具体实施步骤:结合一个具体的实例说明如何检测标准单元库中时延值的单调性,操作流程步骤如下:1)准备一个标准单元库文件,并通过解析器读入EDA工具中;2)定位到需要检测的二维表,设定比较的阈值;3)通过表头的模型名,确定具体的index的含义;4)分别检测时延值与输入transition和输出load之间是否单调正相关;5)如果出现违反单调性的情况,给出书面报告。本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201510522952.html" title="一种检测标准单元库时延单调性的方法原文来自X技术">检测标准单元库时延单调性的方法</a>

【技术保护点】
一种检测标准单元时延单调性的方法,涉及到EDA设计工具的主要特征为:(1)时延的单调性是指,时延相对于输入transition和输出load都是单调正相关;(2)通过表头的模型名字确定时延表行列的含义;(3)根据设定阈值判定时延表的单调性;(4)能唯一定位的单调性违反描述格式。

【技术特征摘要】
1.一种检测标准单元时延单调性的方法,涉及到EDA设计工具的主要特征为:(1)时延的单调性是指,时延相对于输入transition和输出load都是单调正相关;(2)通过表头的模型名...

【专利技术属性】
技术研发人员:周舒哲刘毅陈彬董森华
申请(专利权)人:北京华大九天软件有限公司
类型:发明
国别省市:北京;11

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

1