没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
静态时序分析(Static Timing Analysis)基础与应用(上)
← 字体大小: 小 中 大 作者:陳麒旭 来源: 日期:2007-03-23 点击:1743
前言
在制程进入深次微米世代之后,晶片(IC)设计的高复杂度及系统单晶片(SOC)设计方式兴起。此
一趋势使得如何确保 IC 品质成为今日所有设计从业人员不得不面临之重大课题。静态时序分析(Static
Timing Analysis 简称 STA)经由完整的分析方式判断 IC 是否能够在使用者的时序环境下正常工作,对确
保 IC 品质之课题,提供一个不错的解决方案。然而,对于许多 IC 设计者而言,STA 是个既熟悉却又陌生
的名词。本文将力求以简单叙述及图例说明的方式,对 STA 的基础概念及其在 IC 设计流程中的应用做详
尽的介绍。
什么是 STA?
STA 的简单定义如下:套用特定的时序模型(Timing Model),针对特定电路分析其是否违反设计者
给定的时序限制(Timing Constraint)。以分析的方式区分,可分为 Path-Based 及 Block-Based 两种。
先来看看 Path-Based 这种分析方式。如图一所示,讯号从 A 点及 B 点输入,经由 4 个逻辑闸组成的电
路到达输出 Y 点。套用的 Timing Model 标示在各逻辑闸上,对于所有输入端到输出端都可以找到相对应
的延迟时间。而使用者给定的 Timing 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 Constraint。由于最常用来做静态时序分析验证核可(STA Signoff)的 EDA 软体
PrimeTime?采用 Path-Based 的分析方式,所以本文将以 Path-Based 的分析方式介绍为主。
再来看看 Block-Based 的分析方式。此时时序资讯(Timing Information)的储存不再是以路径为单位,
而是以电路节点(Node)为单位。由 Timing Constraint 我们仅能得知 A 节点的 AT 为 2,B 节点的 AT 为
5 以及 Y 节点的 RT 为 10。Block-Based 的分析方式会找出每个节点的 AT 和 RT,然后比对这两个数值。
当 RT 的值大于 AT 时表示讯号比 Timing Constrain 中要求的时间还早到达,如此则 Timing 是满足的,反
之则不满足。
STA 资料准备
在做 STA 之前,我们必须对其准备工作有充分的了解。STA 所需的资料如图三所示,以下我们分项说明。
其中 Design Data 部分,由于 Block Model 和 STA 软体相关性太高,我们不在此加以说明,请直接参阅您
STA 软体的使用手册。
图 三
Library 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 类(图九)。
剩余17页未读,继续阅读
资源评论
liujl_sdn
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功