非同步硬核的伪同步时序建模方法技术

技术编号:2864824 阅读:380 留言:1更新日期:2012-04-11 18:40
本发明专利技术公开了一种非同步硬核的伪同步时序建模方法,目的是解决当硬核的输入输出端口过多而引起组合爆炸,造成建模工作量巨大的问题。技术方案是在建立非同步硬核的时序视图时引入时钟变量,建模时设置一个虚拟时钟,把输入与输出的全相关的延时信息转化为所有的输入信号相对于虚拟时钟的建立时间和输出信号相对于虚拟时钟的输出延时,这样只需要建立m个输入信号相对于时钟上升沿的建立时间和n个输出信号相对于时钟上升沿的延迟时间的二维表格就可以了,仅仅需要m+n个二维表格,与传统的时序建模需要建立2×m×n个表格相比,工作量大大减少。

【技术实现步骤摘要】

本专利技术涉及大规模集成电路设计中全定制模块的时序建模方法,尤其是非同步IP(知识产权Intellectual Property)硬核(Hard Macro)的时序建模方法。
技术介绍
当前的大规模集成电路设计常常采用标准单元和全定制相结合的设计方法。为提高设计性能,通常要对影响时序的关键模块如寄存器文件、数据通路等进行全定制设计,形成硬核,再集成到系统设计中。为了在系统设计中使用硬核,就必须为该硬核建立完整准确的时序视图。另一方面,随着设计规模的不断增大,集成电路设计已进入片上系统(System-on-a-chip,简称SOC)时代,设计越来越多地依赖于知识产权模块(即IP核),而IP核的设计不可避免地要解决时序视图的生成问题。非同步硬核是一种特殊的硬核,它的输入和输出信号中没有时钟信号,且输入和输出信号的延迟大小和驱动能力与时钟信号无关。通常的非同步硬核的时序建模总是将每个输出信号和所有的输入信号全相关建模,即每个输出信号的上升和下降延时与所有的输入信号都有关系。假设硬核有m个输出,n个输入,则时序建模需要建立m×n×2的二维表格。当输入和输出信号很少时,这种方法还比较可行,工作量不是很大。一个二与非门的时序视图4个表格。但是,对于寄存器文件类的全定制模块,由于输入输出端口数量过多,容易造成组合爆炸,从而建模工作量巨大,建模成本高,效率低。
技术实现思路
本专利技术要解决的技术问题是建立非同步硬核时序视图时,当硬核的输入输出端口过多而引起组合爆炸,造成建模工作量巨大的问题。本专利技术提出一种快捷的建模方法,减少建立非同步硬核视图的复杂度,缩短硬核的设计周期。本专利技术可在精度允许的情况下大大减少建立时序视图的工作量。本专利技术是对非同步硬核采用一种伪同步的时序建模方法,在建立非同步硬核的时序视图时引入时钟变量。建模时设置一个虚拟时钟,把输入与输出的全相关的延时信息转化为所有的输入信号相对于虚拟时钟的建立时间和输出信号相对于虚拟时钟的输出延时,这样只需要建立m个输入信号相对于时钟上升沿的建立时间和n个输出信号相对于时钟上升沿的延迟时间的二维表格就可以了,仅仅需要m+n个二维表格,与传统的时序建模需要建立2×m×n个表格相比,工作量大大减少。本专利技术是这样实现的1.假设从非同步硬核的输出到下一栈寄存器之间的逻辑单元所需的时间为t1,且假定时钟周期为T,要建立硬核的一个输入信号A的时序视图,通过模拟(采用Spice或者Star-Sim等模拟软件)找到因输入信号A的变化引起输出信号变化的最大延迟时间。假设通过模拟发现,从输入信号A到所有的输出信号延迟路径中,输入A到输出B的延时最大,且值为tAB,则建立时序视图时将输入信号A相对于时钟上升沿的建立时间设置为tAB+t1。2.建立输出信号的时序视图,假设从输出信号B到下一栈寄存器输入之间的逻辑电路需要延迟为t1,那么在建立输出信号B的时序视图时只需将B相对于时钟上升沿的输出延时设置成T-t1就行了,这样就把t1的时间留给后面的逻辑单元了。3.为了合理的分配时序约束,让全定制非同步硬核前的逻辑电路延时t0和硬核后的逻辑电路延时t1分配合理,要根据布局布线后的情况来适当修改视图,如果布线后经分析发现为硬核前面逻辑留出的时间t0较小,而为硬核后面逻辑留出的时间t1比较宽裕,则适当减小t1的值,即相当于在时间窗口内将全定制硬核向后滑动。与此相反,如果发现预留给硬核后面逻辑的时间t1很紧张,则将t1的值适当增大,相当于在时间窗口内将全定制硬核向前滑动。通过反复迭代几次使电路的时序得到合理的分配,电路也就能优化得很好。同样也可以不使用t1作参考,而采用上一栈锁存器与硬核之间的逻辑电路延时t0为参考利用此种方法建伪同步时序视图。采用本专利技术可以取得以下技术效果采用本专利技术来建立非同步硬核时序视图时,降低了建立非同步硬核视图的复杂度,缩短了硬核的设计周期,建模快捷,可在精度允许的情况下大大减少建立时序视图的工作量,从而缩短芯片的开发周期,有效解决了当硬核的输入输出端口过多而引起组合爆炸造成建模工作量巨大的问题。附图说明图1是二与非门的传统时序视图。图2是采用本专利技术的非同步硬核在电路中的示例。图3是采用本专利技术对一个寄存器文件建立的时序视图。图4是传统方法和采用本专利技术进行时序建模的工作量比较图。具体实施例方式图1是传统方法建立的一个二与非门的时序视图,建立的方法是通过模拟将输入X影响输出Z的上升、下降两种情况各建一个表格,输入Y影响输出Z的上升、下降两种情况各建一个表格,如图1所示,共建立4个二维表格,因输入输出端口数目比较少,所以工作量不是很大。图2是采用本专利技术的非同步硬核在电路中的示例,建立伪同步时序视图的关键是合理分配同一时钟节拍内非时序硬核前后组合逻辑的延时t0和t1。如图所示,中间的方框为全定制设计的非同步硬核,从硬核的输出到下一栈寄存器之间的逻辑单元所需的时间为t1,时钟周期为T,建立硬核的一个输入信号A的时序视图方法是,通过模拟(采用Spice或者StarSim等模拟软件)找到因输入信号A的变化引起输出信号变化的最大延迟时间。假设通过模拟发现,从输入信号A到所有的输出信号延迟路径中,A到B的延时最大,且值为tAB,则建立时序视图时只需将输入信号A相对于时钟上升沿的建立时间设置为tAB+t1就行了。建立输出信号的时序视图方法是,假设从输出信号B到下一栈寄存器输入之间的逻辑电路需要延迟为t1,那么在建立输出信号B的时序视图时只需将B相对于时钟上升沿的输出延时设置成T-t1就行了,这样就把t1的时间留给后面的逻辑单元了。因此通过分析布线后的时序来调整t1的大小,使非时序硬核在时间窗口内前后滑动,从而获得合理的延时分配。图3是利用本专利技术建立的一个10读6写的异步寄存器文件的部分时序视图。假设把每个读端口的使能和地址信号看成一组总线,每个写端口的使能、地址和数据看成一组总线,每个读端口的数据输出看成一组信号,则此异步寄存器硬核有16个输入和10个输出,如果采用的传统时序视图建立方法需要建16×10×2=320个二维表格,工作量巨大,如果采用伪同步时序建模方法,如图3所示,只需要16+10=26个二维表格。假设时钟周期为6ns,留给寄存器硬核后面的组合逻辑时间为1.59ns,经过模拟分析出在输入跳变(transition)为0.07ns,输出负载0.07pF情况下,从输入总线R0_Addr变化到输出数据有效的最大延时为0.9812ns,所以R0_Addr相对于时钟上升沿的建立时间为0.9812+1.59=2.5712ns。因此,图3中第一个表格中左上角数值为2.5712。同样,因为留给寄存器硬核后面的组合逻辑时间为1.59ns,所以寄存器硬核的数据输出相对于时钟上升沿延迟为T-t1=6-1.59=4.4100ns。因此,图3中R0_Data表格的第一个延迟数据为4.4100。图4是采用传统方法和伪同步方法进行时序建模的工作量比较图。图中比较的是硬核的输入和输出信号数的总和为10情况下,采用传统方法和本专利技术建立时序视图的工作量。横坐标是输入信号的数目,纵坐标是采用两种方法建立视图需要的二维表格的数目。因为本专利技术要建立二维表格的数目等于输入和输出个数的和,所以如图所示,本专利技术需要建10个表格,本文档来自技高网...

【技术保护点】
一种非同步硬核的伪同步时序建模方法,其特征在于在建立非同步硬核的时序视图时引入时钟变量,即建模时设置一个虚拟时钟,把输入与输出的全相关的延时信息转化为所有的输入信号相对于虚拟时钟的建立时间和输出信号相对于虚拟时钟的输出延时,建立m个输入信号相对于时钟上升沿的建立时间和n个输出信号相对于时钟上升沿的延迟时间的二维表格;具体实现过程是:1.1假设从非同步硬核的输出到下一栈寄存器之间的逻辑单元所需的时间为t1,且假定时钟周期为T,要建立硬核的一个输入信号A的时序视图,利 用模拟软件进行模拟找到因输入信号A的变化引起输出信号变化的最大延迟时间,假设通过模拟发现,从输入信号A到所有的输出信号延迟路径中,输入A到输出B的延时最大,且值为tAB,则建立时序视图时将输入信号A相对于时钟上升沿的建立时间设置为tAB+t1;1.2建立输出信号的时序视图,假设从输出信号B到下一栈寄存器输入之间的逻辑电路需要延迟为t1,则在建立输出信号B的时序视图时将B相对于时钟上升沿的输出延时设置成T-t1,这样就把t1的时间留给后面的逻辑单元了;1.3 为了合理的分配时序约束,让全定制非同步硬核前的逻辑电路延时t0和硬核后的逻辑电路延时t1分配合理,要根据布局布线后的情况来适当修改视图,如果布线后经分析发现为硬核前面逻辑留出的时间t0较小,而为硬核后面逻辑留出的时间t1比较宽裕,则适当 减小t1的值,即相当于在时间窗口内将全定制硬核向后滑动;与此相反,如果发现预留给硬核后面逻辑的时间t1很紧张,则将t1的值适当增大,相当于在时间窗口内将全定制硬核向前滑动;通过反复迭代几次使电路的时序得到合理的分配,电路也就能优化得很好;同样也可以不使用t1作参考,而采用上一栈锁存器与硬核之间的逻辑电路延时t0为参考利用此种方法建伪同步时序视图。...

【技术特征摘要】
1.一种非同步硬核的伪同步时序建模方法,其特征在于在建立非同步硬核的时序视图时引入时钟变量,即建模时设置一个虚拟时钟,把输入与输出的全相关的延时信息转化为所有的输入信号相对于虚拟时钟的建立时间和输出信号相对于虚拟时钟的输出延时,建立m个输入信号相对于时钟上升沿的建立时间和n个输出信号相对于时钟上升沿的延迟时间的二维表格;具体实现过程是1.1假设从非同步硬核的输出到下一栈寄存器之间的逻辑单元所需的时间为t1,且假定时钟周期为T,要建立硬核的一个输入信号A的时序视图,利用模拟软件进行模拟找到因输入信号A的变化引起输出信号变化的最大延迟时间,假设通过模拟发现,从输入信号A到所有的输出信号延迟路径中,输入A到输出B的延时最大,且值为tAB,则建立时序视图时将输入信号A相对于时钟上升沿的建立时间设置为tAB+t1;1.2建立输出信号的时序视图,假设从输出信...

【专利技术属性】
技术研发人员:马鹏勇李振涛陈书明孙庆徐慧郭阳刘祥远扈啸
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43[中国|湖南]

网友询问留言 已有1条评论
  • 来自[北京市电信互联网数据中心] 2014年12月10日 16:02
    释义寻常平常形容人或事物很突出不同于一般
    0
1