静态时序分析中的门延时计算

合集下载

用于电路设计中的静态时序分析的方法和系统[发明专利]

用于电路设计中的静态时序分析的方法和系统[发明专利]

专利名称:用于电路设计中的静态时序分析的方法和系统专利类型:发明专利
发明人:刘洋,欧鹏,牛佳,戴红卫
申请号:CN201410712156.2
申请日:20141128
公开号:CN105701266A
公开日:
20160622
专利内容由知识产权出版社提供
摘要:本公开内容涉及用于电路设计中的静态时序分析的方法和系统。

在一个实施例中,公开了一种用于在电路设计的静态时序分析中计算路径延迟的方法,包括:确定所述电路设计的路径中的第一器件与第二器件的连接关系;基于所述连接关系生成与所述第一器件和所述第二器件相关联的延迟约束,所述延迟约束规定所述第一器件的第一器件延迟与所述第二器件的第二器件延迟之间的相关性;以及使用符合延迟约束的所述第一器件延迟和所述第二器件延迟来计算所述路径的路径延迟。

还描述了相应的系统。

申请人:国际商业机器公司
地址:美国纽约阿芒克
国籍:US
代理机构:北京市金杜律师事务所
代理人:酆迅
更多信息请下载全文后查看。

静态时序分析基础及应用1(下)

静态时序分析基础及应用1(下)

前言在制程进入深次微米世代之后,晶片(IC)设计的高复杂度及系统单晶片(SOC)设计方式兴起。

此一趋势使得如何确保IC品质成為今日所有设计从业人员不得不面临之重大课题。

静态时序分析(Static Timing Analysis简称STA)经由完整的分析方式判断IC是否能够在使用者指定的时序下正常工作,对确保IC品质之课题,提供一个不错的解决方案。

在「静态时序分析(Static Timing Analysis)基础及应用(上)」一文中笔者以简单叙述及图例说明的方式,对STA的基础概念做了详尽的说明。

接下来,就让我们藉由实际设计范例来瞭解STA在设计流程的应用。

设计范例说明设计范例为一个32bit x 32bit的Pipeline乘法器,其架构如图一所示。

Pipeline共分3级,电路之输出输入端皆有暂存器储存运算数值。

图一依据Cell-based设计的方式,首先以硬体描述语言设计图一之电路。

接下来实作此电路,进行合成(Synth esis)及布局与绕线(P&R)。

并在实作的各步骤后进行静态时序分析,确认时序规格是否满足。

实作及验证所用到的软体及设计资料库如下所示:∙合成:Synopsys TM Design Compiler∙布局与绕线:Synopsys TM Astro∙设计资料库:Artisan TM0.18um Cell Library在接下来的文章中,各位将会看到静态时序分析在实作过程中的应用。

藉由实际产生的数据瞭解在不同实做步骤上时序分析的差异。

时序限制(Timing Constraint)要作静态时序分析,首先要有时序限制。

此设计范例的时序限制如下所述。

(→后為设定时序限制之SD C指令)1 时脉规格(Clock Specification)1.1 週期:6ns →create_clock -name "MY_CLOCK" -period 6 -waveform {0 3} [get_ports {clk}]1.2 Source Latency:1ns →set_clock_latency -source 1 [get_clocks {MY_CLOCK}]1.3 Network Latency:1ns →set_clock_latency 1 [get_clocks {MY_CLOCK}]1.4 Skew:0.5ns →set_clock_uncertainty 0.5 [get_clocks {MY_CLOCK}]2 周边状况(Boundary Condition)2.1 输入延迟(Input Delay):1.2ns →set allin_except_CLK [remove_from_collection [all_inputs] [get_po rts clk] ]set_input_delay $I_DELAY -clock MY_CLOCK $allin_except_CLK2.2 输出延迟(Output Delay):1.2ns →set_output_delay $O_DELAY -clock MY_CLOCK [all_outputs]2.3 输出负载(Output Loading):0.5pF →set_load $O_LOAD 0.5 [all_outputs]3 时序例外(Timing Exception):无合成软体之时序报告当Synopsys Design Compiler将电路合成完毕后,执行下面指令可以產生时序报告:report_timing -path full -delay max -max_paths 10 -input_pins \-nets -transition_time -capacitance > timing_syn.txt时序报告会储存在timing_syn.txt此档案中。

FPGA静态时序分析

FPGA静态时序分析

FPGA静态时序分析在FPGA设计中,静态时序分析是一个非常重要的步骤,用于评估电路在不同工作条件下的时序要求是否能够满足。

本文将介绍FPGA静态时序分析的概念、步骤、工具以及常见的优化技术,以帮助读者更好地理解和应用静态时序分析。

1.概念静态时序分析是指在FPGA设计中,通过分析电路中各个时序元素(如时钟、延迟等)之间的关系,来确定电路是否能够满足设计要求的一种分析方法。

它能够预测电路在各种工作条件下的最快和最慢工作频率,从而保证电路能够正确运行。

2.步骤静态时序分析通常包括以下几个步骤:(1)设计综合:首先将设计描述(如Verilog或VHDL)综合成门级电路表示,得到与FPGA相关的逻辑网表。

(2)时钟约束设置:设置设计中的时钟频率和时钟边沿等约束条件。

时钟约束对于时序分析非常关键,它告诉工具如何处理时钟信号以及如何计算时钟间的延迟等。

(3)路径分析:对电路中的各个时序路径进行分析,包括从时钟到寄存器的路径(称为注册路径)和从寄存器到输出的路径(称为组合路径)。

路径分析主要用于确定时序路径上的关键路径和最长路径。

(4)时序缺陷检测:对设计中存在的潜在时序缺陷进行检测,例如时序冒险、信号捕获问题等。

时序缺陷可能导致电路不能按照设计要求正确工作,因此在分析过程中需要及时检测和解决这些问题。

(5)时序优化:根据静态时序分析的结果,对电路进行优化,以满足设计要求。

常见的优化技术包括添加额外的时钟约束、优化逻辑电路结构、调整时钟频率等。

3.工具在进行FPGA静态时序分析时,通常使用专门的时序分析工具,如Xilinx的TimeQuest和Altera的TimeQuest等。

这些工具能够自动识别设计中的时序路径和时序要求,并进行全面的时序分析和优化。

4.优化技术静态时序分析的结果可以指导电路的优化,以满足设计要求。

常见的优化技术包括:(1)添加额外的时钟约束:通过设置更严格的时钟约束,可以减小时钟间的延迟、提高时钟频率,并且可以帮助工具更准确地评估时序关系。

第6章CMOS静态门电路(2)-延迟(半导体集成电路共14章)讲解

第6章CMOS静态门电路(2)-延迟(半导体集成电路共14章)讲解
CGSO CGC CGDO
n+ S
n+ D
P_SUB
非饱和区 (VGS>VTH, VDS< VGS-VTH)
非饱和区: 沟道形成,相当于D、S连通, CGD=CGS ≈(1/2) CoxWL CGB=0
2018/9/25
MOSFET栅极电容(cont.)
Gate
CGSO CGC CGDO
n+ S
n+ D
CMOS逻辑门传输延迟举例
FO=1
反向器
2输入与非门
2输入或非门
2018/9/25
各种CMOS门电路的传输延迟
N输入逻辑门
自身延迟时间:
LE倍
反向器
反向器为0, n输入逻辑门为n0
0.75CinvR0
后级负载延迟时间: 0.75CinvR0: FO=1时,反向器的延迟时间 f: Fan out LE: Logical Effort
半导体 集成电路
学校:西安理工大学 院系:自动化学院电子工程系 专业:电子、微电 时间:秋季学期
2018/9/25
CMOS静态组合门电 路的延迟(速度)
2018/9/25
延迟时间实测方法
2018/9/25
本节内容
延迟时间的估算方法 负载电容的估算 传输延迟时间估算举例 缓冲器最优化设计
CSB
B
CDB
Vin
Vout
2018/9/25
2018/9/25
MOSFET交叠电容
Gate
CGSO CGC CGDO
CGDO
n+ S
n+ D
P_SUB
CGSO和CGDO—交叠电容,由源漏横向扩散形成,值一定

静态时序分析(Static Timing Analysis)

静态时序分析(Static Timing Analysis)

STA Vs Event Simulation
Event Driven Timing simulation STA
Vector Generation Design Coverage Runtime Capacity
Required Vector dependent(limited) coverage Takes several days/weeks of CPU time Can run out of memory for multimillion designs No special features for timing sis
静态时序分析
潘伟涛
主要内容
• • • • • What is STA? Why STA? What STA do? When STA? How to do STA?
STA的概念
静态时序分析简称STA(Static Timing Analysis),是一种针对大 规模门级电路进行时序验证的有效方法。它只需要根据电路网表 的拓扑,就可以检查电路设计中所有路径的时序特性,测试路径 的覆盖率理论上可以达到100%,从而保证时序验证的完备性; 同时由于不需要测试向量,所以STA验证所需时间远小于门级仿 真时间。
Analysis/Debug features
Design style support
No Restrictions
STA in the ASIC Design Flow
Tech Library HDL Source
Pre-layout STA
Module netlists Constraints STA models Logic synthesis
• The STA tool: Builds netlist in memory Exhaustively traces every possible timing path Computes and propagates delays and skews Determines critical paths Reports timing paths, violations, etc

非常详细的静态时序分析教程

非常详细的静态时序分析教程

非常详细的静态时序分析教程静态时序分析是电子设计自动化领域中的重要方法之一,用于评估数字电路中的时序性能。

本教程将介绍静态时序分析的基本概念、方法和步骤,并提供一些实例来帮助读者深入了解这个领域。

一、静态时序分析的基本概念在进行静态时序分析之前,我们需要了解一些基本概念:1.时钟边沿:时钟是数字电路中的基本信号之一,它的边沿可以分为上升沿和下降沿。

时序分析通常以时钟的上升沿作为参考边沿进行分析。

2.关键路径:在一个数字电路中,存在多条路径可以连接输入和输出。

关键路径是指在特定时钟频率下,数据从输入到输出的延时最长的路径。

时序分析的目标之一就是找到并优化关键路径,以提高电路的性能。

3.时序约束:时序约束是对数字电路的时序性能要求的规定。

通常由设计者在进行时序分析之前进行设置,用于指导分析工具进行正确的分析和优化。

二、静态时序分析的方法和步骤静态时序分析的主要方法是通过对电路中的时钟域、数据路径和约束条件进行建模和分析,从而判断关键路径和优化方案。

下面是静态时序分析的基本步骤:1. 建立电路模型:首先,需要将数字电路转化为时序分析工具可以理解的模型,通常可以使用硬件描述语言(如Verilog或VHDL)对电路进行描述。

2.设定时序约束:根据设计规范和目标性能要求,制定适当的时序约束,如最大延时、最小脉冲宽度等。

时序约束的制定需要根据具体的电路应用和设计要求进行。

3.进行静态时序分析:使用时序分析工具对电路进行分析,找到关键路径,并计算出关键路径的延时。

关键路径上的最大延时指示了电路的最坏情况性能。

4.优化关键路径:在找到关键路径后,可以通过各种手段进行优化,如增加缓冲器、减少逻辑门延时等。

优化的目标是减小关键路径的延时,以提高整个电路的性能。

5.重新进行时序分析:在优化关键路径之后,需要重新进行时序分析,确保所做的优化在整个电路中得到正确应用,并满足时序约束。

三、实例分析让我们通过一个简单的例子来说明静态时序分析的具体过程。

统计静态时序分析(SSTA)概述

统计静态时序分析(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%。

变化:临界尺寸的扩展速度超过了我们的控制。

现在随着技术节点的减少,互连变化与有源门相比,它正逐渐占据主导地位。

由于互连开始占主导地位,时序的临界变量不只限于晶体管的临界尺寸,同时包括线段尺寸和实际形状以及附近网络的数量。

金属宽度、金属厚度、经电阻、绝缘高度都具有不同的金属层属性。

晶体管的类似属性包括晶体管长度、宽度、掺杂密度和门氧化层厚度。

静态时序分析(statictiminganalysis)

静态时序分析(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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1引言
在集成电路设计过程中,模拟方法是应用最多的验证时序正确与否的手段,然而,模拟方法在微系统芯片(SoC)时代正面临严竣的挑战。

传统的逻辑模拟方法虽然比较快,但需要输入向量作为激励,给使用带来很多不便;更为严重的是其精度不够高,不能处理SoC时代越来越严重的互连线的耦合电容、电感效应。

电路模拟方法虽然能非常精确地计算SoC时代的各种效应,但其速度太慢,容量也太小。

静态时序分析技术通过提取整个电路的所有时序路径,计算信号沿(上升沿或下降沿)在传播过程的延时,然后检查在最坏情况下电路中是否存在建立时间和保持时间不满足要求的器件,从而确认被验证的电路是否存在时序问题。

它们又分别通过对最大路径延迟和最小路径延迟的分析得到。

静态时序分析不需要输入向量、运行速度快、占用内存少,因而成为SoC时代最主要的时序验证手段。

延时计算和最长/最短路径分析是静态时序分析的关键。

由于互连线结构 [1]对门延时的影响非常大,必须在门延时模型中充分考虑这一因素才能确保静态分析结果的正确性。

本文提出新的Π模型方法,结合了门的等效电容[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结论
静态时序分析中的门延时模型对于正确进行静态时序分析有着重要的意义,我们结合了等效电容和门负载的互连线拓扑架构两个概念,提出了新的门延时模型。

通过实验结果说明,它克服了以前门延时模型过于悲观和乐观的计算结果,较好地保证了静态时序分析的精度。

下一步的工作可以集中于门负载是互连线时,存在串扰的情况下的模型,这样可以使模型更加全面。

相关文档
最新文档