首页 » 技术文章 » 静态时序分析(Static Timing Analysis)基础(2)

静态时序分析(Static Timing Analysis)基础(2)

作者:  时间:2009-03-06 21:55  来源:52RD手机研发

STA资料准备

在做STA之前,我们必须对其准备工作有充分的了解。STA所需的资料如图三所示,以下我们分项说明。其中Design Data部分,由于Block Model和STA软体相关性太高,我们不在此加以说明,请直接参阅您STA软体的使用手册。

 

图 三

nLibrary Data:

STA所需要的Timing Model就存放在标准元件库(Cell Library)中。这些必要的时序资讯是以Timing Arc的方式呈现在标准元件库中。Timing Arc定义逻辑闸任两个端点之间的时序关系,其种类有Combinational Timing Arc、Setup Timing Arc、Hold Timing Arc、Edge Timing Arc、Preset and Clear Timing Arc、Recovery Timing Arc、Removal Timing Arc、Three State Enable & Disable Timing Arc、Width Timing Arc。其中第1、4、5、8项定义时序延迟,其他各项则是定义时序检查。

 

图 四

Combinational Timing Arc是最基本的Timing Arc。Timing Arc如果不特别宣告的话,就是属于此类。如图四所示,他定义了从特定输入到特定输出(A到Z)的延迟时间。Combinational Timing Arc的Sense有三种,分别是inverting(或 negative unate),non-inverting(或 positive unate)以及non-unate。当Timing Arc相关之特定输出(图四Z)讯号变化方向和特定输入(图四A)讯号变化方向相反(如输入由0变1,输出由1变0),则此Timing Arc为inverting sense。反之,输出输入讯号变化方向一致的话,则此Timing Arc为non-inverting sense。当特定输出无法由特定输入单独决定时,此Timing Arc为non-unate。

 

图 五

 

图 六

 

图 七

 

图 八

 

图 九

 

图 十

 

图 十一

 

图 十二

其他的Timing Arc说明如下。

Setup Timing Arc:定义序向元件(Sequential Cell,如Flip-Flop、Latch等)所需的Setup Time,依据Clock上升或下降分为2类(图五)。 Hold Timing Arc:定义序向元件所需的Hold Time,依据Clock上升或下降分为2类(图六)。 Edge Timing Arc:定义序向元件Clock Active Edge到资料输出的延迟时间,依据Clock上升或下降分为2类(图七)。 Preset and Clear Timing Arc:定义序向元件清除讯号(Preset或Clear)发生后,资料被清除的速度,依据清除讯号上升或下降及是Preset或Clear分为4类(图八)。这个Timing Arc通常会被取消掉,因为它会造成讯号路径产生回路,这对STA而言是不允许的。 Recovery Timing Arc:定义序向元件Clock Active Edge之前,清除讯号不准启动的时间,依据Clock上升或下降分为2类(图九)。  Removal Timing Arc:定义序向元件Clock Active Edge之后,清除讯号不准启动的时间,依据Clock上升或下降分为2类(图十)。 Three State Enable & Disable Timing Arc:定义Tri-State元件致能讯号(Enable)到输出的延迟时间,依据Enable或Disable分为2类。(图十一)  Width Timing Arc:定义讯号需维持稳定的最短时间,依据讯号维持在0或1的位准分为2类。(图十二)

上文列出了标准元件库内时序模型的项目,但对其量化的数据却没有加以说明。接下来,我们就来看看到底这些时序资讯的确实数值是如何定义在标准元件库中的。

以Combinational Timing Arc为例,讯号从输入到输出的延迟时间可以描述成以输入的转换时间(Transition Time)和输出的负载为变数的函数。描述的方式可以是线性的方式,如图十三所示。也可以将这2个变数当成指标,建立时序表格(Timing Table),让STA软体可以查询出正确的延迟时间。这种以表格描述的方式会比上述线性描述的方式准确许多,因此现今市面上大部分的标准元件库皆采用产生时序表格的方式来建立Timing Model。

 

图 十三

我们举个简单的例子来说明STA软体如何从时序表格计算出元件延迟时间。(图十四)

 

图十四

      元件延迟时间(Ddelay):输入达逻辑1位准50%到输出达逻辑1位准50%的时间。       元件转换时间(Dtransition):输出达逻辑1位准20%(80%)到80%(20%)的时间。

 

当输入的转换时间为0.5,输出负载为0.2时,可由图十四的时序表格查得元件I2的延迟时间为0.432。而由于表格的大小有限,对于无法直接由表格查询到的延迟时间(如输入转换时间0.25,输出负载0.15),STA软体会利用线性内插或外插的方式计算延迟时间。

对于其他的Timing Arc,不管是时序延迟或时序检查,其相对应的时序数值计算和上例的计算方式是一样的。

接下来我们说明操作环境(Operating Condition)对时序的影响。操作环境指的是制程(Process)、电压(Voltage)、温度(Temperature)三项因子。这三项因子通常会被简称为PVT,其对时序的影响可用下方线性方程式来描述。其中nom_process、nom_voltage及nom_temperature会定义在标准元件库中,代表建立时序表格时的操作环境。

 

 

 

相关推荐

静态时序分析(Static Timing Analysis)基础(5)

SOC  STA  2009-03-30

静态时序分析(Static Timing Analysis)基础(4)

静态时序  分析验证  STA  2009-03-24

静态时序分析(Static Timing Analysis)基础(3)

STA  2009-03-06

静态时序分析(Static Timing Analysis)基础(2)

STA  2009-03-06

静态时序分析(Static Timing Analysis)基础(4)

STA  2009-01-07

静态时序分析(Static Timing Analysis)基础(3)

STA  Clock  Path  2008-11-17
在线研讨会
焦点