静态时序分析中路径延时的计算

合集下载

时序分析

时序分析

转载]静态时序分析与动态时序分析原文地址:静态时序分析与动态时序分析[zz]IC时序验证用两种方法实现:一是动态时序分析,即根据电路中提取的延时参数,通过仿真软件动态的仿真电路以验证时序是否满足要求。

二是静态时序分析,即通过分析设计中所有可能的信号路径以确定时序约束是否满足时序规范。

动态时序分析的时序确认通过仿真实现,分析的结果完全依赖于验证工程师所提供的激励。

不同激励分析的路径不同,也许有些路径(比如关键路径)不能覆盖到,当设计规模很大时,动态分析所需要的时间、占用的资源也越来越大。

静态时序分析根据一定的模型从网表中创建无向图,计算路径延迟的总和,如果所有的路径都满足时序约束和规范,那么认为电路设计满足时序约束规范。

静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少。

它完全克服了动态时序验证的缺陷,适合大规模的电路设计验证。

对于同步设计电路,可以借助于静态时序分析工具完成时序验证的任务。

基于NanoTime的模拟IP时序验证和模型提取2011-02-20 21:45:21| 分类:模拟知识| 标签:时序 nanotime 模拟 timing 时钟|举报|字号大中小订阅刘杰, 王国玺,夏君,孙永升,刘泰源liujie@深圳市海思半导体有限公司AbstractAnalog and Mixed-signal IPs’ sign-off and accurate timing library generation have been long time bottleneck. As the process geometries shrink to 65, 40 and 28-nanometers, so many nanometer effects impact timing. The available timing margins are diminished. It becomes necessary to generate accurateand functional timing models for the analog and mixed-signal IPs to be able to accurately integrate into SOC design flow. This paper introduced analog IP timing validation and Library extraction using NanoTime. The description based on one of our key mixed-signal SOC project with 65nm technology. The NanoTime hierarchical flow of STA/ETM and the seamless interaction with PrimeTime has been adopted. By improving the timing model accuracy and functionality, timing margins become more realistic and timing convergence becomes less complex. The accuracy of the generated timing libraries is acceptable with proved within 5% correlation comparing with dynamic simulation results of golden HSPICE.Key Words: Analog IP, Tx-STA, ETM, Timing Library, NanoTime, PrimeTime摘要模拟和混合信号IP的签核及完整可信时序模型的提取一直是业界难题。

静态时序分析基础及应用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此档案中。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

静态时序分析(statictiminganalysis)---时序路径

静态时序分析(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此例⼦的图如下:报告开始显⽰了路径的起点,路径终点,路径组名和路径检测的类型。

门级静态时序分析与PrimeTime使用

门级静态时序分析与PrimeTime使用

第六章门级静态时序分析 PrimeTime一、PrimeTime简介PrimeTime是Synopsys的一个单点的全芯片、门级静态时序分析器。

它能分析大规模、同步、数字ASICS的时序。

PrimeTime工作在设计的门级层次,并且和Synopsys 其它工具整合得很紧密。

基本特点和功能:时序检查方面:建立和保持时序的检查(Setup and hold checks)重新覆盖和去除检查(Recovery and removal checks)时钟脉冲宽度检查(Clock pulse width checks)时钟门锁检查(Clock-gating checks)设计检查方面:没有时钟端的寄存器没有时序约束的结束点(endpoint)主从时钟分离(Master-slave clock separation)有多哥时钟的寄存器对层次敏感的时钟(Level-sensitive clocking)组合电路的反馈环(Combinational feedback loops)设计规则检查,包括最大电容(maximum capacitance)、最大传输时间(maximum transition)和最大扇出(maximum fanout)PrimeTime 时序分析流程和方法:在时序分析之前需要做的步骤:1、建立设计环境-建立搜索路径(search path)和链接路径(link path)-读入设计和库-链接顶层设计-建立运作条件、连线负载模型、端口负载、驱动和传输时间2、说明时序声明(约束)-定义时钟周期、波形、不确定性(uncertainty)和滞后时间(latency)-说明输入、输出端口的延时3、说明时序例外情况(timing exceptions)-多周期路径(multicycle paths)-不合法路径(false paths)-说明最大和最小延时、路径分割(path segmentation)和失效弧(disabled arcs)4、进行分析和生成报告-检查时序-生成约束报告-生成路径时序报告二、静态时序分析中路径延时的计算静态时序分析工具一般将电路网表看成一个拓扑图,图中的节点(node)代表电路中的引脚(pin)。

6_第五章综合库和静态时序分析

6_第五章综合库和静态时序分析

37
综合库和静态时序分析
Ø
1. 我们对Timing Path 1 进行说明
38
综合库和静态时序分析
Ø
2. 假设输入A讯号由0变1,计算第1条Path 终点讯号到达的时间(Arrival Time简称AT )。
39
综合库和静态时序分析
Ø
3. 假设输入A讯号由1变0,计算第1条Path 终点AT。
电阻 • 电容 • 面积

3
综合库和静态时序分析
工作条件
制程(process)、电压和温度的比例因数
设计规则约束(Design Rule Constraints)
• • •
最大电容和最小电容 最大转换时间和最小转换时间 最大扇出和最小扇出
4
综合库和静态时序分析
Ø 1.
2.
库文件包括 库组(library Group) 库组指令定义工艺库名。这个指令必须是在库文件 中的第一个可执行行。如: library (my_library) { … } 工艺库的一般属性 这些属性广泛地适用于技术库,包括工艺类型、延 迟模型、总线命名方式等,如:
10
综合库和静态时序分析
4. 功耗属性 第九章介绍 5. 单元描述 单元描述是技术库的一个主要的部分。单元 描述为ASIC工艺库中的每一个逻辑单元提供 面积、功能、时间和功耗等信息。 主要用非线性延迟模型来计算延迟。 主要工作是查表。
11
综合库和静态时序分析 Ø 5.1.2
设计规则
半导体厂商在工艺库加强了设计规则。 这些规则根据电容、转换时间和扇出( capacitance、transition和fanout)来约束 有多少个单元可以相互联结。设计规则一般 由半导体厂商提供,在使用工艺库中的逻辑 单元时对其联结所强加的限制。 如设计中一个逻辑单元的负载(其驱动 的负载)大于库中给定的其最大负载电容( max_capacitance)值,半导体厂商将不能 保证该电路能正常工作,我们只可以按照设 计规则的约束或按照更严格的设计规则约束 来设计电路,而不可以放松约束。

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

第3部分-计算机程序员(FPGA嵌入式应用)_3级_理论知识复习题-A

第3部分-计算机程序员(FPGA嵌入式应用)_3级_理论知识复习题-A

第3部分理论知识复习题基本概念数字电路基础一、判断题(将判断结果填入括号中。

正确的填“√”,错误的填“×”):1.数字信号是由连续变化的模拟信号采样得到的。

()2.要构成5进制计数器,至少需要3个触发器,其无效状态有3个。

()3.十进制数(25)D转换为二进制数为(11001)B。

()4.逻辑变量只有两个值,即0 和1,两者并不表示数量的大小。

()5.某三个变量逻辑函数F,若以ABC的顺序列真值表,表中F=1的个数为5个。

若以CBA的顺序列真值表,则表中F=1的个数为4个。

()6.逻辑代数运算与普通代数运算的运算规则相同。

()7.无关项就是指取值一定为零的最小项。

()8.组合逻辑电路通常由门电路组合而成。

()9.组合电路的结构特点是输入信号单向传输的,电路中不含反馈回路。

()10.奇校验位的值是其余各数据位的异或运算。

()11.由于门电路平均延迟时间的差异,使信号从输入经不同的通路传输到输出级的时间不同,这样可能导致逻辑电路的错误输出,这种现象称为竞争冒险。

()12.锁存器对脉冲电平敏感,在时钟脉冲的电平作用下改变状态,而触发器对脉冲边沿敏感,其状态只有在时钟脉冲的上升沿或下降沿的瞬间改变。

()13.IP核的重用是设计人员赢得迅速上市时间的主要策略。

()14.IP应具有多种工艺下的可用性,提供各种库的综合脚本,可以移植到新的技术。

()15.规划和制定设计规范不属于IP设计的主要流程之一。

()16.IP的验证必须是完备的,具有可重用性的。

()17.可再用IP是着眼于按各种再使用标准定义的格式和快速集成的要求而建立的,便于移植,更重要的是有效集成。

()18.国内IP市场相对落后的原因是IP使用公司的规模太小因而很难承受高昂的IP使用费用。

()19.EDA技术的发展主要经过了CAD、CAE、ESDA这3个发展阶段。

()20.电子系统级(ESL)设计主要分3步走,首先是功能设计,其次是基于应用的结构设计,最后是基于平台的结构设计。

静态时序分析(Static_Timing_Analysis)基础与应用

静态时序分析(Static_Timing_Analysis)基础与应用

静态时序分析Static Timing Analysis基础与应用前言在制程进入深次微米世代之后,晶片(IC)设计的高复杂度及系统单晶片(SOC)设计方式兴起。

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

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

然而,对于许多IC设计者而言,ST A是个既熟悉却又陌生的名词。

本文将力求以简单叙述及图例说明的方式,对S TA的基础概念及其在IC设计流程中的应用做详尽的介绍。

什么是STA?STA的简单定义如下:套用特定的时序模型(Timing Model),针对特定电路分析其是否违反设计者给定的时序限制(Timing Constraint)。

以分析的方式区分,可分为Path-Based及Block-Based两种。

先来看看Path-Based这种分析方式。

如图一所示,讯号从A点及B点输入,经由4个逻辑闸组成的电路到达输出Y 点。

套用的Timing Model标示在各逻辑闸上,对于所有输入端到输出端都可以找到相对应的延迟时洹6 褂谜吒 ǖ腡iming 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)是满足使用者要求的。

静态时序分析(Static

静态时序分析(Static

静态时序分析(Static Timing Analysis)基础与应用前言在制程进入深次微米世代之后,晶片(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)是满足使用者要求的。

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

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

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表示输入信号的传输时间,它是已知的。

时序分析之基本概念

时序分析之基本概念

时序分析之基本概念Quartus II中的时序分析为静态时序分析,即STA(static timing analysis)。

STA分析的对象是同步逻辑电路,通过路径计算延迟的总和,分析时序间的相对关系。

业界最流⾏的分析⼯具是Primetime,此系列以Altera 的Quartus 为基础的。

STA主要就是分析f max、t su、t h、t co这⼏个参数。

这些参数的定义如下:f MAX : 在不违反内部建⽴(t SU) 和保持(t H) 时间要求时,可以达到的最⼤时钟频率。

它是时序分析中最重要的指标,综合表现所设计时序的性能。

t SU : 触发器的时钟沿到来之前,输⼊数据或使能信号稳定不变的最⼩时间间隔,如果不满⾜,数据就⽆法打⼊触发器。

t H:触发器的时钟沿到来之后,输⼊数据或使能信号稳定不变的最⼩时间间隔,如果不满⾜,数据也⽆法打⼊触发器。

t CO :时钟信号在触发(寄存)器的输⼊引脚上发⽣跳变之后,输⼊信号从寄存器D端到Q端的最短时间。

各参数的图形描述:fig1. t su 与 t h的关系:如果不满⾜建⽴/保持时间,触发器可能会经历亚稳态。

这两个时间是站在同步时序电路的整个路径上看的。

t su 与 t h是和slack有关的两个量。

fig2. f MAX的计算公式:f max —电路能跑的最⾼频率; t clk—电路能跑的最⼩周期T co — 时钟跳变后,从D经过触发器到Q的延迟T data — 组合逻辑本⾝造成的延迟T su — 触发器本⾝的建⽴时间T cik_skew — 时钟偏斜T co与T su为触发器内部固有延迟,典型值为1~2ns,即Quartus Handbook中的 mT co 和 mT su 。

可知,只可能通过缩短触发器间的组合逻辑电路延迟来提⾼同步时序电路的⼯作频率。

因⽽,就有必要把⽐较⼤的组合逻辑分解为较⼩的⼏块,并在中间插⼊触发器来提⾼电路的⼯作频率,这也就是“流⽔线”技术的基本原理。

静态时序分析

静态时序分析

静态时序分析电子科技大学詹璨铭什么是静态时序分析⏹静态时序分析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)没有对应的值,做一个线性的推导,计算出相应的值。

门级静态时序分析与PrimeTime使用

门级静态时序分析与PrimeTime使用

第六章门级静态时序分析 PrimeTime一、PrimeTime简介PrimeTime是Synopsys的一个单点的全芯片、门级静态时序分析器。

它能分析大规模、同步、数字ASICS的时序。

PrimeTime工作在设计的门级层次,并且和Synopsys 其它工具整合得很紧密。

基本特点和功能:时序检查方面:建立和保持时序的检查(Setup and hold checks)重新覆盖和去除检查(Recovery and removal checks)时钟脉冲宽度检查(Clock pulse width checks)时钟门锁检查(Clock-gating checks)设计检查方面:没有时钟端的寄存器没有时序约束的结束点(endpoint)主从时钟分离(Master-slave clock separation)有多哥时钟的寄存器对层次敏感的时钟(Level-sensitive clocking)组合电路的反馈环(Combinational feedback loops)设计规则检查,包括最大电容(maximum capacitance)、最大传输时间(maximum transition)和最大扇出(maximum fanout)PrimeTime 时序分析流程和方法:在时序分析之前需要做的步骤:1、建立设计环境-建立搜索路径(search path)和链接路径(link path)-读入设计和库-链接顶层设计-建立运作条件、连线负载模型、端口负载、驱动和传输时间2、说明时序声明(约束)-定义时钟周期、波形、不确定性(uncertainty)和滞后时间(latency)-说明输入、输出端口的延时3、说明时序例外情况(timing exceptions)-多周期路径(multicycle paths)-不合法路径(false paths)-说明最大和最小延时、路径分割(path segmentation)和失效弧(disabled arcs)4、进行分析和生成报告-检查时序-生成约束报告-生成路径时序报告二、静态时序分析中路径延时的计算静态时序分析工具一般将电路网表看成一个拓扑图,图中的节点(node)代表电路中的引脚(pin)。

静态时序分析

静态时序分析
静态时序分析 Static Timing Analysis
--于斌
报告概要
时序分析概述 时序分析中的基本概念 常用工具简介

2
概念+市场研究
结构说明和RTL编码
RTL模拟
转换时钟树到DC 形式验证 (扫描插入的网表 与CT插入的网表) 布局后STA 时序正确 是 详细布线 否
逻辑综合、优化、扫描插入 形式验证(RTL和门级) 布局前STA
7

静态时序分析-Static Timing Analysis


STA是一种验证方法 STA的前提是同步逻辑设计 STA是使用工具通过路径计算延迟的综合,并比较相对预 定义时钟的延迟 STA仅关注时序间的相对关系而不是评估逻辑功能 无需用向量去激活某个路径,而是对所有的时序路径进行 错误分析,能处理百万门级的设计,分析速度比时序仿真 工具快几个数量级,在同步逻辑情况下,可以达到100% 的时序路径覆盖 STA的目的是找出隐藏的时序问题,根据时序分析结果优 化逻辑或约束条件,使设计达到时序闭合(timing closure)
39
40
PrimeTime

建立时间检查
clock delay1- clock delay2+max data path+tSU≦clock period Max data path是寄存器的tCO加上寄存器间的组合逻辑延迟
41
建立时间检查

clock delay1=0ns clock delay2=0ns max data path=tco+path delay=1.449ns+0.258ns=1.707ns 若T=4ns,则slack=4ns-1.707ns=2.293ns

静态时序分析

静态时序分析

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

【精品】静态时序分析中建立时间和保持时间关系详解.总结

【精品】静态时序分析中建立时间和保持时间关系详解.总结

静态时序分析中建立时间和保持时间关系详解.总结建立时间和保持时间关系详解图1建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。

如图1 。

数据稳定传输必须满足建立和保持时间的要求,当然在一些情况下,建立时间和保持时间的值可以为零。

PLD/FPGA开发软件可以自动计算两个相关输入的建立和保持时间。

个人理解:1、建立时间(setup time)触发器在时钟沿到来之前,其数据的输入端的数据必须保持不变的时间;建立时间决定了该触发器之间的组合逻辑的最大延迟。

2、保持时间(hold time)触发器在时钟沿到来之后,其数据输入端的数据必须保持不变的时间;保持时间决定了该触发器之间的组合逻辑的最小延迟。

关于建立时间保持时间的考虑华为题目:时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。

组合逻辑电路最大延迟为T2max,最小为T2min。

问:触发器D2的建立时间T3和保持时间T4应满足什么条件?分析:Tffpd:触发器输出的响应时间,也就是触发器的输出在clk时钟上升沿到来之后多长的时间内发生变化并且稳定,也可以理解为触发器的输出延时。

Tcomb:触发器的输出经过组合逻辑所需要的时间,也就是题目中的组合逻辑延迟。

Tsetup:建立时间Thold:保持时间Tclk:时钟周期建立时间容限:相当于保护时间,这里要求建立时间容限大于等于0。

保持时间容限:保持时间容限也要求大于等于0。

由上图可知,建立时间容限=Tclk-Tffpd(max)-Tcomb(max)-Tsetup,根据建立时间容限≥0,也就是Tclk-Tffpd(max)-Tcomb(max)-Tsetup≥0,可以得到触发器D2的Tsetup≤Tclk-Tffpd(max)-Tcomb(max),由于题目没有考虑Tffpd,所以我们认为Tffpd=0,于是得到Tsetup≤T-T2max。

静态时序分析

静态时序分析

§1.1 What is STA ?一般来说,要分析或检验一个电路设计的时序方面的特征有两种主要手段:动态时序仿真(Dynamic Timing Simulation)和静态时序分析(Static Timing Analysis)。

§1.2When to do STA ?§1.3PrimeTime Inputs and Outputs ?§1.4 Three main steps for STA⏹将设计打散成路径的集合(design > path group > path)⏹对于集合中的每条路径分别计算路径延时长度⏹检查所有路径是否满足约束1.Step 1 – Timing Path(Path Group:路径根据末端触发器的时钟不同分为不同的Clock Path Group;不为时钟所约束的路径为default Path Group对于Clock Gating Setup/Hold check的路径为clock_gating_default Path Group) 2.Step 2– Cell Delay Calculation3.Step 3– Constraints1)时钟约束DC中对路径的时序slack进行计算,完全基于对clock的约束来模拟真实布线之后的clock network.所以需要对clock 的source_latency、network_latency、clock_uncertainty、transition_time都进行设置并set_ideal_network来禁止DC由于fanout的问题修改时钟网络。

然而PT在进行时序分析的时候采用的是布局布线之后的设计,可以从SDF文件中读入时钟树信息,可以直接set_propagated_clock来计算时钟路径上的latency.2)Interface Paths的约束Set_input_delay 0.60 –clock Clk [get_ports A]Set_output_delay 0.40 –clock Clk [get_ports M]3)工作条件的约束诸如design的输入信号transition、输出负载、线载模型、PVT情况。

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

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

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

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

还描述了相应的系统。

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

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

静态时序分析中路径延时的计算
静态时序分析工具一般将电路网表看成一个拓扑图,图中的节点(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 + Dc
Dc
连线延时。

它有两种计算方法,一是通过operating_conditions中的tree_type属性和wire_load模型;二是在标准延时方程中读入一个SDF文件。

Dcell
门自身的延时,典型地是取从输入引脚电压变化到50%到输出引脚电压变化到50%的之间的时间。

CMOS非线性模型有两种计算Dcell的方法,在一个工艺库中可以混用。

一是用插值法在库所提供的单元延时表里查找;二是通过查传输(propagation)表和过渡(transition)表得到传输延时和过渡延时,再计算单元延时:Dcell = Dpropagation + Dtransition 。

Dpropagation
典型衡量Dpropagation的方法是从输入引脚电压变化了50%到门输出电压即将开始转变(比方说变化了10%)之间的时间。

这样,如果Dtransition值定义为输出电压从10%变化到50%之间的时间的话,它就要被加到Dpropagation上去。

这样结果就是输入变化了50%到输出变化了50%之间的时间。

Dtransition
输出引脚转变状态所需要的时间,有时也指输出斜坡(ramp)时间。

它是输出引脚两个参考电压之间变化的时间,可以是20%到80%或10%到50%。

它是通过插值查表法得到的。

如果提供的是单元延时表,那么总延时就是:Dtotal = Dcell + Dc ;
如果提供的是传输延时表,那么总延时就是:Dtotal = Dpropagation + Dtransition + Dc 。

库单元延时时序弧的种类有:
上升传输(Rise propagation)
单元上升(Cell rise)
下降传输(Fall propagation)
单元下降(Cell fall)
上升过渡(Rise transition)
下降过渡(Fall transition)
注:每个条延时弧可以有传输延时表或单元延时表,但不能都有;同时必须有过渡延时表。

每一个延时表可以通过以下六个变量中的一个到三个查找:
input_net_transition
output_net_length
total_output_net_capacitance
related_out_total_output_net_capacitance
output_net_pin_cap
output_net_wire_cap
延时计算举例
看下图的下降传输(fall propagation)表:一个两维的表,由输出端总电容和输入过渡时间查找。

输出端总电容由网络n1处的引脚电容、连线电容所决定。

输入过渡时间由前面的U0门所决定。

因为U1中的时序弧是负函数性质的,所以U0的上升过渡延时表就可以用来确定U1的输入过渡延时。

假设Ctotal是110.1,输入过渡延时是0.34,用这两个值在下降传输延时表中查找。

图中的黑点表示表中定义的点。

四个点和Z轴的高度值组成了供插值查找的领域,即图中的阴影部分。

下降过渡延时由下降过渡延时表得到,这个例子中它是基于输出端总电容的一维表。

前面提到了输出端总电容是110.1,通过简单的线性插值查表就可以得到延时。

然后将传输延时和下降的过渡延时相加即得到了通过U1单元的下降传输延时时间。

如果库中为U1定义的不是传输延时表,而是单元延时表,那么过渡延时时间将不计入单元延时之内。

环境缩放比例(Environmental Scaling)
当计算总延时说,时序分析器会分别考虑影响Dtotal的因素。

每一种因素都有它自己的全局参数来反映它对总延时的影响。

在通常情况下这些因素包括工艺(process)、温度(temperature)和电压(voltage)。

下面的因子可以分别应用到延时方程中去:
△v:库中定义的电压变化的值
Kv:电压对总延时影响的因子
△t:库中定义的温度变化的值
Kt:温度对总延时影响的因子
△p:库中定义的工艺变化的值
Kp:工艺对总延时影响的因子。

相关文档
最新文档