静态时序分析报告中门延时计算
静态时序分析综述报告以及primetime简介

静态时序分析综述报告——孙声震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标示在各逻辑器件上,对于所有输入端到输出端都可以找到相对应的延迟时间。
而使用者给定的TimingConstraint为: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)是满足使用者要求的。
综合与静态时序分析

综合与静态时序分析综合与静态时序分析是软件工程中常用的两种分析方法,用于评估系统的性能、可靠性和效率等方面。
本文将详细介绍综合与静态时序分析的基本概念、应用场景以及优缺点,并对两者进行比较,以便读者能够更好地了解和应用这两种方法。
一、综合时序分析综合时序分析是指通过建立模型,对系统进行模拟和分析,得出系统性能和可靠性等相关指标。
综合时序分析主要考虑系统的整体性能,包括处理速度、吞吐量、延迟等方面。
常用的综合时序分析方法有排队网络模型、离散事件模拟等。
综合时序分析的应用场景包括网络通信、分布式系统、并行计算等领域。
在这些领域中,系统的性能和可靠性要求较高,并且通常涉及多个组件之间的协作和交互。
通过综合时序分析,可以预测系统的行为、发现潜在的问题,并提出改进措施。
综合时序分析的优点是可以全面考虑系统的各个方面,分析结果较为准确。
然而,综合时序分析通常需要复杂的模型和大量的计算,对分析人员的要求较高。
此外,由于模型建立和参数设定的不准确性,综合时序分析的结果可能和实际情况存在一定的偏差。
静态时序分析是指在系统的设计和实现阶段,通过对系统的源代码或设计文档进行静态分析,得出系统的时序行为和性能指标。
常用的静态时序分析方法有程序切片、基本块图、语义分析等。
静态时序分析的应用场景包括软件开发、代码审查、性能优化等领域。
在这些领域中,开发人员需要预先了解系统的行为和性能,并进行相应的设计和优化。
通过静态时序分析,可以发现源代码中的潜在问题、提高系统的性能等。
静态时序分析的优点是可以在系统设计和实现的早期阶段就发现问题,并及时进行调整。
此外,静态时序分析可以在不需要运行系统的情况下进行,因此可以节省时间和资源。
然而,静态时序分析通常只考虑系统的源代码和设计文档,可能忽略了系统运行时的复杂环境和其它外部因素的影响。
三、综合时序分析与静态时序分析的比较1.方法论差异:综合时序分析主要基于建模和仿真,而静态时序分析主要基于代码和设计文档的分析。
静态时序分析(STA)基础

静态时序分析(STA)基础注:上海交⼤论⽂《数字电路静态时序分析与设计》—学习笔记第⼀章概述1.4 集成电路的设计流程⼀般集成电路设计步骤分为逻辑设计和物理设计如图1-1 所⽰:逻辑设计包括:系统划分:将⼀个⼤规模的系统按功能分成⼏个功能模块设计输⼊:⽤HDL(Hardware Description Language)语⾔或电路原理图的形式对系统进⾏功能级描述的设计输⼊。
功能仿真:对功能级描述进⾏功能和时序仿真验证并在验证功能正确后转变成适⽤于综合器的RTL级(Register Transfer Level)描述的⽹表输⼊。
逻辑综合:把⾼层次设计的描述利⽤某种标准单元库按照⼀定的约束条件转换成优化的门级⽹表。
图1-2给出了基本的计算机辅助逻辑综合的流程图。
设计者只要把精⼒集中在层次的划分、⾼层的设计、描述准确的约束条件和标准单元库的单元优化上,⽽其它⼤量的⼯作由逻辑综合⼯具⾃动完成逻辑综合⼯具经过多次交互处理最终产⽣最优化的门级⽹表。
布局前的模拟:对综合后加⼊单元时延信息的门级⽹表进⾏仿真检查时序上是否满⾜设计系统规范和接⼝规范。
物理设计包括:平⾯规划:其任务是为每个模块和整个芯⽚选择⼀个好的布图⽅案⼀般根据其包含器件数估计模块的⾯积再根据该模块和其它模块的连接关系和上层模块或芯⽚的形状估计该模块的形状和相对位置此过程⼀般⼿⼯完成布局:确定模块中各单元的位置布局问题⽐较复杂⼀般分成初线始布局和改进布局两步。
布线:通常布线分为总体布线(Global Routing)和详细布线(Detailed Routing)两步总体布线把线⽹分配到合适的布线区域不关⼼⾛线的具体位置详细布线最终确定连线的具体位置。
参数提取:确定各个连接处的电阻和电容及互连线的分布参数。
后仿真:加⼊布局布线所增加的各种寄⽣电学参数后再次进⾏时序仿真并进⾏ERC,电学规则检查和DRC,设计规则检查最后进⾏⽹表的验证(LVS Layout Versus Schematic) 来确认版图的正确性。
EDA工具课程之PrimeTime

二、PrimeTime简介
PT和DC的STA的不同
1、目的不同 DC主要是为了综合,所以它的时序约束都是以苛刻的估算为主, 可以不区分什么分析类型,但PT主要是为了验证它的约束,主要以 来依赖于实际提取数据一提取的多数文件为主,必须区分什么操作 条件以及相应的什么分析类型策略。
Company Logo
二、PrimeTime简介
PrimeTime简介 PrimeTime是Synopsys的静态时序分析软件,常被用来分析大规模, 同步,数字ASIC.PrimeTime适用于门级的电路设计,可以和Synopsys公 司的其它EDA软件非常好的结合在一起使用.
PrimeTime的特点和功能 作为专门的静态时序分析工具,PrimeTime可以为一个设计提供以 下的时序分析和设计检查: 建立和保持时间的检查; 时钟脉冲宽度的检查; 时钟门的检查; 未约束的时序端点; 组合反馈回路; 基于设计规则的检查,包括对最大电容,最大传输时间,最大扇出的检 查等。
-period period_value [-waveform edge_list]
[-name clock_name] [source_objects]
pt_shell>create_clock -period 4 -waveform [list 0 2] – name\ clk [get_ports clk]
EDA技术实验
SynopsysSTA)工具 PrimeTime LOGO
主要内容
静态时序分析(STA)介绍 PrimeTime简介 PrimeTime流程 PrimeTime用户界面
PrimeTime命令 PrimeTime实例分析
Company Logo
FPGA静态时序分析

D
Q
CLK Clock
时钟不确定性
输入时钟抖动是时钟不确定性的原因之一(Clock Uncertainty)
时钟偏斜(clock skew)
• 所有时序设计和分析都以时钟网络为参考。路径延迟分析 必须考虑时钟质量。 • 时钟偏斜是一个时钟信号沿着同一个时钟网络到达源触发 器和目标触发器的时间差。. • 所有时钟网络布线应该使用FPGA提供的专用时钟资源,否 则时钟偏斜会非常严重。 • 时钟偏斜分为负时钟偏斜和正时钟偏斜,主要对时钟周期 产生影响。时序分析器能够报告时钟偏斜问题。
14
路径和分析类型
Async Path
PRE D Q
Data Path
PRE D Q
CLR
CLR
Clock Paths Async Path
Three types of Paths: 1. Clock Paths 2. Data Path 3. Asynchronous Paths* Two types of Analysis: 1. Synchronous – clock & data paths 2. Asynchronous* – clock & async paths
Data must be valid here REG2.CLK REG2.D Data Valid
Tclk2
Tsu
Data Required Time = Clock Arrival Time - Tsu
26
数据要求时间- Hold
The minimum time required for the data to get latched into the destination re gister
静态时序分析(statictiminganalysis)

静态时序分析(statictiminganalysis)静态时序分析(static timing analysis,STA)会检测所有可能的路径来查找设计中是否存在时序违规(timing violation)。
但STA只会去分析合适的时序,⽽不去管逻辑操作的正确性。
其实每⼀个设计的⽬的都相同,使⽤Design Compiler和IC Compile来得到最快的速度,最⼩的⾯积和最少的耗能。
根据设计者提供的约束,这些⼯具会在⾯积,速度和耗能上做出权衡。
更深层的来看,STA⼀直都寻找⼀个问题的答案:在所有条件下,当时钟沿到达时,数据会正确地在每个同步device的输⼊端正确显⽰吗?这问题可以⽤下图来表⽰:如图中所⽰,虚线表⽰了时序路径。
两者使⽤了同⼀个时钟驱动,理想情况下FF1的数据变化之后在下个时钟沿能够准确到达FF2。
两者的时序图如下:在FF1的时钟沿到来时,会把FF1的D端的数据送⼊flip-flop。
在经过⼀个clock-to-Q的延时之后,数据会送⼊FF1的Q端。
此过程叫做时序路径的launch event。
信号经过了两个FF之间的组合逻辑之后,到达了组合逻辑的输出,也就是FF2的输⼊端(FF2.D),这个叫做arrival time。
然⽽数据并不是在时钟沿到达FF2的同时到达,⽽是要⽐时钟沿早到那么⼀点点。
早到的这个时间叫做required time,不同的device的required time不⼀样。
数据装载到FF2的时间点叫做capture event。
device的required time和数据到达的时间(arrival time)两者之差则叫做slack。
图中所⽰,数据⽐时钟早到很多,则slack为正。
如果数据刚好在required time时间点到达,则slack为0,若是数据晚到的话则是负了。
例如required time是launch event之后的1.8ns,⽽arrival time是launch event之后的1.6ns,则slack = 1.8-1.6=0.2ns。
静态时序分析中路径延时的计算

静态时序分析中路径延时的计算静态时序分析工具一般将电路网表看成一个拓扑图,图中的节点(node)代表电路中的引脚(pin)。
节点之间的边(edge)表示时序弧(timing arc),有两种:# 连线延时(net delay)---驱动引脚(drive pin)和扇出(fanout)之间的连接# 单元延时(cell delay)---输入引脚(input pin)和输出引脚(output pin)之间的连接延时计算就是计算每条时序弧的值,可能是单元延时也可能是连线延时。
通过累计这些延时可以计算时序路径(timing delay)的上升延时(rise delay)或下降延时(fall delay)。
正函数时序弧(positive unate timing arc):将上升延时和上升延时相加,下降延时和下降延时相加。
例如一个AND门单元延时和连线延时。
负函数时序弧(negative unate timing arc):将新得到的上升延时和原来的下降延时相加,而新得到的下降延时和原来的上升延时相加。
例如NAND门。
非函数时序弧(non-unate timing arc):将原来的延时和新得到的最差情况延时(worst-case delay)相加。
非函数时序弧出现在不能从输入量的变化预测输出端逻辑值变化的地方,例如XOR门。
下图展示了一个电路逻辑网络是如何转化成一张时序图的:非线性延时模型(nonlinear delay model):非线性模型是供应商以查表(lookup table)形式在工艺库中提供的延时信息,它和时序分析计算有着紧密的联系。
总的延时包含了单元延时和连线延时:Dtotal = Dcell + DcDc连线延时。
它有两种计算方法,一是通过operating_conditions中的tree_type属性和wire_load模型;二是在标准延时方程中读入一个SDF文件。
Dcell门自身的延时,典型地是取从输入引脚电压变化到50%到输出引脚电压变化到50%的之间的时间。
静态时序分析课件

案例三:时钟偏差与时钟抖动问题解决
总结词
详细描述
案例四:时序违规问题解决
要点一
总结词
要点二
详细描述
时序违规问题是指在设计中的时序信号不能满足时序约束 条件,可能导致数据传输错误或系统不稳定。
在静态时序分析中,需要仔细检查设计的时序信号是否满 足约束条件,并采取相应的措施来解决时序违规问题。可 以采用优化设计、调整时序约束条件或使用静态时序分析 工具等方法来解决时序违规问题。
时钟源与负载不匹配问题
总结词
详细描述
时钟偏差与时钟抖动问题
总结词
时钟偏差与时钟抖动问题是指时钟信号 在传输过程中出现的偏差和抖动现象, 可能导致数据的不稳定和时序违规。
VS
详细描述
时钟信号在传输过程中会受到各种因素的 影响,如线路长度、连接器、时钟源的抖 动等,导致时钟信号的偏差和抖动。这种 偏差和抖动可能导致数据的不稳定和时序 违规。为了解决这个问题,需要减小传输 过程中的偏差和抖动,并加强时钟网络的 同步和稳定性。
THANKS
感谢观看
时钟偏差是指时钟信号到达不同寄存器的时间偏差,通常由时钟源、时钟网络和寄 存器本身引起。
时钟抖动和偏差是影响数字电路时序分析的重要因素,需要进行有效的管理和优化。
03
静态时序分析方法
路径延迟分析
路径延迟分析是静态时序分析中的重 要步骤,它通过计算信号在电路中传 输的延迟时间,来确定信号到达时间 是否满足时序要求。
时序违规问题
总结词
详细描述
06
静态时序分析案例研究
案例一:时钟域交叉问题解决
总结词
详细描述
案例二:时钟源与负载不匹配问题解决
总结词
时钟源与负载不匹配问题是指时钟源的频率与负载的要求不匹配,可能导致数据 传输错误或资源浪费。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1引言
在集成电路设计过程中,模拟方法是应用最多的验证时序正确与否的手段,然而,模拟方法在微系统芯片(SoC)时代正面临严竣的挑战。
传统的逻辑模拟方法虽然比较快,但需要输入向量作为激励,给使用带来很多不便;更为严重的是其精度不够高,不能处理SoC时代越来越严重的互连线的耦合电容、电感效应。
电路模拟方法虽然能非常精确地计算SoC时代的各种效应,但其速度太慢,容量也太小。
静态时序分析技术通过提取整个电路的所有时序路径,计算信号沿(上升沿或下降沿)在传播过程的延时,然后检查在最坏情况下电路中是否存在建立时间和保持时间不满足要求的器件,从而确认被验证的电路是否存在时序问题。
它们又分别通过对最大路径延迟和最小路径延迟的分析得到。
静态时序分析不需要输入向量、运行速度快、占用内存少,因而成为SoC时代最主要的时序验证手段。
延时计算和最长/最短路径分析是静态时序分析的关键。
由于互连线结构 [1]对门延时的影响非常大,必须在门延时模型中充分考虑这一因素才能确保静态分析结果的正确性。
广告插播信息
维库最新热卖芯片:
XC9536-15PC44C SN74F244DWR IS62C1024L-70Q SS34HT162288E6050-RJJ AQY210E H KM68V257CJ-15MUR3020PT TL082CDR
本文提出新的Π模型方法,结合了门的等效电容[3]来计算门的延时,我们的方法结合门的互连线负载的拓扑结构和门负载三阶矩求解的方法,采用[4]中提出的等效电容的求解公式,求出门延时计算模型,相比上述两种方法,在静态时序分析中更为合理。
2新的门延时模型
2.1 新的门延时模型
在[4]中,作者提出了利用Π型的RC模型来近似门的互连线输出负载,同时考虑了负载的屏蔽效应。
用该模型等价地计算出门输出驱动点导纳函数前三阶系数。
图1中Y(s)表示准确的RC树的驱动点导纳函数,在s=0的Taylor展开式表示如下:
将门的输出的RC树的互连线负载等效负载为Π模型,如图2。
通过Π模型得到的门输出驱动点导纳函数和Y (s)的前三项对比得出:
尽管以往模型能够很好地表示等效的输出驱动点导纳函数,但是利用等效电容计算的门延时结果并不理想,所以我们提出了新的模型。
模型中电容的值也采用门输出驱动点导纳函数和 RC树的驱动点导纳函数前三阶近似相等原理[4] 推出来,设该驱动点导纳函数为Yπ的Taylor展开式:
考虑到互连线金属电阻的屏蔽效应以及互连线的分布特性,对于模型中的电阻R1而言,如图3所示,需要求RC树的等效电阻,采用的方法是,将分支中的接地电容去掉,而保留串联的电阻,这时电路中的电阻连接主要以节点之间的串并联的形式出现,则等效电阻 Req,
在[4]中,我们可以看到R1 一般取12/25Req,所以我们新的模型,如图4:
2.2 等效电容模型
这样产生我们新的Π模型,由于传统的门延时模型中门负载是一个电容,[5]提出了利用平均电流相等的
原理,将门负载Π模型,转换为单个电容的等效电容C eff的门负载模型,其等效电容的公式如下:
td、t f分别表示输出门延时和门输出的下降时间,它们是由 k因子表达式来决定的;tt表示输入信号的传输时间,它是已知的。
k因子表达式:
式中CL表示门负载所带电容,各个及表示k因子表达式的参数[3]。
3实验结果
我们选取了与门(and),在TSMC库0.18mm工艺IP库中的代号(AND2×2),测试电路我们选取了分别为不具有分支的测试电路1(如图5)和具有分支测试电路2(如图6的主电路及如图7的分支电路),这样的分支电路有相同的两路,并且这两个分支同时接于主电路图6的1,2,3,4,5,6节点处。
在测试过程中,我们改变门的输入传输时间(tt)和负载电容值(C),并且采用我们的模型,和Hspice仿真结果,以及
O’Brien/Savarino Π模型(我们在这里称作Y表达式法),
开端RCΠ模型(我们在这里称作1/6, 5/6法)结果进行比较,不同测试电路的测试结果如表1~表4。
可以看出,我们的模型在门延时的计算方面要比开端RCΠ模型更接近Hspice测试结果,开端RC Π模型平均误差在50%~80%之间,而我们的模型平均误差在5%~15%之间;而与O’Brien/ Savarino Π模型相比,由于O’Brien/Savarino Π模型测试结果有很多情况要比Hspice测试结果小很多,甚至相对误差达到60%,而在静态时序分析中,这种情况是不允许的,它会造成时序分析失败,我们的模型基本相对误差一般在5%~10%左右,较好地克服了这种乐观性,在静态时序的验证方面更可靠,更精确。
除了上述关于与门(and)的测试外,我们还做了反相器(inverter),或门(or),加法器(add)的测试,同时我们也使用synopsys库 0.18mm工艺IP库中相同器件进行测试,都有相似的结果和结论。
但是我们也发现,如果上述三种模型测试结果与Hspice的结果相比误差都较小时(大致5%~10%),我们的模型并不明显比其他模型优越。
这点可以由下面这个例子说明,我们对工业界中一实际电路进行测试,其门负载有100个电阻, 100个电容的有分支电路(简称有分支)和一个门负载14个电阻和14个电容的无分支电路(简称无分支),其测试结果如表5。
4结论
静态时序分析中的门延时模型对于正确进行静态时序分析有着重要的意义,我们结合了等效电容和门负载的互连线拓扑架构两个概念,提出了新的门延时模型。
通过实验结果说明,它克服了以前门延时模型过于悲观和乐观的计算结果,较好地保证了静态时序分析的精度。
下一步的工作可以集中于门负载是互连线时,存在串扰的情况下的模型,这样可以使模型更加全面。