
静态时序分析基础与应用.docx
20页静态时序分析Static Timing Analysis基础与应用,、二、•前言在制程进入深次微米世代之后,晶片(IC)设计的高复杂度及系统单晶片 (SOC)设计方式兴起此一趋势使得如何确保IC品质成为今日所有设计从业人 员不得不面临之重大课题静态时序分析(Static Timing Analysis简称STA) 经由完整的分析方式判断IC是否能够在使用者的时序环境下正常工作,对确保 IC品质之课题,提供一个不错的解决方案然而,对于许多IC设计者而言,ST A是个既熟悉却又陌生的名词本文将力求以简单叙述及图例说明的方式,对S TA的基础概念及其在IC设计流程中的应用做详尽的介绍什么是STA?STA的简单定义如下:套用特定的时序模型(Timing Model),针对特定 电路分析其是否违反设计者给定的时序限制(Timing Constraint)以分析的 方式区分,可分为Path-Based及Block-Based两种0 L#先来看看Path-Based这种分析方式如图一所示,讯号从A点及B点输入, 经由4个逻辑闸组成的电路到达输出Y点套用的Timing Model标示在各逻辑 闸上,对于所有输入端到输出端都可以找到相对应的延迟时疽6 褂谜吒。
胴 iming Constraint 为:1. 讯号A到达电路输入端的时间点为2 (AT=2,AT为Arrival Time)2. 讯号B到达电路输入端的时间点为5 (AT=5)3. 讯号必须在时间点10之前到达输出端Y (RT=10,RT为Required Time)现在我们针对P1及P2两条路径(Path)来做分析P1的起始点为A,讯 号到达时间点为2经过第1个逻辑闸之后,由于此闸有2单位的延迟时间,所 以讯号到达此闸输出的时间点为4 (2+2)依此类推,讯号经由P1到达输出Y 的时间点为7 (2+2+3)在和上述第三项Timing Constraint比对之后,我们 可以得知对P1这个路径而言,时序(Timing)是满足使用者要求的按照同样的方式可以得到讯号经由路径B到达输出Y的时间点为11 (5+1+3 +2),照样和上述第三项Timing Constraint比对,我们可以得知对P2这个路 径而言,Timing是不满足使用者要求的对图一的设计而言,总共有6个讯号路径对于采用Path-Based分析方式 的STA软体来说,它会对这6个讯号路径作逐一的分析,然后记录下结果IC 设计者藉由检视其分析报告的方式来判断所设计的电路是否符合给定的Timing Constrainto由于最常用来做静态时序分析验证核可(STA Signoff)的EDA 软体PrimeTime?采用Path-Based的分析方式,所以本文将以Path-Based的分 析方式介绍为主。
再来看看Block-Based的分析方式此时时序资讯(Timing Information) 的储存不再是以路径为单位,而是以电路节点(Node)为单位由Timing Cons traint我们仅能得知A节点的AT为2, B节点的AT为5以及Y节点的RT为10 Block-Based的分析方式会找出每个节点的AT和RT,然后比对这两个数值当 RT的值大于AT时表示讯号比Timing Constrain中要求的时间还早到达,如此 则Timing是满足的,反之则不满足S--STA资料准备在做STA之前,我们必须对其准备工作有充分的了解STA所需的资料如图三所示,以下我 们分项说明其中Design Data部分,由于Block Model和STA软体相关性太高,我们不在 此加以说明,请直接参阅您STA软体的使用手册Library Data:STA所需要的Timing Model就存放在标准元件库(Cell Library)中这些必 要的时序资讯是以Timing Arc的方式呈现在标准元件库中Timing Arc定义逻 辑闸任两个端点之间的时序关系,其种类有Combinational Timing Arc、SetupTiming Arc、 Hold Timing Arc、 Edge Timing Arc、 Preset and Clear Timin g Arc、 Recovery Timing Arc、 Removal Timing Arc、 Three State Enable & Disable Timing Arc、Width Timing Arc。
其中第 1、4、5、8 项定义时序延迟, 其他各项则是定义时序检查图四Combinational Timing Arc 是最基本的 Timing ArcTiming Arc 如果不特别宣 告的话,就是属于此类如图四所示,他定义了从特定输入到特定输出A到Z) 的延迟时间Combinational Timing Arc 的 Sense 有三种,分别是 inverting (或 negative unate),non-inverting(或 positive unat以及 non-unat e当Timing Arc相关之特定输出(图四Z)讯号变化方向和特定输入(图四A) 讯号变化方向相反(如输入由0变1,输出由1变0),则此Timing Arc为inv erting sense反之,输出输入讯号变化方向一致的话,则此Timing Arc为no n-inverting sense当特定输出无法由特定输入单独决定时,此Timing Arc 为 non-unate图五图六图十二 其他的Timing Arc说明如下• Setup Timing Arc:定义序向元件(Sequential Cell, 如 Flip-F lop、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)发生后,资料被清除的速度,依据清除讯号上升或下降及是P reset或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 Modeloutput capacitance load (pf)Td : cell pin to pin Intrinsic delay (delay without any loading)Ac: drive impedance图十三我们举个简单的例子来说明STA软体如何从时序表格计算出元件延迟时间。
图 十四)OutputCapacitanceInput Transition0 0.50.123 0.234 0.^500.222 0.432 0.801wv图十四• 元件延迟时间(Ddelay):输入达逻辑1位准50%到输出达 逻辑1位准50%的时间• 元件转换时间(Dtransition):输出达逻辑1位准20%(80%) 到80%(20%)的时间顷⑵== /(0 5,0.2)= 0.432n =昌(£\腼心的度1),可)当输入的转换时间为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 会定义在标准元件库 中,代表建立时序表格时的操作环境n荥=囱1+a户5+y『)(i+&心= Prqcqss - nam_process Ay = Voltage - nom _ voltageAr = Temperature - nam _ temperatureInterconnect Data:在「什么是STA」段落的例子中,为了方便说明,我们并没有把逻辑闸和逻 辑闸间的连线延迟(Interconnect Delay)考虑在内事实上,许多DSM IC设 计之时序表现是由连线延迟主导的,其重要性不容我们忽视连线延迟依照布局与绕线(P&R)前后有不同的考量在布局与绕线前,元 件在晶片中摆放的位置尚未确定,所以连线延迟是一个预估值而在布局与绕线 之后,连线延迟则是根据实际绕线计算出来的对布局与绕线之前的连线延迟, 通常是用Wireload Model来预估Wireload Model根据晶片面积的预估大小及 连线驱动元件数目(Fan-out)的多寡来决定连线的电阻和电容值,STA软体则 利用这些电阻电容值计算出连线延迟。
在布局与绕线之后,可以利用电阻电容萃 取(RC Extraction)软体将绕线图形转换成实际的电阻电容电路,然后贴回© ack-annotate)STA软体计算连线延迟Timing Constraints:Timing Constraint为使用者所给定,用来检验设计电路时序的准则其中 最重要的一项就是时脉(Clock)的描述对于一个同步电路而言,暂存器和暂 存器之间的路径延迟时间必须小于一个Clock周期(Period),也就是说,当我 们确认了 Clock规格,所有暂存器间的路径的Timing Constraint就。












