打印

静态时序分析(STA,Static Timing Analysis)基础与应用2

[复制链接]
4267|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
星星之火红|  楼主 | 2012-11-13 21:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
除了Clock之外,对于电路其他输出输入端点及其周边的环境(Boundary Condition)也要加以描述。在说明Boundary Condition之前,我们得对路径(Path)有更进一步的了解。上文曾提及STA会将电路中所有的Path找出来加以分析,但Path的定义是什么 呢?
Path根据起点及终点可以分为4种:
  • 由Flip-Flop Clock输入到Flip-Flop资料输入(图十七左上)。
  • 由主要输入(Primary Input,简称PI)到Flip-Flop资料输入(图十七右上)。
  • 由Flip-Flop Clock输入到主要输出(Primary Output,简称PO)(图十七左下)。
  • 由主要输入到主要输出(图十七右下)。
当Clock规格确定了之后,第1种Path的时序限制(Timing Constraint)就自动的给定了。为了给定其他3种Path的时序限制,我们必须定义Boundary Condition。

一般来说,我们会定义下列的Boundary Condition:

  • Driving Cell:定义输入端点的推动能力(图十八)。
  • Input Transition Time:定义输入端点的转换时间(图十八)。
  • Output Capacitance Load:定义输出负载(图十八)。
  • Input Delay:输入端点相对于某个Clock领域的延迟时间。(图十九,Delayclk-Q + a)
  • Output Delay:自输出端点往外看相对于某个Clock领域的延迟时间。(图十九,c)
在这些Boundary Condition定义之后,上述4种Path事实上都可看成是第1种Path(Flip-Flop到Flip-Flop)。也就是说,加上 Boundary Condition后,只要Clock给定,所有Path的Timing Constraint就会自动给定。。

图十八

相关帖子

沙发
星星之火红|  楼主 | 2012-11-13 21:09 | 只看该作者

图十九

由于每个Path都有Timing Constraint,所以时序分析都能够进行。但在某些情况下,有些Path的分析可能没有意义,因此你会想忽略这些Path的分析。或是有些Path 分析的方式不一样,你会想指定这些Path的分析方式。此时就要设定一些Timing Exception,如False Path和Multi-cycle Path等等来处理非一般性的时序分析。
STA流程及分析方式
STA的流程如图二十所示,而其分析验证的项目就是我们前文提及之时序检查相关的Timing Arc,如Setup Time、Hold Time等等。以下我们针对Setup Time举1实际范例来说明STA的分析方式。

图二十

使用特权

评论回复
板凳
星星之火红|  楼主 | 2012-11-13 21:09 | 只看该作者
  Setup Time
设计电路如图二十一所示,时序模型(Timing Model)及时序限制(Timing Constraint)如下:

图二十一

  • 所有逻辑闸在输出讯号上升时最长的延迟时间为3ns,最短为2ns。
  • 所有逻辑闸在输出讯号上升时最长的延迟时间为2ns,最短为1ns。
  • 所有连线(Net)最长的延迟时间为2ns,最短为1ns。
  • 所有Flip-Flop Clock到Q的延迟时间为3ns。
  • 所有Flip-Flop的Setup Time为1ns(Ts)。
  • 所有Flip-Flop的Hold Time为1ns(Th)。
  • Clock周期为14ns(Dclkp)。
  • Clock source latency为2ns(Dclks)。
  • Clock network latency为3ns(Dclkn)。
  • Clock uncertainty为1ns(Dclku)。
  • B及C的input delay皆为1ns(Da、Db、Dc)。
  • Y的output delay为3ns(DY)。
接下来,我们以Step-By-Step的方式说明时序分析的方式。
1.          首先找出所有Timing Path,我们只列出具代表性的3条Timing Path来加以说明。

图二十二

2.          假设输入A讯号由0变1,计算第1条Path终点讯号到达的时间(Arrival Time简称AT)。

使用特权

评论回复
地板
星星之火红|  楼主 | 2012-11-13 21:10 | 只看该作者
3.          假设输入A讯号由1变0,计算第1条Path终点AT。


图二十四

4.          计算第1条Path终点的需求时间(Required Time,简称RT)。


图二十五

使用特权

评论回复
5
星星之火红|  楼主 | 2012-11-13 21:10 | 只看该作者
5.          假设输入A讯号由0变1,计算第1条Path终点的Slack。Slack等于RT和AT的差值,对于Setup Time验证来说等于RT - AT,对于Hold Time验证来说等于AT - RT。在此Setup Time范例中,Slack为正,表示讯号实际到达Path终点时间比必须到达的时间还早,因此Timing是满足的。


图二十六

6.          假设输入A讯号由1变0,计算第1条Path终点的Slack。Slack为正,因此Timing是满足的。

综合5和6,第1条Path的Timing是符合规格的,其Slack为4ns(取较差状况)。

图二十七

7.          假设前级Flip-Flop的讯号由0变1,计算第2条Path终点的AT。


图二十八

使用特权

评论回复
6
xuehua230| | 2012-11-13 21:15 | 只看该作者
不错不错。

使用特权

评论回复
7
GoldSunMonkey| | 2012-11-13 21:34 | 只看该作者
不错很好啊。

使用特权

评论回复
8
星星之火红|  楼主 | 2012-11-14 18:34 | 只看该作者
;P谢谢大家支持。

使用特权

评论回复
9
GoldSunMonkey| | 2012-11-14 18:51 | 只看该作者
;P谢谢大家支持。
星星之火红 发表于 2012-11-14 18:34

使用特权

评论回复
10
xuehua230| | 2012-11-15 20:42 | 只看该作者
真棒~:victory:

使用特权

评论回复
11
GoldSunMonkey| | 2012-11-15 21:01 | 只看该作者
谢谢大家支持。

使用特权

评论回复
12
GoldSunMonkey| | 2012-11-24 20:48 | 只看该作者
;P

使用特权

评论回复
13
GoldSunMonkey| | 2012-11-26 20:20 | 只看该作者
顶,顶,顶......
Backkom80 发表于 2012-11-26 07:57
谢谢支持啊。哈哈,贝壳。

使用特权

评论回复
14
bd7qwmcu| | 2012-12-4 10:01 | 只看该作者
对我有帮助,谢谢

使用特权

评论回复
15
bd7qwmcu| | 2012-12-4 10:03 | 只看该作者
有的升级了,

使用特权

评论回复
16
GoldSunMonkey| | 2012-12-4 22:21 | 只看该作者
bd7qwmcu 发表于 2012-12-4 10:03
有的升级了,

什么升级了?

使用特权

评论回复
17
bd7qwmcu| | 2012-12-7 09:31 | 只看该作者
不好意思,是说我有的学习,提高水平了

使用特权

评论回复
18
jahnson066| | 2012-12-9 11:19 | 只看该作者
新手学习一下

使用特权

评论回复
19
Sophia3_3| | 2013-6-25 09:46 | 只看该作者

使用特权

评论回复
20
wangxumao520| | 2014-10-26 16:55 | 只看该作者
nice,赞

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

1782

帖子

22

粉丝