静态时序分析综述报告以及primetime简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
静态时序分析综述报告
——孙声震1.静态时序分析
静态时序分析(STA)就是套用特定的时序模型(Timing Model),针对特定电路分析其是否违反设计者给定的时序限制(Timing Constraint)。
1.1 背景
仿真技术是ASIC设计过程中应用最多的验证手段,然而,现在的单片集成系统设计正在将仿真时间推向无法容忍的极限。在最后的门级仿真阶段,针对的是几十乃至几百万门的电路,对仿真器第一位的要求是速度和容量,因此,性能(仿真速度)和容量(能够仿真的设计规模)是验证中的关键因素。
传统上采用逻辑仿真器验证功能时序,即在验证功能的同时验证时序,它以逻辑模拟方式运行,需要输入向量作为激励。随着规模增大,所需要的向量数量以指数增长,验证所需时间占到整个设计周期的50%,而最大的问题是难以保证足够的覆盖率。鉴于此,这种方法已经越来越少地用于时序验证,取而代之的是静态时序分析技术。
1.2 分类
静态时序分析以分析的方式区分,可分为Path-Based及Block-Based两种。
图1
如图1所示,为Path-Based这种分析方式。信号从A点及B点输入,经过中间的逻辑单元,从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是不满足使用者要求的。
对图2的设计而言,总共有6个信号路径。对于采用Path-Based分析方式的STA软件来说,它会对这6个信号路径作逐一的分析,然后记录下结果。
图2
如所示,Block-Based的分析方式的时序信息(Timing Information)的储存不再是以路径为单位,而是以电路节点为单位。由Timing Constraint我们仅能得知A节点的AT为2,B节点的AT为5以及Y节点的RT为10。Block-Based的分析方式会找出每个节点的AT和RT,然后比对这两个数值。当RT的值大于AT时表示信号比Timing Constrain中要求的时间还早到达,如此则Timing是满足的,反之则不满足。
2.静态时序分析
2.1基本原理
静态时序分析技术是一种穷尽分析方法,用以衡量电路性能。它提取整个电路的所有时序路径,通过计算信号在路径上的延迟传播找出违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求,而它们又分别通过对最大路径延迟和最小路径延迟的分析得到。静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少。它完全克服了动态时序验证的缺陷,适合进行超大规模的片上系统电路的验证,可以节省多达20%的设计时间。因此,静态时序分析器在功能和性能上满足了全片分析的目的。支持片上系统设计,即它为快速满足设计时序要求取得了突破,能提供百万门级设计所要求的性能,并在一个合理的时间内分析设计,而且它带有先进的时序分析技术和可视化的特性,用于全芯片验证。
静态时序分析的优点显而易见,主要是:
•能够详尽地覆盖时序路径;
•不需要测试向量;
•执行速度快;
•能够为时序冲突生成全面的报告;
•能够完成使用仿真所不能实现的复杂分析,例如min/max 分析、组合环检测、自动地检测并消除无效路径;
当然,如上所述的静态时序分析的优点并不意味着STA能够完全替代动态仿真,静态验证工具与动态验证工具必须协同存在。一个主要的原因是STA不能验证一个设计的功能,而且某些设计风格并不是很适合静态的方法。例如,一个设计的异步部分可能要求使用动态仿真,当然,任何混合信号的部分更是如此。
下面介绍重点介绍静态时序分析的原理。
图3
我们从图三中可以看到,要了解静态时序分析,我们必须了解构成静态时序分析的四个组成部分:Design Data、Interconnect Data、Library Data和Timing Constraints。
2.1.1 Design Data
在Design Data中,我们知道,一般在Design Compiler做完综合之后,便能得到Gate-level Netlist,这时,我们在做静态时序分析的时候,可以利用已经产生的Gate-level Netlist。
2.1.2 Library Data
在Library Data中,静态时序分析所需要的时序模型就放在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。其中,Combinational Timing Arc、Edge Timing Arc、Preset and Clear Timing Arc和Three State Enable & Disable Timing Arc定义时序的延时,其它各项则定义了时序的检查。