版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
...wd......wd......wd...静态时序分析StaticTimingAnalysis根基与应用前言
在制程进入深次微米世代之后,晶片〔IC〕设计的高复杂度及系统单晶片〔SOC〕设计方式兴起。此一趋势使得如何确保IC品质成为今日所有设计从业人员不得不面临之重大课题。静态时序分析〔StaticTimingAnalysis简称STA〕经由完整的分析方式判断IC是否能够在使用者的时序环境下正常工作,对确保IC品质之课题,提供一个不错的解决方案。然而,对于许多IC设计者而言,STA是个既熟悉却又陌生的名词。本文将力求以简单表达及图例说明的方式,对STA的根基概念及其在IC设计流程中的应用做详尽的介绍。什么是STA
STA的简单定义如下:套用特定的时序模型〔TimingModel〕,针对特定电路分析其是否违反设计者给定的时序限制〔TimingConstraint〕。以分析的方式区分,可分为Path-Based及Block-Based两种。
先来看看Path-Based这种分析方式。如图一所示,讯号从A点及B点输入,经由4个逻辑闸组成的电路到达输出Y点。套用的TimingModel标示在各逻辑闸上,对于所有输入端到输出端都可以找到相对应的延迟时洹6褂谜吒ǖ腡imingConstraint为:讯号A到达电路输入端的时间点为2〔AT=2,AT为ArrivalTime〕。讯号B到达电路输入端的时间点为5〔AT=5〕。讯号必须在时间点10之前到达输出端Y〔RT=10,RT为RequiredTime〕。
现在我们针对P1及P2两条路径〔Path〕来做分析。P1的起始点为A,讯号到达时间点为2。经过第1个逻辑闸之后,由于此闸有2单位的延迟时间,所以讯号到达此闸输出的时间点为4〔2+2〕。依此类推,讯号经由P1到达输出Y的时间点为7〔2+2+3〕。在和上述第三项TimingConstraint比对之后,我们可以得知对P1这个路径而言,时序〔Timing〕是满足使用者要求的。
按照同样的方式可以得到讯号经由路径B到达输出Y的时间点为11〔5+1+3+2〕,照样和上述第三项TimingConstraint比对,我们可以得知对P2这个路径而言,Timing是不满足使用者要求的。
对图一的设计而言,总共有6个讯号路径。对于采用Path-Based分析方式的STA软体来说,它会对这6个讯号路径作逐一的分析,然后记录下结果。IC设计者藉由检视其分析报告的方式来判断所设计的电路是否符合给定的TimingConstraint。由于最常用来做静态时序分析验证核可〔STASignoff〕的EDA软体PrimeTime?采用Path-Based的分析方式,所以本文将以Path-Based的分析方式介绍为主。
再来看看Block-Based的分析方式。此时时序资讯〔TimingInformation〕的储存不再是以路径为单位,而是以电路节点〔Node〕为单位。由TimingConstraint我们仅能得知A节点的AT为2,B节点的AT为5以及Y节点的RT为10。Block-Based的分析方式会找出每个节点的AT和RT,然后比对这两个数值。当RT的值大于AT时表示讯号比TimingConstrain中要求的时间还早到达,如此则Timing是满足的,反之则不满足。
STA资料准备在做STA之前,我们必须对其准备工作有充分的了解。STA所需的资料如图三所示,以下我们分项说明。其中DesignData局部,由于BlockModel和STA软体相关性太高,我们不在此加以说明,请直接参阅您STA软体的使用手册。
图三LibraryData:STA所需要的TimingModel就存放在标准元件库〔CellLibrary〕中。这些必要的时序资讯是以TimingArc的方式呈现在标准元件库中。TimingArc定义逻辑闸任两个端点之间的时序关系,其种类有CombinationalTimingArc、SetupTimingArc、HoldTimingArc、EdgeTimingArc、PresetandClearTimingArc、RecoveryTimingArc、RemovalTimingArc、ThreeStateEnable&DisableTimingArc、WidthTimingArc。其中第1、4、5、8项定义时序延迟,其他各项则是定义时序检查。
图四CombinationalTimingArc是最根本的TimingArc。TimingArc如果不特别宣告的话,就是属于此类。如图四所示,他定义了从特定输入到特定输出〔A到Z〕的延迟时间。CombinationalTimingArc的Sense有三种,分别是inverting〔或negativeunate〕,non-inverting〔或positiveunate〕以及non-unate。当TimingArc相关之特定输出〔图四Z〕讯号变化方向和特定输入〔图四A〕讯号变化方向相反〔如输入由0变1,输出由1变0〕,则此TimingArc为invertingsense。反之,输出输入讯号变化方向一致的话,则此TimingArc为non-invertingsense。当特定输出无法由特定输入单独决定时,此TimingArc为non-unate。
图五
图六
图七
图八
图九
图十
图十一
图十二其他的TimingArc说明如下。
SetupTimingArc:定义序向元件〔SequentialCell,如Flip-Flop、Latch等〕所需的SetupTime,依据Clock上升或下降分为2类〔图五〕。
HoldTimingArc:定义序向元件所需的HoldTime,依据Clock上升或下降分为2类〔图六〕。
EdgeTimingArc:定义序向元件ClockActiveEdge到资料输出的延迟时间,依据Clock上升或下降分为2类〔图七〕。
PresetandClearTimingArc:定义序向元件去除讯号〔Preset或Clear〕发生后,资料被去除的速度,依据去除讯号上升或下降及是Preset或Clear分为4类〔图八〕。这个TimingArc通常会被取消掉,因为它会造成讯号路径产生回路,这对STA而言是不允许的。
RecoveryTimingArc:定义序向元件ClockActiveEdge之前,去除讯号不准启动的时间,依据Clock上升或下降分为2类〔图九〕。
RemovalTimingArc:定义序向元件ClockActiveEdge之后,去除讯号不准启动的时间,依据Clock上升或下降分为2类〔图十〕。
ThreeStateEnable&DisableTimingArc:定义Tri-State元件致能讯号〔Enable〕到输出的延迟时间,依据Enable或Disable分为2类。〔图十一〕
WidthTimingArc:定义讯号需维持稳定的最短时间,依据讯号维持在0或1的位准分为2类。〔图十二〕上文列出了标准元件库内时序模型的工程,但对其量化的数据却没有加以说明。接下来,我们就来看看到底这些时序资讯确实实数值是如何定义在标准元件库中的。
以CombinationalTimingArc为例,讯号从输入到输出的延迟时间可以描述成以输入的转换时间〔TransitionTime〕和输出的负载为变数的函数。描述的方式可以是线性的方式,如图十三所示。也可以将这2个变数当成指标,建设时序表格〔TimingTable〕,让STA软体可以查询出正确的延迟时间。这种以表格描述的方式会比上述线性描述的方式准确许多,因此现今市面上大局部的标准元件库皆采用产生时序表格的方式来建设TimingModel。
图十三我们举个简单的例子来说明STA软体如何从时序表格计算出元件延迟时间。〔图十四〕
图十四
元件延迟时间〔Ddelay〕:输入达逻辑1位准50%到输出达逻辑1位准50%的时间。
元件转换时间〔Dtransition〕:输出达逻辑1位准20%〔80%〕到80%〔20%〕的时间。
当输入的转换时间为0.5,输出负载为0.2时,可由图十四的时序表格查得元件I2的延迟时间为0.432。而由于表格的大小有限,对于无法直接由表格查询到的延迟时间〔如输入转换时间0.25,输出负载0.15〕,STA软体会利用线性内插或外插的方式计算延迟时间。
对于其他的TimingArc,不管是时序延迟或时序检查,其相对应的时序数值计算和上例的计算方式是一样的。
接下来我们说明操作环境〔OperatingCondition〕对时序的影响。操作环境指的是制程〔Process〕、电压〔Voltage〕、温度〔Temperature〕三项因子。这三项因子通常会被简称为PVT,其对时序的影响可用下方线性方程式来描述。其中nom_process、nom_voltage及nom_temperature会定义在标准元件库中,代表建设时序表格时的操作环境。
InterconnectData:
在「什么是STA」段落的例子中,为了方便说明,我们并没有把逻辑闸和逻辑闸间的连线延迟〔InterconnectDelay〕考虑在内。事实上,许多DSMIC设计之时序表现是由连线延迟主导的,其重要性不容我们无视。
连线延迟依照布局与绕线〔P&R〕前后有不同的考量。在布局与绕线前,元件在晶片中摆放的位置尚未确定,所以连线延迟是一个预估值。而在布局与绕线之后,连线延迟则是根据实际绕线计算出来的。对布局与绕线之前的连线延迟,通常是用WireloadModel来预估。WireloadModel根据晶片面积的预估大小及连线驱动元件数目〔Fan-out〕的多寡来决定连线的电阻和电容值,STA软体则利用这些电阻电容值计算出连线延迟。在布局与绕线之后,可以利用电阻电容萃取〔RCExtraction〕软体将绕线图形转换成实际的电阻电容电路,然后贴回〔Back-annotate〕STA软体计算连线延迟。TimingConstraints:
TimingConstraint为使用者所给定,用来检验设计电路时序的准则。其中最重要的一项就是时脉〔Clock〕的描述。对于一个同步电路而言,暂存器和暂存器之间的路径延迟时间必须小于一个Clock周期〔Period〕,也就是说,当我们确认了Clock规格,所有暂存器间的路径的TimingConstraint就会自动给定了。
图十五Clock规格包含波形、Latency及Uncertainty的定义。波形定义一个Clock的周期及讯号上升缘及下降缘的时间点。Latency定义从Clock来源到序向元件Clock输入端的延迟时间。Uncertainty则定义Clock讯号到序向元件Clock输入端可能早到或晚到的时间。如果上面的文字让你有不知所云的感觉,那底下看图说故事的讲解也许会让你有比拟清晰的概念。在图十五的电路中,左边的正反器〔Flip-Flop〕在第一个Clock上升缘时会丢出资料,此资料会在第二个Clock上升缘让右边的Flip-Flop撷取。要分析右边的Flip-Flop能否正确撷取资料就必须知道第一个Clock上升缘到达节点C1的时间点和第二个上升缘到达节点C2的时间点。假设在时间点为0的时候,Clock讯号由S点出发,经过一段时间〔sourcelatency,1个时间单位,模拟晶片外的Clock延迟时间,例如板子上的绕线产生的讯号延迟时间〕到达电路的Clock输入端点P,接下来再经过一段时间〔晶片内Clock绕线造成的讯号延迟时间〕,Clock讯号分别到达C1和C2节点。如果电路已经进展布局与绕线,输入端点P到C1和C2的讯号延迟时间可由连线上的寄生电阻电容计算得来。比方说,经过计算发现讯号由P传递到C1需要1个时间单位,由P传递到C2需2个时间单位,则Clock讯号第一个上升缘到达C1和第二个上升缘到达C2的时间点就会如图十六下方两列所示,分别为时间点2和13〔因为加上了1个时间单位的sourcelatency〕。
图十六在布局与绕线之前,我们无法准确得知P到C1和C2的讯号延迟时间,仅能先做个预估。图十五的networklatency及上文提到的Uncertainty就是用来做此种预估的。先假设我们拥有某种完美的布局与绕线软体可以让Clock输入端点P到所有Flip-Flop的Clock输入端的讯号延迟时间一模一样,那么我们只要知道这个讯号延迟时间就可以得到Clock讯号到达C1和C2的时间点了。这个讯号延迟时间可以藉由电路特性〔如预估面积大小,Flip-Flop数目等〕来做预估,而这个预估值就是所谓的networklatency。如果这种完美的软体存在的话,那Clock的上升缘到达C1和C2的时间点就可以由Latency〔sourcelatency+networklatency〕计算出来。很不幸的,世界上没有这么完美的软体,在布局与绕线后Clock输入端点P到所有Flip-Flop的Clock输入端的讯号延迟时间不会完全一样。也就是说Clock的某个上升缘不会同时到达C1和C2。因此我们要对上述的预估值做些修正,参加Uncertainty的描述来定义Clock上升缘左右移动的可能范围。在图十六中,Uncertainty为1个时间单位,所以Clock第一个上升缘会在时间点3〔因为Latency为3〕左右1时间单位范围内〔也就是时间点2到时间点4〕到达C1,。第二个上升缘则会在时间点12到14的范围内到达C2。除了Clock之外,对于电路其他输出输入端点及其周边的环境〔BoundaryCondition〕也要加以描述。在说明BoundaryCondition之前,我们得对路径〔Path〕有更进一步的了解。上文曾提及STA会将电路中所有的Path找出来加以分析,但Path的定义是什么呢Path根据起点及终点可以分为4种:由Flip-FlopClock输入到Flip-Flop资料输入〔图十七左上〕。由主要输入〔PrimaryInput,简称PI〕到Flip-Flop资料输入〔图十七右上〕。由Flip-FlopClock输入到主要输出〔PrimaryOutput,简称PO〕〔图十七左下〕。
由主要输入到主要输出〔图十七右下〕。当Clock规格确定了之后,第1种Path的时序限制〔TimingConstraint〕就自动的给定了。为了给定其他3种Path的时序限制,我们必须定义BoundaryCondition。
一般来说,我们会定义以下的BoundaryCondition:DrivingCell:定义输入端点的推动能力〔图十八〕。InputTransitionTime:定义输入端点的转换时间〔图十八〕。OutputCapacitanceLoad:定义输出负载〔图十八〕。InputDelay:输入端点相对于某个Clock领域的延迟时间。〔图十九,Delayclk-Q+a〕OutputDelay:自输出端点往外看相对于某个Clock领域的延迟时间。〔图十九,c〕在这些BoundaryCondition定义之后,上述4种Path事实上都可看成是第1种Path〔Flip-Flop到Flip-Flop〕。也就是说,加上BoundaryCondition后,只要Clock给定,所有Path的TimingConstraint就会自动给定。。
图十八
图十九由于每个Path都有TimingConstraint,所以时序分析都能够进展。但在某些情况下,有些Path的分析可能没有意义,因此你会想忽略这些Path的分析。或是有些Path分析的方式不一样,你会想指定这些Path的分析方式。此时就要设定一些TimingException,如FalsePath和Multi-cyclePath等等来处理非一般性的时序分析。STA流程及分析方式STA的流程如图二十所示,而其分析验证的工程就是我们前文提及之时序检查相关的TimingArc,如SetupTime、HoldTime等等。以下我们针对SetupTime举1实际范例来说明STA的分析方式。
图二十
SetupTime设计电路如图二十一所示,时序模型〔TimingModel〕及时序限制〔TimingConstraint〕如下:
图二十一
所有逻辑闸在输出讯号上升时最长的延迟时间为3ns,最短为2ns。所有逻辑闸在输出讯号上升时最长的延迟时间为2ns,最短为1ns。所有连线〔Net〕最长的延迟时间为2ns,最短为1ns。所有Flip-FlopClock到Q的延迟时间为3ns。所有Flip-Flop的SetupTime为1ns〔Ts〕。所有Flip-Flop的HoldTime为1ns〔Th〕。Clock周期为14ns〔Dclkp〕。Clocksourcelatency为2ns〔Dclks〕。Clocknetworklatency为3ns〔Dclkn〕。Clockuncertainty为1ns〔Dclku〕。B及C的inputdelay皆为1ns〔Da、Db、Dc〕。Y的outputdelay为3ns〔DY〕。接下来,我们以Step-By-Step的方式说明时序分析的方式。1.
首先找出所有TimingPath,我们只列出具代表性的3条TimingPath来加以说明。
图二十二2.
假设输入A讯号由0变1,计算第1条Path终点讯号到达的时间〔ArrivalTime简称AT〕。
3.
假设输入A讯号由1变0,计算第1条Path终点AT。
图二十四4.
计算第1条Path终点的需求时间〔RequiredTime,简称RT〕。
图二十五5.
假设输入A讯号由0变1,计算第1条Path终点的Slack。Slack等于RT和AT的差值,对于SetupTime验证来说等于RT-AT,对于HoldTime验证来说等于AT-RT。在此SetupTime范例中,Slack为正,表示讯号实际到达Path终点时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育场馆外来观众管理办法
- 城市绿化苗木供应保障书
- 旅游景区设施招投标规程
- 福州市停车场紧急医疗救助
- 电子产品招投标技巧题
- 商标授权协议书范本
- 博物馆租赁合同:文物展览
- 冰球馆木地板安装协议
- 建筑拆除安全合同范本
- 环保工程招投标法定时间表
- 二年级数学上册教案 4、除法的初步认识 苏教版
- 国风漫画人物课程设计
- 2024至2030年中国硬质合金行业现状调查及前景策略分析报告
- 人教版(2024)八年级上册物理第2章《声现象》单元测试卷(含答案解析)
- 2024国家应对气候变化战略研究和国际合作中心招聘历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 2023-2024学年北京市朝阳区陈经纶中学分校八年级(上)期中数学试卷【含解析】
- 2024年高中物理 第二章 第2节 匀变速直线运动的速度与时间的关系教案 新人教版必修1
- 2023智能财税赛项-赛题样题(高职组)
- 中学历史探究教学调查问卷及分析报告
- 教科版物理八年级上册教案(全册)
- 电阻的实验报告
评论
0/150
提交评论