欢迎来到天天文库
浏览记录
ID:22872216
大小:534.52 KB
页数:19页
时间:2018-11-01
《静态时序分析statictiminganalysis基础与应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、前言 在制程进入深次微米世代之后,晶片(IC)设计的高复杂度及系统单晶片(SOC)设计方式兴起。此一趋势使得如何确保IC品质成为今日所有设计从业人员不得不面临之重大课题。静态时序分析(StaticTimingAnalysis简称STA)经由完整的分析方式判断IC是否能够在使用者的时序环境下正常工作,对确保IC品质之课题,提供一个不错的解决方案。然而,对于许多IC设计者而言,STA是个既熟悉却又陌生的名词。本文将力求以简单叙述及图例说明的方式,对STA的基础概念及其在IC设计流程中的应用做详尽的介绍。什么是STA? STA的简单定义如下:套
2、用特定的时序模型(TimingModel),针对特定电路分析其是否违反设计者给定的时序限制(TimingConstraint)。以分析的方式区分,可分为Path-Based及Block-Based两种。 先来看看Path-Based这种分析方式。如图一所示,讯号从A点及B点输入,经由4个逻辑闸组成的电路到达输出Y点。套用的TimingModel标示在各逻辑闸上,对于所有输入端到输出端都可以找到相对应的延迟时洹6褂谜吒ǖ腡imingConstraint为:1.讯号A到达电路输入端的时间点为2(AT=2,AT为ArrivalTime)。2.讯号
3、B到达电路输入端的时间点为5(AT=5)。3.讯号必须在时间点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到达输
4、出Y的时间点为11(5+1+3+2),照样和上述第三项TimingConstraint比对,我们可以得知对P2这个路径而言,Timing是不满足使用者要求的。 对图一的设计而言,总共有6个讯号路径。对于采用Path-Based分析方式的STA软体来说,它会对这6个讯号路径作逐一的分析,然后记录下结果。IC设计者藉由检视其分析报告的方式来判断所设计的电路是否符合给定的TimingConstraint。由于最常用来做静态时序分析验证核可(STASignoff)的EDA软体PrimeTime?采用Path-Based的分析方式,所以本文将以Path-Ba
5、sed的分析方式介绍为主。 再来看看Block-Based的分析方式。此时时序资讯(TimingInformation)的储存不再是以路径为单位,而是以电路节点(Node)为单位。由TimingConstraint我们仅能得知A节点的AT为2,B节点的AT为5以及Y节点的RT为10。Block-Based的分析方式会找出每个节点的AT和RT,然后比对这两个数值。当RT的值大于AT时表示讯号比TimingConstrain中要求的时间还早到达,如此则Timing是满足的,反之则不满足。 STA资料准备在做STA之前,我们必须对其准备工作有充分的了解。
6、STA所需的资料如图三所示,以下我们分项说明。其中DesignData部分,由于BlockModel和STA软体相关性太高,我们不在此加以说明,请直接参阅您STA软体的使用手册。 图三LibraryData:STA所需要的TimingModel就存放在标准元件库(CellLibrary)中。这些必要的时序资讯是以TimingArc的方式呈现在标准元件库中。TimingArc定义逻辑闸任两个端点之间的时序关系,其种类有CombinationalTimingArc、SetupTimingArc、HoldTimingArc、EdgeTimingArc、Pre
7、setandClearTimingArc、RecoveryTimingArc、RemovalTimingArc、ThreeStateEnable&DisableTimingArc、WidthTimingArc。其中第1、4、5、8项定义时序延迟,其他各项则是定义时序检查。 图四CombinationalTimingArc是最基本的TimingArc。TimingArc如果不特别宣告的话,就是属于此类。如图四所示,他定义了从特定输入到特定输出(A到Z)的延迟时间。CombinationalTimingArc的Sense有三种,分别是inverting(或
8、negativeunate),non-inverting(或positiveunate)以及n
此文档下载收益归作者所有