统计静态时序分析(SSTA)概述
非常详细的静态时序分析教程
非常详细的静态时序分析教程静态时序分析是电子设计自动化领域中的重要方法之一,用于评估数字电路中的时序性能。
本教程将介绍静态时序分析的基本概念、方法和步骤,并提供一些实例来帮助读者深入了解这个领域。
一、静态时序分析的基本概念在进行静态时序分析之前,我们需要了解一些基本概念:1.时钟边沿:时钟是数字电路中的基本信号之一,它的边沿可以分为上升沿和下降沿。
时序分析通常以时钟的上升沿作为参考边沿进行分析。
2.关键路径:在一个数字电路中,存在多条路径可以连接输入和输出。
关键路径是指在特定时钟频率下,数据从输入到输出的延时最长的路径。
时序分析的目标之一就是找到并优化关键路径,以提高电路的性能。
3.时序约束:时序约束是对数字电路的时序性能要求的规定。
通常由设计者在进行时序分析之前进行设置,用于指导分析工具进行正确的分析和优化。
二、静态时序分析的方法和步骤静态时序分析的主要方法是通过对电路中的时钟域、数据路径和约束条件进行建模和分析,从而判断关键路径和优化方案。
下面是静态时序分析的基本步骤:1. 建立电路模型:首先,需要将数字电路转化为时序分析工具可以理解的模型,通常可以使用硬件描述语言(如Verilog或VHDL)对电路进行描述。
2.设定时序约束:根据设计规范和目标性能要求,制定适当的时序约束,如最大延时、最小脉冲宽度等。
时序约束的制定需要根据具体的电路应用和设计要求进行。
3.进行静态时序分析:使用时序分析工具对电路进行分析,找到关键路径,并计算出关键路径的延时。
关键路径上的最大延时指示了电路的最坏情况性能。
4.优化关键路径:在找到关键路径后,可以通过各种手段进行优化,如增加缓冲器、减少逻辑门延时等。
优化的目标是减小关键路径的延时,以提高整个电路的性能。
5.重新进行时序分析:在优化关键路径之后,需要重新进行时序分析,确保所做的优化在整个电路中得到正确应用,并满足时序约束。
三、实例分析让我们通过一个简单的例子来说明静态时序分析的具体过程。
静态时序分析(statictiminganalysis)---时序路径
静态时序分析(statictiminganalysis)---时序路径时序分析⼯具会找到且分析设计中的所有路径。
每⼀个路径有⼀个起点(startpoint)和⼀个终点(endpoint)。
起点是设计中数据被时钟沿载⼊的那个时间点,⽽终点则是数据通过了组合逻辑被另⼀个时间沿载⼊的时间点。
路径中的起点是⼀个时序元件的时钟pin或者设计的input port。
input port可以作为起点是因为数据可以由外部源(external source)进⼊设计。
终点则是时序元件的数据输⼊pin或者设计的output port。
同理output port可以作为终点是因为数据可以被外部源捕捉到。
上图显⽰⼀个时序路径的例⼦。
path1 开始于⼀个input port 且结束于时序元件的数据输⼊端path2 开始于时序元件的时钟pin且结束于时序元件的数据输⼊端path3 开始于时序元件的时钟pin且结束在⼀个output portpath4 开始于input port 且结束于 output port每⼀个path都有专属的slack,slack值可以是正,0或者负。
某⼀个path拥有最坏的slack的话则称之为 critical pathcritical path拥有最⼤的负slack值。
若是所有的path都没有时序违规,则slack都是正数,此时最⼩的那个slack则是critical path。
复数critical paths意味着某⼀组的path都是critical path。
路径可以被分组(group)来得到各⾃的时序分析,时序报告和优化。
在IC compliler中输⼊report_timimg可以得到时序报告,如下所⽰。
Startpoint: I_RISC_CORE/I_INSTRN_LAT/Instrn_1_reg_27_ (rising edge-triggered flip-flop clocked by SYS_2x_CLK)Endpoint: I_RISC_CORE/I_ALU/Zro_Flag_reg (rising edge-triggered flip-flop clocked by SYS_2x_CLK)Path Group: SYS_2x_CLKPath Type: maxPoint Incr Path----------------------------------------------------------------------------------clock SYS_2x_CLK (rise edge) 0.000.00clock network delay (propagated) 0.510.51I_RISC_CORE/I_INSTRN_LAT/Instrn_1_reg_27_/CP (senrq1) 0.000.51 rI_RISC_CORE/I_INSTRN_LAT/Instrn_1_reg_27_/Q (senrq1) 0.62 1.13 fI_RISC_CORE/I_INSTRN_LAT/Instrn_1[27] (INSTRN_LAT) 0.00 1.13 fI_RISC_CORE/I_ALU/ALU_OP[3] (ALU) 0.00 1.13 fI_RISC_CORE/I_ALU/U288/ZN (nr03d0) 0.36 * 1.49 rI_RISC_CORE/I_ALU/U261/ZN (nd03d0) 0.94 * 2.43 fI_RISC_CORE/I_ALU/U307/ZN (invbd2) 0.35 * 2.78 rI_RISC_CORE/I_ALU/U343/Z (an02d1) 0.16 * 2.93 rI_RISC_CORE/I_ALU/U344/ZN (nr02d0) 0.11 * 3.04 fI_RISC_CORE/I_ALU/U348/ZN (nd03d0) 0.28 * 3.32 rI_RISC_CORE/I_ALU/U355/ZN (nr03d0) 0.29 * 3.60 fI_RISC_CORE/I_ALU/U38/Z (an02d1) 0.15 * 3.75 fI_RISC_CORE/I_ALU/U40/Z (an02d1) 0.12 * 3.87 fI_RISC_CORE/I_ALU/U48/ZN (nd02d1) 0.06 * 3.93 rI_RISC_CORE/I_ALU/U27/ZN (nd02d1) 0.06 * 3.99 fI_RISC_CORE/I_ALU/Zro_Flag_reg/D (secrq4) 0.00 * 3.99 fdata arrival time 3.99clock SYS_2x_CLK (rise edge) 4.00 4.00clock network delay (propagated) 0.47 4.47clock uncertainty -0.10 4.37I_RISC_CORE/I_ALU/Zro_Flag_reg/CP (secrq4) 0.00 4.37 rlibrary setup time -0.37 4.00data required time 4.00--------------------------------------------------------------------------------data required time 4.00data arrival time -3.99-------------------------------------------------------------------------------slack (MET) 0.01此例⼦的图如下:报告开始显⽰了路径的起点,路径终点,路径组名和路径检测的类型。
静态时序分析的基本概念和目的
静态时序分析的基本概念和⽬的内容:静态时序分析的概念与⽬的与时钟相关的时序特性静态时序分析(Statistic)时钟sdc静态时序分析的概念和⽬的时序路径与关键路径时序路径:是⼀个点到另⼀个点的数据通路,数据沿着时序路径进⾏传递,每条时序路径有⼀个起点(Startpoint)和⼀个终点(Endpoint)。
起点可以是:数据输⼊端⼝,触发器或寄存器的时钟引脚。
终点可以是:数据输出端⼝,时序器件的除时钟引脚外的所有输⼊引脚。
因此时序路径可以是数据输⼊端⼝到寄存器、寄存器到寄存器、寄存器到输出端⼝、输⼊端⼝到输出端⼝。
如下图电路中存在4条路径:从输⼊端⼝A到FF1的D端;从FF1的CLK端到FF2的D端;从FF2的CLK端到输出端⼝Z;从输⼊端⼝A到输出端⼝Z。
⼀般情况下,路径1、2、3是最常见的,路径4⽐较少见。
关键路径:路径的特性是存在延时,其中延时最长的⼀条称为关键路径。
常见的时序路径约束在进⾏约束前,需要了解触发器的三个概念:建⽴时间、保持时间和亚稳态。
这⾥简单介绍这三个概念,更深⼊的介绍见《笔试题》、《亚稳态》。
建⽴时间指的是在时钟有效沿来之前数据必须保持稳定的⼀段时间,否则触发器锁存不住数据,⽤Tsu表⽰。
保持时间指的是在时钟有效沿来之后数据仍需保持稳定的⼀段时间,否则触发器锁存不住数据,⽤Th表⽰。
亚稳态:半导体⼚商在⼯艺库中规定了每个触发器的建⽴时间和保持时间参数。
如果数据在建⽴时间和保持时间中被采样,那么其输出是不可预知的,有可能是0,也有可能是1,这种未知的状态称为亚稳态。
了解这三个概念后,就可以对路径进⾏约束。
约束的⽬的就是为了确定寄存器是否满⾜建⽴时间(和保持时间)。
与时钟相关的时序特性时钟的时序特性主要分为抖动(Jitter)、偏移(Skew)和占空⽐失真(Duty Cycle Distortion)三种。
在低速设计中不需要考虑这些时序特性;但是在告诉设计中,由于这三种特性会造成普遍的时序问题。
静态时序分析(Static Timing Analysis)基础及应用
静态时序分析(Static Timing Analysis)基础及应用(上)1.前言在制程进入深次微米世代之后,晶片(IC)设计的高复杂度及系统单晶片(SOC)设计方式兴起。
此一趋势使得如何确保IC品质成为今日所有设计从业人员不得不陎临之重大课题。
静态时序分析(Static TimingAnalysis简称STA)经由完整的分析方式判断IC是否能够在使用者的时序环境下正常工作,对确保IC品质之课题,提供一个不错的解决方案。
然而,对于许多IC设计者而言,STA是个既熟悉却又陌生的名词。
本文将力求以简单叙述及图例说明的方式,对STA的基础概念及其在IC设计流程中的应用做详尽的介绍。
什么是STA?STA的简单定义如下:套用特定的时序模型(Timing Model),针对特定电路分析其是否违反设计者给定的时序限制(Timing Constraint)。
以分析的方式区分,可分为Path-Based及Block-Based两种。
先来看看Path-Based这种分析方式。
如图一所示,讯号从A点及B点输入,经由4个逻辑闸组成的电路到达输出Y 点。
套用的TimingModel标示在各逻辑闸上,对于所有输入端到输出端都可以找到相对应的延迟时间。
而使用者给定的Timing Constraint为:讯号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)。
在和上述第三项TimingConstraint比对之后,我们可以得知对P1这个路径而言,时序(Timing)是满足使用者要求的。
静态时序分析(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。
静态时序分析基本原理和时序分析模型
静态时序分析基本原理和时序分析模型静态时序分析是指对程序在其编译阶段或者运行阶段进行的一种分析方法,通过对程序的代码进行解析和推理,从而分析出程序执行的正确性、性能、资源消耗等方面的信息。
静态时序分析可以帮助开发人员在代码实现阶段尽早发现和解决问题,提高代码的可靠性和可维护性。
1.控制流分析:静态时序分析首先通过控制流分析,构建程序的控制流图。
控制流图由程序中的所有语句和它们之间的控制流关系构成,用来描述程序的执行路径和顺序。
静态时序分析可以通过控制流图来寻找潜在的执行路径问题,如死循环、无法到达的代码等。
2.数据流分析:静态时序分析还可以进行数据流分析,通过对程序中变量的定义和使用关系进行分析,确定变量在不同的执行路径上的值。
数据流分析可以帮助发现未初始化变量、未使用变量等问题。
3.依赖分析:静态时序分析可以进行依赖分析,分析程序中不同语句之间的依赖关系,确定一些语句执行的前提条件。
依赖分析可以帮助发现多线程竞争、资源争用等问题。
静态时序分析的依赖分析可以通过指针分析、函数调用分析等方式实现。
4.前向分析和后向分析:静态时序分析可以进行前向分析和后向分析。
前向分析从程序的入口点开始,根据程序的控制流图,逐个语句地分析程序的执行路径。
后向分析从程序的出口点开始,反向分析程序的执行路径。
通过前向分析和后向分析,可以找到程序的执行路径,帮助发现执行路径上的问题。
时序分析模型是静态时序分析的抽象表示,可以用来描述程序的执行顺序和时序约束。
常见的时序分析模型包括Petri网、有限状态机等。
1. Petri网:Petri网是一种常用的时序分析模型,它可以描述系统中不同活动之间的顺序和并发关系。
Petri网由节点和有向弧组成,节点表示活动,弧表示活动之间的关系。
通过对Petri网的分析,可以推理出系统的行为和时序约束。
2.有限状态机:有限状态机是描述系统行为的一种抽象模型,它可以把系统的执行顺序表示为一个状态转移图。
统计静态时序分析(SSTA)概述
统计静态时序分析(SSTA)概述摘要是否曾想过为什么一个设计能够以高于设计团队承诺的频率工作?为何该设计团队不能将这个更高的频率当作要实现的目标?过去,静态时序分析被用来分析SoC是否能够在规定的目标频率工作。
时序验收要么在最差情况(WCS),要么在最佳情况(BCS)下完成。
通常,这些与三西格玛区域对应。
当然,为了结束这些情况下的时序,可能进行了大量过度设计。
统计静态时序分析(SSTA)尝试采用一种方法来减少这种不必要的过度设计,因此努力让设计变得更加切合实际,并同时帮助提高目标频率。
什么是统计静态时序分析?过去几十年里,静态时序分析(ST A)一直是用来结束数字电路时序的一种常用方法。
但由于几何尺寸缩小到45nm甚至更小,现在要结束时序变得越来越困难了。
STA和工艺数量的增加,使得整个情形变得更为复杂。
之所以出现这样的复杂情况,是因为要在高级技术节点上实现工艺变化变得异常困难了。
现在共有两种变化:1.芯片到芯片变化2.芯片内变化这两种变化又可以进一步划分为:1.系统性变化2.随机性变化其中的部分变化目前仍算在传统的STA方法内。
SST A尝试按概率分布来考虑所有这些变化。
基本上,SSTA会计算概率函数,以计算每个节点上每个信号的到达时间。
如果设计达到规定的目标频率,根据到达时间的概率分布函数,就能将它计算出来。
例如,如果概率为97%,那么最小余量的信号的到达时间为5ns;到达时间为4ns的概率为10%。
这意味着200MHz的目标频率其得到的概率应为97%,250MHz的目标频率其概率为10%。
变化:临界尺寸的扩展速度超过了我们的控制。
现在随着技术节点的减少,互连变化与有源门相比,它正逐渐占据主导地位。
由于互连开始占主导地位,时序的临界变量不只限于晶体管的临界尺寸,同时包括线段尺寸和实际形状以及附近网络的数量。
金属宽度、金属厚度、经电阻、绝缘高度都具有不同的金属层属性。
晶体管的类似属性包括晶体管长度、宽度、掺杂密度和门氧化层厚度。
时间序列法 静态法
时间序列法静态法时间序列法与静态法是一种用于预测和分析数据的方法。
本文将详细介绍这两种方法的原理和应用。
一、时间序列法时间序列法是一种基于时间顺序的统计分析方法,用于预测未来的数据。
它假设未来的数据与过去的数据存在某种规律性关系,通过对过去数据的分析来预测未来数据的变化。
时间序列法的基本原理是通过观察和分析一系列连续的数据点来推断未来的趋势和模式。
它主要包括以下几个步骤:1. 数据收集:首先收集一系列连续的数据点,这些数据点可以是按照时间顺序排列的,比如每天、每月或每年的数据。
2. 数据预处理:对收集到的数据进行预处理,包括去除异常值、填补缺失值、平滑数据等。
3. 模型选择:根据数据的性质和特点选择合适的时间序列模型,常用的模型包括移动平均模型、自回归模型、ARIMA模型等。
4. 模型拟合:根据选择的模型对数据进行拟合,得到模型的参数。
5. 模型诊断:对拟合后的模型进行诊断,检验模型的合理性和可靠性。
6. 模型预测:使用拟合好的模型对未来的数据进行预测,得到预测结果。
时间序列法的优点是可以考虑到数据的时间顺序和趋势,能够较好地反映出数据的周期性和规律性。
但是它也有一些局限性,比如对于非平稳的数据和异常值的处理较为困难。
二、静态法静态法是一种基于静态数据的分析方法,它主要通过对一组静态数据的分析来预测未来的趋势和模式。
与时间序列法不同,静态法不考虑数据的时间顺序和趋势,只关注数据本身的特征。
静态法的基本原理是通过对静态数据的分析来寻找数据之间的关系和规律,然后利用这些关系和规律来预测未来的数据。
它主要包括以下几个步骤:1. 数据收集:收集一组静态数据,这些数据可以是同一时间点或者不同时间点的数据。
2. 数据预处理:对收集到的数据进行预处理,包括去除异常值、填补缺失值、标准化等。
3. 特征选择:根据数据的特征和目标变量选择合适的特征,常用的方法包括相关性分析、主成分分析等。
4. 模型选择:根据选择的特征和目标变量选择合适的模型,常用的模型包括线性回归模型、逻辑回归模型、决策树模型等。
静态时序分析课件
案例三:时钟偏差与时钟抖动问题解决
总结词
详细描述
案例四:时序违规问题解决
要点一
总结词
要点二
详细描述
时序违规问题是指在设计中的时序信号不能满足时序约束 条件,可能导致数据传输错误或系统不稳定。
在静态时序分析中,需要仔细检查设计的时序信号是否满 足约束条件,并采取相应的措施来解决时序违规问题。可 以采用优化设计、调整时序约束条件或使用静态时序分析 工具等方法来解决时序违规问题。
时钟源与负载不匹配问题
总结词
详细描述
时钟偏差与时钟抖动问题
总结词
时钟偏差与时钟抖动问题是指时钟信号 在传输过程中出现的偏差和抖动现象, 可能导致数据的不稳定和时序违规。
VS
详细描述
时钟信号在传输过程中会受到各种因素的 影响,如线路长度、连接器、时钟源的抖 动等,导致时钟信号的偏差和抖动。这种 偏差和抖动可能导致数据的不稳定和时序 违规。为了解决这个问题,需要减小传输 过程中的偏差和抖动,并加强时钟网络的 同步和稳定性。
THANKS
感谢观看
时钟偏差是指时钟信号到达不同寄存器的时间偏差,通常由时钟源、时钟网络和寄 存器本身引起。
时钟抖动和偏差是影响数字电路时序分析的重要因素,需要进行有效的管理和优化。
03
静态时序分析方法
路径延迟分析
路径延迟分析是静态时序分析中的重 要步骤,它通过计算信号在电路中传 输的延迟时间,来确定信号到达时间 是否满足时序要求。
时序违规问题
总结词
详细描述
06
静态时序分析案例研究
案例一:时钟域交叉问题解决
总结词
详细描述
案例二:时钟源与负载不匹配问题解决
总结词
时钟源与负载不匹配问题是指时钟源的频率与负载的要求不匹配,可能导致数据 传输错误或资源浪费。
第八章可编程器件_IC静态时序分析 IC Static Timing Analysis
report_constraint:显示设计电路的相关约束信息。
12
检查时序冲突和修正冲突
由于静态时序工具把整个设计电路打散成时序路径,分析 不同路径的时序信息,得到建立时间和保持时间的计算结 果。而静态时序分析的精髓就在于判断和分析这两个参数 的结果。
13
消除建立、保持时间的冲突方法
消除建立时间的冲突方法如下:
加强约束条件重新综合设计电路或对产生冲突的时序路径进行进 一步的优化; 通过做ECO(Engineering Change Order)来消除冲突; 如果以上方法都不能产生效果,那可能只好通过修改RTL代码来 实现。
• 消除保持时间冲突方法如下:
绝大多数的布局布线工具都具有自动消除保持时间冲突的功能, 可以通过这些工具来实_only <design name>.db #db format read_verilog <design name>.sv #verilog format read_vhdl <design name>.svhd #vhdl format read_edif <design name>.edf #EDIF format
将电路置于最好条件(Best Case)、最坏条件(Worst Case)等 多种情况下进行分析,但是对于晶片上的制程变异却无能为力。因 为在最坏条件分析时,静态时序分析总是假定一个晶圆上的电路同 时都处于最坏情况下,而实际上,同一个晶圆上的电路不可能同时 都处于最坏的条件下(这可由分析版图或者工艺得来)。 在一个芯片上不同位置上画了两个完全一样的MOS管,制造出来后 ,两只MOS管的性能很难保证完全一样。当工艺在90 nm以下时, 误差会高达20%~30%。 传统式的静态时序分析是将芯片上所有器 件按同一个工艺及工作条件下的时间路径上的延时加起来,因而传 统式的静态时序分析对于延迟的估计过于悲观。
静态时序分析
静态时序分析电子科技大学詹璨铭什么是静态时序分析⏹静态时序分析STA(static timing analysis)⏹定义⏹与动态时序分析的差异怎样做静态时序分析⏹使用工具primetime (简称pt)与DC ⏹两者的兼容性⏹为什么使用primetime?Primetime与DC的兼容性⏹使用同样的工艺库和设计文件⏹许多指令一样⏹相同的算法,很多结果也一样⏹从一个synthesizable subcircuit 中,pt能捕获一个时序环境,并写成一系列的dc指令,在dc中用其为这个subcircuit定义时间约束和时序优化--值得关注⏹为dc写的dcsh格式的脚本可以翻译成在pt上用的格式。
在pt中定义为抄本(transcript)格式⏹这两个都支持用SDC(synopsys design constraints)格式指定设计规则,包括时间面积约束。
为什么用pt⏹更快效率更高⏹占用更少的内存⏹具有高级的芯片级的分析能力和高级的建模能力。
STA中的对象⏹Design -完整的设计⏹Cell(instance)-设计中使用的一个元件⏹Net -金属连线⏹Port -design 的I/O口⏹Pin -cell 的I/O口⏹Reference -是元件的参考的源定义⏹Clock -创建的时钟信号时序弧(timing arc)⏹定义:如果把电路看作是一张很大的拓扑图,那么图中的结点就是电路中的引脚(pin)。
结点与结点之间的部分,我们称作是时序弧(timing arc)。
他定义了任意两个结点之间的时序关系。
⏹最直观基本的理解:cell delay与net delay。
这两个也是计算下面时序弧的基础。
每段时序弧的延时就是把这两个值不断相加时序弧分类一:时序的延时⏹组合时序弧(combinational timing arc)⏹边沿时序弧(edge timing arc)⏹重置和清除时序弧(preset and clear timing arc)⏹三态使能/无效时序弧(three state enable/disable timing arc)时序弧分类二:时序约束⏹建立时序弧(setup timing arc)⏹保持时序弧(hold timing arc)⏹恢复时序弧(recovery timing arc)⏹清除时序弧(removal timing arc)⏹宽度时序弧(width timing arc)组合时序弧(combinationaltiming arc)⏹负函数(negative unate)⏹正函数(positive unate)⏹非函数(non-unate)calculation)--cell delay⏹是从一个逻辑门的输入到输出的延迟量⏹通过工艺库(technology library)来查找的⏹这是个2维表,查找项是输入的过渡时间(input transition),输出的电容负载(output load capacitance)没有对应的值,做一个线性的推导,计算出相应的值。
静态时序分析基本原理和时序分析模型-PPT精品文档27页
- Timing analysis basics
© 2009 Altera Corporation 1
Objectives
Display a complete understanding of timing analysis
CLK
Tclk1
REG1
PRE
DQ
CLR
TCO
Tclk1
Comb. Logic
Tdata
REG2
PRE
DQ
Tclk2
CLR
Tsu
Latch Edge
REG1.CLK
Tco
REG1.Q
Data Valid
Tdata
REG2.D
Data Valid
Tclk2
REG2.CLK
Tsu
Setup
© 2009 Altera Corporation
Data Required Time - Hold
The minimum time required for the data to get latched into the destination
register
REG1
PRE
DQ
Comb. Logic
REG2
PRE
DQ
CLK
REG2.CLK REG2.D
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 2
静态时序分析
静态时序分析(Static Timing Analysis)技术是一种穷尽分析方法,用以衡量电路性能。
它提取整个电路的所有时序路径,通过计算信号沿在路径上的延迟找出违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求,而它们又分别通过对最大路径延迟和最小路径延迟的分析得到。
静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少。
它完全克服了动态时序验证的缺陷,适合进行超大规模的片上系统电路的验证,可以节省多达20%的设计时间。
PT是Synopsys的sign-off quality的STA工具,是一个单点的全芯片、门级静态时序分析器。
PrimeTime工作在设计的门级层次,并且和Synopsys其它工具整合得很紧密。
基本特点和功能:建立和保持时间的检查(setup and hold checks)时钟脉冲宽度的检查门控时钟检查(clock-gating checks)recovery and removal checksunclocked registers未约束的时序端点(unconstrained timing endpoints)multiple clocked registers组合反馈回路(combinational feedback loops)基于设计规则的检查,包括对最大电容、最大传输时间、最大扇出的检查等。
设置设计环境设置查找路径和链接路径The search_path variable specifies a list of directory pathsthatPrimeTime uses to find the designs, libraries, and other files.The link_path variable specifies a list of libraries that PrimeTime uses tolink designs读入设计(和库文件)链接顶层设计对必要的操作条件进行设置,这里包括了线上负载的模型、端口负载、驱动、以及转换时间等指定时序约束(timing constraints)定义时钟周期、波形、不确定度(uncertainty)、延时(latency)指明输入输出端口的延时等设置时序例外(timing exceptions)设置多周期路径(multicycle paths)设置虚假路径(false paths)定义最大最小延时(max | min delay)无效的arcs(disable timing)进行时序分析:在作好以上准备工作的基础上,可以对电路进行静态时序分析,生成constraint reports 和path timing reports。
静态时序分析基本原理和时序分析模型28页PPT
56、死去何所道,托体同山阿。 57、春秋多佳日,登高赋新诗。 58、种豆南山下,草盛豆苗稀。晨兴 理荒秽 ,带月 荷锄归 。道狭 草木长 ,夕露 沾我衣 。衣沾 不足惜 ,但使 愿无违 。 59、相见无杂言,但道桑麻长。 60、迢迢新秋夕,亭亭月将圆。
46、我们若已接受最坏的,就再没有什么损失。——卡耐基 47、书到用时方恨少、事非经过不知难。——陆游 48、书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。——史美尔斯 49、熟读唐诗三百首,不会作诗也会吟。——孙洙 50、谁和我一样用功,谁就会和我一样成功。——莫扎特
ห้องสมุดไป่ตู้
静态时序分析入门
静态时序分析入门1.代码分析:对程序的源代码进行静态分析,识别程序中的各种程序片段(如函数、循环、条件语句等)以及它们之间的关系。
2.构建控制流图:通过分析程序的控制结构,构建程序的控制流图。
控制流图是一种图形化表示,它将程序的执行流程以节点和边的形式表示出来。
3.构建数据流图:通过分析程序中的变量定义和使用,构建程序的数据流图。
数据流图描述了程序中数据的传递关系和依赖关系。
4.时序分析:基于控制流图和数据流图,计算各个程序片段的执行顺序和依赖关系。
通过分析程序中的并发操作、共享资源、消息传递等情况,检查是否存在时序错误。
5.错误检测和验证:根据时序分析的结果,检查程序中可能存在的并发问题、死锁等错误,并进行验证。
验证可以通过模拟程序的执行来检查时序分析的准确性,或者通过手动检查来确认错误的存在。
静态时序分析工具可以帮助开发人员快速发现程序中的时序错误,并提供相关的修复建议。
然而,静态时序分析并不能找出所有的问题,它只能检查程序中可能存在的错误。
因此,静态时序分析通常需要与其他测试技术(如动态测试)结合使用,以提高测试的覆盖率和准确性。
在使用静态时序分析进行软件测试时,需要注意以下几点:1.选择适当的工具:市面上有很多静态时序分析工具可供选择,开发人员需要根据自己的需求选择适合的工具。
一般来说,工具应具备良好的分析能力、准确性和易用性。
2.理解程序的执行流程和数据流程:静态时序分析需要对程序的执行流程和数据流程有清晰的理解。
因此,开发人员需要对程序的代码结构和逻辑有深入的了解。
3.高效使用工具:使用静态时序分析工具时,应根据具体情况进行合理的配置和参数设置,以提高工具的分析效率和准确性。
4.结合其他测试方法:静态时序分析只是软件测试过程中的一种方法,为了提高测试的全面性和准确性,还应结合其他测试技术进行综合测试。
总之,静态时序分析是一种重要的软件测试技术,它可以帮助开发人员及时发现程序中可能存在的并发问题、死锁等错误,提高软件的质量和可靠性。
工艺角(ProcessCorner)
⼯艺⾓(ProcessCorner)与双极晶体管不同,在不同的晶⽚之间以及在不同的批次之间,MOSFETs参数变化很⼤。
为了在⼀定程度上减轻电路设计任务的困难,⼯艺⼯程师们要保证器件的性能在某个范围内,⼤体上,他们以报废超出这个性能范围的芯⽚的措施来严格控制预期的参数变化。
detail通常提供给设计师的性能范围只适⽤于数字电路并以“⼯艺⾓”(Process Corner)的形式给出。
如图,其思想是:把NMOS和PMOS晶体管的速度波动范围限制在由四个⾓所确定的矩形内。
这四个⾓分别是:快NFET和快PFET,慢NFET和慢PFET,快NFET和慢PFET,慢NFET和快PFET。
例如,具有较薄的栅氧、较低阈值电压的晶体管,就落在快⾓附近。
从晶⽚中提取与每⼀个⾓相对应的器件模型时,⽚上NMOS和PMOS的测试结构显⽰出不同的门延时,⽽这些⾓的实际选取是为了得到可接受的成品率。
各种⼯艺⾓和极限温度条件下对电路进⾏仿真是决定成品率的基础。
所以我们所说的ss、tt、ff分别指的是左下⾓的corner,中⼼、右上⾓的corner。
--------------------------------------快乐的分割线------------------------------------⼯艺极限 (Process Corner)如果采⽤5-corner model会有TT,FF,SS,FS,SF 5个corners。
如TT指NFET-Typicalcorner & PFET-Typical corner。
其中, Typical指晶体管驱动电流是⼀个平均值,FAST指驱动电流是其最⼤值,⽽SLOW指驱动电流是其最⼩值(此电流为Ids电流)这是从测量⾓度解释,也有理解为载流⼦迁移率(Carrier mobility)的快慢. 载流⼦迁移率是指在载流⼦在单位电场作⽤下的平均漂移速度。
⾄于造成迁移率快慢的因素还需要进⼀步查找资料。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
统计静态时序分析(SSTA)概述
摘要
是否曾想过为什么一个设计能够以高于设计团队承诺的频率工作?为何该设计团队不能将这个更高的频率当作要实现的目标?
过去,静态时序分析被用来分析SoC是否能够在规定的目标频率工作。
时序验收要么在最差情况(WCS),要么在最佳情况(BCS)下完成。
通常,这些与三西格玛区域对应。
当然,为了结束这些情况下的时序,可能进行了大量过度设计。
统计静态时序分析(SSTA)尝试采用一种方法来减少这种不必要的过度设计,因此努力让设计变得更加切合实际,并同时帮助提高目标频率。
什么是统计静态时序分析?
过去几十年里,静态时序分析(ST A)一直是用来结束数字电路时序的一种常用方法。
但由于几何尺寸缩小到45nm甚至更小,现在要结束时序变得越来越困难了。
STA和工艺数量的增加,使得整个情形变得更为复杂。
之所以出现这样的复杂情况,是因为要在高级技术节点上实现工艺变化变得异常困难了。
现在共有两种变化:
1.芯片到芯片变化
2.芯片内变化
这两种变化又可以进一步划分为:
1.系统性变化
2.随机性变化
其中的部分变化目前仍算在传统的STA方法内。
SST A尝试按概率分布来考虑所有这些变化。
基本上,SSTA会计算概率函数,以计算每个节点上每个信号的到达时间。
如果设计达到规定的目标频率,根据到达时间的概率分布函数,就能将它计算出来。
例如,如果概率为97%,那么最小余量的信号的到达时间为5ns;到达时间为4ns的概率为10%。
这意味着200MHz的目标频率其得到的概率应为97%,250MHz的目标频率其概率为10%。
变化:
临界尺寸的扩展速度超过了我们的控制。
现在随着技术节点的减少,互连变化与有源门相比,它正逐渐占据主导地位。
由于互连开始占主导地位,时序的临界变量不只限于晶体管的临界尺寸,同时包括线段尺寸和实际形状以及附近网络的数量。
金属宽度、金属厚度、经电阻、绝缘高度都具有不同的金属层属性。
晶体管的类似属性包括晶体管长度、宽度、掺杂密度和门氧化层厚度。
1.互连变化
这种统计法对互连领域里所有可能的变化组合建模型。
例如,启动路径可能位于金属3中,而获取路径就能够则位于金属4中。
过去,STA在所有金属中会各不相同,因此不能将金属3导致最大时延、金属4导致最低时延的这种情况设立模型。
此类组合对应于建立路径的最差情况,只能从统计角度对互连变化建模来获取。
2.芯片内变化:
目前,这是通过使用启发式降额数,以及对最差情况和最佳情况时序模型进行片上变化分析来完成的。
3.芯片间变化:
工艺参数存在变化,这可能以类似方式对所有芯片产生影响。
在STA中,这是通过WCS时序模型(慢晶体管)和BCS时序模型(快晶体管)来处理的。
概率密度函数(PDF)
在SSTA中,所有参数(随机和系统参数)都是按概率分布函数(PDF)的角度来处理。
即使用的不是单个值,而是概率密度函数。
下面的图1给出了PDF示例。
图1:余量的概率密度函数(PDF)
时序路径举例:
下面给出了时序路径的一个例子(图2)。
时序路径的PDF如下图所示(图3)。
这个PDF是通过对门时延PDF和到达时间统计分析后计算得到的。
到达时间、余量、压摆等都采用Taylor系列仪器计算得出。
a0+∑i=1,n(ai∂Gi)+an+1∂Ra
其中,
–a0是平均值
–∂Gi是“n”全局源变化
–ai描述对应Gi的统计变化
–∂Ra是独立随机变量R的变化
–an+1描述对应Ra的统计变化。
平均值(µ)=a0+∑i=1,nai平均值(∂Gi)+an+1平均值(∂Ra)------(i)
标准差(σ)=[{aiStd(∂Gi)}2+{an+1Std(∂Ra)}2]½-(ii)
使用上面两个等式,这些分布函数可以用如下方式表示:
图2:PDF示例
门时延的PDF(红色)和到达时间(绿色)也在图3中标记出来了。
图3:时序路径
OUT1的PDF:
所示区域代表违反时序的概率。
基本上,该区域代表当前目标频率产生的损失。
该PDF还对第1段提到的问题做了回答。
现在,设计人员可以声称频率数字考虑了结果平衡。
这种情况有助于提高设计公司的利润,因为它们可以声称能够实现更接近的目标频率。
图4:时序路径的PDF
如上图所示,规定时序时间和达到时间的PDF结合起来,计算分布情况。
要注意的另一个方面是,在达到上图(图4)所示的数字之前,时钟延迟也可以用统计方式表示。
SSTA–难点
1.概率函数很难计算。
更重要的是,从统计角度看芯片上的变化不是彼此独立的。
2.计算需要S–lib格式的时序模型。
3.由于统计数据容量大,与传统的STA相比,该计算属于内存密集型。
4.运行时间也是一个难点。
但是,只要记住SSTA能为设计团队提供的优势,所有这些难点都可以迎刃而解。
总结
与传统的STA相比,SSTA仍处于初期阶段,但它能以更切实可行的方式为设计提供收尾工作。
它根据工艺和互连参数变化,对设计进行分析。