静态时序分析 STA

合集下载

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

EDA工具课程之PrimeTime

EDA工具课程之PrimeTime


Company Logo
五、PrimeTime命令简介
指定生成的时钟
create_generated_clock [-name clock_name] -source master_pin [-divide_by divide_factor | -multiply_by multiply_factor] [-duty_cycle percent] source_objects pt_shell> create_generated_clock -multiply_by 2 -duty_cycle 60 -source [get_pins CLK] [get_pins foo1]
三、PrimeTime进行时序分析的流程
3、 说明时序例外情况(timing exceptions) -设置多周期路径(multicycle paths) -设置虚假路径(false paths) -定义最大和最小延时、路径分割(path segmentation)和失效弧 (disabled arcs)

Company Logo
三、PrimeTime进行时序分析的流程
1、 建立设计环境 - 建立搜索路径(search path)和链接路径(link path) - 读入设计和库 (read_verilog和read_db) - 链接顶层设计 -建立运作条件、连线负载模型、端口负载、驱动和传输时间

Company Logo
五、PrimeTime命令简介
创建时钟
create_clock -period period_value [-waveform edge_list] [-name clock_name] [source_objects]

静态时序分析基础STA

静态时序分析基础STA

静态时序分析基础STA1. 背景静态时序分析的前提就是设计者先提出要求,然后时序分析⼯具才会根据特定的时序模型进⾏分析,给出正确是时序报告。

进⾏静态时序分析,主要⽬的就是为了提⾼系统⼯作主频以及增加系统的稳定性。

对很多数字电路设计来说,提⾼⼯作频率⾮常重要,因为⾼⼯作频率意味着⾼处理能⼒。

通过附加约束可以控制逻辑的综合、映射、布局和布线,以减⼩逻辑和布线延时,从⽽提⾼⼯作频率。

2. 理论分析2.1 固定参数launch edge、latch edge、Tsu、Th、Tco概念2.1.1 launch edge 时序分析起点(launch edge):第⼀级寄存器数据变化的时钟边沿,也是静态时序分析的起点。

2.1.2 latch edge 时序分析终点(latch edge):数据锁存的时钟边沿,也是静态时序分析的终点。

2.1.3 Clock Setup Time (Tsu) 建⽴时间(Tsu):是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建⽴的时间不满⾜要求那么数据将不能在这个时钟上升沿被稳定的打⼊触发器。

如图3.2所⽰:(个⼈理解建⽴时间是时钟上升沿到来前数据保持不变的时间)图3.2 建⽴时间图解2.1.4 Clock Hold Time (Th) 保持时间(Th):是指数据稳定后保持的时间,如果保持时间不满⾜要求那么数据同样也不能被稳定的打⼊触发器。

保持时间⽰意图如图3.3所⽰:(个⼈理解保持时间是时钟上升沿到来后数据保持不变的时间)图3.3 保持时间图解2.1.5 Clock-to-Output Delay(tco) 数据输出延时(Tco):这个时间指的是当时钟有效沿变化后,数据从输⼊端到输出端的最⼩时间间隔。

2.2 Clock skew 时钟偏斜(clock skew):是指⼀个时钟源到达两个不同寄存器时钟端的时间偏移,如图3.4所⽰:图3.4 时钟偏斜 时钟偏斜计算公式如下:Tskew = Tclk2 - Tclk1 (公式2-1)2.2 Data Arrival Time 数据到达时间(Data Arrival Time):输⼊数据在有效时钟沿后到达所需要的时间。

数字ic后端sta uncertainty的计算公式

数字ic后端sta uncertainty的计算公式

数字ic后端sta uncertainty的计算公式英文版The Calculation Formula of Uncertainty in STA for Digital IC BackendIn the realm of digital integrated circuit (IC) design, Static Timing Analysis (STA) is a crucial step that ensures the timing correctness of the designed circuit. However, STA often faces challenges due to various uncertainties that can affect the accuracy of timing predictions. Understanding and calculating these uncertainties is essential for reliable IC design.The calculation of STA uncertainty involves several factors that contribute to timing variations. These factors can be grouped into three main categories: process variations, environmental variations, and modeling inaccuracies.Process Variations: These variations occur during the manufacturing process of ICs. Factors such as doping levels, material properties, and manufacturing imperfections canintroduce timing delays and variations. Process variations can be further classified into within-die variations (within a single IC) and die-to-die variations (between different ICs).Environmental Variations: ICs operate in a range of environmental conditions, such as temperature, voltage, and processing load. These environmental factors can significantly affect the timing behavior of the circuit. For example, changes in temperature can lead to variations in the speed of transistors, affecting the overall timing of the circuit.Modeling Inaccuracies: The accuracy of timing predictions depends heavily on the models used to represent the circuit components. Modeling inaccuracies can arise due to limitations in the models themselves or due to inaccuracies in the parameters used in the models. These inaccuracies can lead to timing predictions that deviate from actual circuit behavior.To calculate the uncertainty in STA, a comprehensive uncertainty analysis is performed. This analysis considers all the factors mentioned above and quantifies their impact on timingpredictions. The uncertainty calculation typically involves statistical methods, such as Monte Carlo simulations, to estimate the range of possible timing outcomes.The uncertainty calculation formula in STA can be represented as:Uncertainty = (f(Process Variations, Environmental Variations, Modeling Inaccuracies))where (f) is a function that combines the contributions of all the uncertainty sources. This function can be complex and may involve statistical analysis and modeling techniques to accurately capture the combined effect of all uncertainty sources.By understanding and quantifying the uncertainty in STA, IC designers can make informed decisions about the reliability and performance of their designs. This knowledge is crucial in ensuring that the designed circuits meet the timing requirements and operate reliably in a wide range of operating conditions.中文版数字IC后端静态时序分析不确定性的计算公式在数字集成电路(IC)设计中,静态时序分析(STA)是确保电路设计时序正确性的关键步骤。

何谓静态时序分析

何谓静态时序分析

何谓静态时序分析(Static Timing Analysis,简称STA)何谓静态时序分析(Static Timing Analysis,简称STA)?它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析。

分析的最终结果当然是要求系统时序满足设计者提出的要求。

下面举一个最简单的例子来说明时序分析的基本概念。

假设信号需要从输入到输出在FPGA内部经过一些逻辑延时和路径延时。

我们的系统要求这个信号在FPGA内部的延时不能超过15ns,而开发工具在执行过程中找到了如图4.1所示的一些可能的布局布线方式。

那么,怎样的布局布线能够达到我们的要求呢?仔细分析一番,发现所有路径的延时可能为14ns、14ns、16ns、17ns、18ns,有两条路径能够满足要求,布局布线就会选择满足要求的两条路径之一。

1.静态时序分析模型因此,有些说法是错误的,不分什么情况就说时序不收敛,其实在不加约束的情况下谈时序约束是没有意义的。

附加约束的基本作用1.提高设计的工作频率对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。

通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。

2.获得正确的时序分析报告几乎所有的FPGA设计平台都包含静态时序分析工具,利用这类工具可以获得映射或布局布线后的时序分析报告,从而对设计的性能做出评估。

静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具输出正确的时序分析报告。

3.指定FPGA/CPLD引脚位置与电气标准FPGA/CPLD的可编程特性使电路板设计加工和FPGA/CPLD设计可以同时进行,而不必等FPGA/CPLD引脚位置完全确定,从而节省了系统开发时间。

这样,电路板加工完成后,设计者要根据电路板的走线对FPGA/CPLD加上引脚位置约束,使FPGA/CPLD与电路板正确连接。

静态时序分析(STA)基础

静态时序分析(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) 来确认版图的正确性。

静态时序分析与设计验证

静态时序分析与设计验证
to-Out + Data Delay + Setup Time - Clock Skew = tco + B + tsu - (E - C)
fmax
= 1/Clock Period
© 2006 Altera Corporation - Confidential 24
动态时序分析– Dynamic Timing Analysis
主要指的是门级仿真,这种方法主要应用在异步逻辑、多周期路径、 错误路径的验证, 根据输入信号的向量进行动态的时序验证,
© 2006 Altera Corporation - Confidential 3
静态时序分析
衡量电路性能的分析技术 对所有的时序路径进行检查 计算信号沿在路径上的延迟 不依赖于激励 由软件执行
例:同时钟域的两个器件间的tco时序关系
tcoA ≤ Tclk – Borad Delay - tsuB
Chip A B tco CLK
Board Delay
Chip B tsu
CLK
tcoA
tsuB
© 2006 Altera Corporation - Confidential 28
Input Maximum Delay
Minimum Delay from External Device to Altera I/O
Represents External Device tco + Board Delay
Constrains Registered Input Path (th)
External Device tco CLK
Data delay intrinsic tsu & hold

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

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

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

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

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

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

PT静态时序分析概念汇总

PT静态时序分析概念汇总
Primetime reports - Advanced STA (Mutliple clocks, Latches, OCV) - Setting up Primetime (Appendix 1)
What is Static timing Analysis?
• What is static Timing Analysis (STA) ?
• STA tool calculates
• Arrival time (min/Early, max/Late) • Required time(min/Early, max/Late) • Slack
Basic STA concepts: Timing Paths
INPUT CLOCK
Timing Point
90% Slew
10%
A clock is defined by its period, waveform and slew time.
Slew rise Waveform rise
Slew fall Waveform fall
Period
Clocks
Jitter - Variation in period from clock source (PLL)
Header
Data Arrival Section
Data Required Section
Summary- Slack
Examansition time: Time taken for a signal to reach from 10% of VDD to 90% VDD
Early Required Time
Data should change only within this window

静态时序分析(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)是满足使用者要求的。

EDA技术Synopsys公司STA工具PrimeTime介绍ppt课件

EDA技术Synopsys公司STA工具PrimeTime介绍ppt课件

ASIC设计中心
PrimeTime命令
EDA技术实验
1 设计输入
PT不能读取RTL源文件,它是静态分析引擎, 只能读取映射后的设计,包括db、verilog、 vhdl等格式的文件。 pt_shell> read_db –netlist_only <filename>.db
2018/11/15 2 ASIC设计中心
PT
EDA技术实验
PT是Synopsys的sign-off quality的STA 工具,是一个单点的全芯片、门级静态时 序分析器。 PrimeTime工作在设计的门级层次,并 且和Synopsys其它工具整合得很紧密。
2018/11/15
3
ASIC设计中心
2018/11/15
7
ASIC设计中心
PT进行时序分析的流程
EDA技术实验
进行时序分析:
在作好以上准备工作的基础上,可以对电路 进行静态时序分析,生成constraint reports 和path timing reports。
2018/11/15
8
ASIC设计中心
PrimeTime的用户界面
读入设计(和库文件) 链接顶层设计 对必要的操作条件进行设置,这里包括了线上负载 的模型、端口负载、驱动、以及转换时间等
2018/11/15
5
ASIC设计中心
PT进行时序分析的流程
EDA技术实验
指定时序约束(timing constraints)
定义时钟周期、波形、不确定度(uncertainty)、延 时(latency) 指明输入输出端口的延时等
PT
EDA技术实验
基本特点和功能:
建立和保持时间的检查(setup and hold checks) 时钟脉冲宽度的检查 门控时钟检查(clock-gating checks) recovery and removal checks unclocked registers 未约束的时序端点(unconstrained timing endpoints) multiple clocked registers 组合反馈回路(combinational feedback loops) 基于设计规则的检查,包括对最大电容、最大传输时间、 最大扇出的检查等。

静态时序分析

静态时序分析

静态时序分析1、STA过程中定义的时序路径有四种,如图1所示图1路径1:基本输入到内部时序单元的数据输入端;路径2:内部时序单元的时钟输入端到下一个内部时序单元的数据输入端;路径3:内部时序单元的数据输入端到基本输出端口;路径4:基本输入端到基本输出端口。

静态时序分析的目的是保证设计中所有的以上路径,满足内部时序单元对建立时间和保持时间的要求。

即无论起点是什么,信号都可以被及时地传递到该路径的终点,并且在电路正常工作所必需的时间段内保持恒定,也就是时序收敛。

2、时序分析起点(launch edge):第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点。

3、建立时间(Tsu):是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器。

如图2所示:图2 建立时间示意图4、保持时间(Th):是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。

保持时间示意图如图3所示:图35、时钟偏斜(clock skew):是指一个时钟源到达两个不同寄存器时钟端的时间偏移,如图4所示:图4时钟偏斜计算公式如下:Tskew = Tclk2 - Tclk16、数据到达时间(Data Arrival Time):输入数据在有效时钟沿后到达所需要的时间。

主要分为三部分:时钟到达寄存器时间(Tclk1),寄存器输出延时(Tco)和数据传输延时(Tdata),如图5所示:图5数据到达时间计算公式如下:Data Arrival Time = Launch edge + Tclk1 +Tco + Tdata7、时钟到达时间(Clock Arrival Time):时钟从latch边沿到达锁存寄存器时钟输入端所消耗的时间为时钟到达时间,如图6所示:图6时钟到达时间计算公式如下:Clock Arrival Time = Lacth edge + Tclk28、数据需求时间(Data Required Time):在时钟锁存的建立时间和保持时间之间数据必须稳定,从源时钟起点达到这种稳定状态需要的时间即为数据需求时间。

静态时序分析

静态时序分析

静态时序分析电子科技大学詹璨铭什么是静态时序分析⏹静态时序分析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简介

静态时序分析综述报告——孙声震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)是满足使用者要求的。

EDA技术_Synopsys公司STA工具PrimeTime介绍

EDA技术_Synopsys公司STA工具PrimeTime介绍
它提取整个电路的所有时序路径,通过计算信号沿 在路径上的延迟找出违背时序约束的错误,主要是 检查建立时间和保持时间是否满足要求,而它们又 分别通过对最大路径延迟和最小路径延迟的分析得 到。 静态时序分析的方法不依赖于激励,且可以穷尽所 有路径,运行速度很快,占用内存很少。 它完全克服了动态时序验证的缺陷,适合进行超大 规模的片上系统电路的验证,可以节省多达20%的设 计时间。
Perform a full analysis and examine the results
check_timing report_cell report_clock report_design report_hierarchy report_wire_load report_port report_reference report_path_group report_net report_lib report_timing report_constraint report_bottleneck report_analysis_coverage
create_clock set_clock_uncertainty set_clock_latency set_clock_transition set_input_delay set_output_delay
Specify the environment and analysis conditions
EDA技术实验 技术实验
Synopsys公司 公司STA工具 工具PrimeTime 公司 工具
2010-12-29
1
静态时序分析STA
EDA技术实验 技术实验
静态时序分析( 静态时序分析(Static Timing Analysis)技术 ) 是一种穷尽分析方法,用以衡量电路性能。 是一种穷尽分析方法,用以衡量电路性能。

静态时序分析

静态时序分析

§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情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
静态时序分析(Static Timing Analysis)基础与应用(上)
/html/EDAjishu/2007/0323/1810.html 前言 在制程进入深次微米世代之后,晶片(IC)设计的高复杂度及系统单晶片(SOC)设计方式 兴起。此一趋势使得如何确保 IC 品质成为今日所有设计从业人员不 得不面临之重大课题。静 态时序分析(Static Timing Analysis 简称 STA)经由完整的分析方式判断 IC 是否能够在使用 者的时序环境下正常工作,对确保 IC 品质之课题,提供一个不错的解决方案。然而, 对于许 多 IC 设计者而言, STA 是个既熟悉却又陌生的名词。本文将力求以简单叙述及图例说明的方式, 对 STA 的基础概念及其在 IC 设计流程中的应用做详尽 的介绍。 什么是 STA? STA 的简单定义如下:套用特定的时序模型(Timing Model),针对特定电路分析其是否违 反设计者给定的时序限制(Timing Constraint)。以分析的方式区分,可分为 Path-Based 及 Block-Based 两种。
1
来判断所设计的电路是否符合给定的 Timing Constraint。由于最常用来做静态时序分析验证核 可( STA Signoff )的 EDA 软体 PrimeTime?采用 Path-Based 的分析方式, 所以本文将以 Path-Based 的分析方式介绍为主。 再来看看 Block-Based 的分析方式。此时时序资讯(Timing Information)的储存不再是以 路径为单位,而是以电路节点(Node)为单位。由 Timing Constraint 我们仅能得知 A 节点的 AT 为 2,B 节点的 AT 为 5 以及 Y 节点的 RT 为 10。Block-Based 的分析方式会找出每个节点的 AT 和 RT,然后比对这两个数值。当 RT 的值大于 AT 时表示讯号比 Timing Constrain 中要求的 时间还早到达,如此则 Timing 是满足的,反之则不满足。
6
图十五 Clock 规格包含波形、Latency 及 Uncertainty 的定义。波形定义一个 Clock 的周期及讯号上升 缘及下降缘的时间点。 Latency 定义从 Clock 来源到序向元件 Clock 输入端的延迟时间。 Uncertainty 则定义 Clock 讯号到序向元件 Clock 输入端可能 早到或晚到的时间。 如果上面的文字让你有不知所云的感觉, 那底下看图说故事的解说也许会让你有比较清晰的 概念。在图十五的电路中,左边的正反器(Flip-Flop) 在第一个 Clock 上升缘时会丢出资料, 此资料会在第二个 Clock 上升缘让右边的 Flip-Flop 撷取。要分析右边的 Flip-Flop 能否正确 撷取 资料就必须知道第一个 Clock 上升缘到达节点 C1 的时间点和第二个上升缘到达节点 C2 的 时间点。假设在时间点为 0 的时候,Clock 讯号由 S 点出发,经 过一段时间(source latency, 1 个时间单位,模拟晶片外的 Clock 延迟时间,例如板子上的绕线产生的讯号延迟时间)到达电 路的 Clock 输入端点 P,接下来再经过一 段时间(晶片内 Clock 绕线造成的讯号延迟时间), Clock 讯号分别到达 C1 和 C2 节点。如果电路已经进行布局与绕线, 输入端点 P 到 C1 和 C2 的讯 号 延迟时间可由连线上的寄生电阻电容计算得来。比方说,经过计算发现讯号由 P 传递到 C1 需要 1 个时间单位,由 P 传递到 C2 需 2 个时间单位,则 Clock 讯号 第一个上升缘到达 C1 和第 二个上升缘到达 C2 的时间点就会如图十六下方两列所示,分别为时间点 2 和 13(因为加上了 1 个时间单位的 source latency)。
2
பைடு நூலகம்
& Disable Timing Arc、Width Timing Arc。其中第 1、4、5、8 项定义时序延迟,其他各项则 是定义时序检查。
图 四 Combinational Timing Arc 是最基本的 Timing Arc。Timing Arc 如果不特别宣告的话,就 是属于此类。 如图四所示, 他定义了从特定输入到特定输出 (A 到 Z) 的延迟时间。 Combinational Timing Arc 的 Sense 有三种,分别是 inverting(或 negative unate),non-inverting(或 positive unate)以及 non-unate。当 Timing Arc 相关之特定输出(图四 Z)讯号变化方向和 特定输入(图四 A)讯号变化方向相反(如输入由 0 变 1,输出由 1 变 0),则此 Timing Arc 为 inverting sense。 反之, 输出输入讯号变化方向一致的话, 则此 Timing Arc 为 non-inverting sense。当特定输出无法由特定输入单独决定时,此 Timing Arc 为 non-unate。
先来看看 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) 是满足使用者要求的。 按照同样的方式可以得到讯号经由路径 B 到达输出 Y 的时间点为 11(5+1+3+2),照样和上 述第三项 Timing Constraint 比对,我们可以得知对 P2 这个路径而言,Timing 是不满足使用者 要求的。 对图一的设计而言, 总共有 6 个讯号路径。 对于采用 Path-Based 分析方式的 STA 软体来说, 它会对这 6 个讯号路径作逐一的分析, 然后记录下结果。 IC 设计者藉由检视其分析报告的方式
4
• • • •
这个 Timing Arc 通常会被取消掉,因为它会造成讯号路径产生回路,这对 STA 而言是不 允许的。 Recovery Timing Arc:定义序向元件 Clock Active Edge 之前,清除讯号不准启动的时 间,依据 Clock 上升或下降分为 2 类(图九)。 Removal Timing Arc:定义序向元件 Clock Active Edge 之后,清除讯号不准启动的时 间,依据 Clock 上升或下降分为 2 类(图十)。 Three State Enable & Disable Timing Arc:定义 Tri-State 元件致能讯号(Enable) 到输出的延迟时间,依据 Enable 或 Disable 分为 2 类。(图十一) Width Timing Arc:定义讯号需维持稳定的最短时间,依据讯号维持在 0 或 1 的位准分 为 2 类。(图十二)
图 五
图 六
图 七
3
图 八
图 九
图 十
图 十一
图 十二 其他的 Timing Arc 说明如下。
• • • •
Setup Timing Arc:定义序向元件(Sequential Cell,如 Flip-Flop、Latch 等)所需 的 Setup Time,依据 Clock 上升或下降分为 2 类(图五)。 Hold Timing Arc:定义序向元件所需的 Hold Time,依据 Clock 上升或下降分为 2 类(图 六)。 Edge Timing Arc:定义序向元件 Clock Active Edge 到资料输出的延迟时间,依据 Clock 上升或下降分为 2 类(图七)。 Preset and Clear Timing Arc:定义序向元件清除讯号(Preset 或 Clear)发生后,资 料被清除的速度,依据清除讯号上升或下降及是 Preset 或 Clear 分为 4 类(图 八)。
上文列出了标准元件库内时序模型的项目,但对其量化的数据却没有加以说明。接下来,我们 就来看看到底这些时序资讯的确实数值是如何定义在标准元件库中的。 以 Combinational Timing Arc 为例,讯号从输入到输出的延迟时间可以描述成以输入的转 换时间(Transition Time)和输出的负载为变数的函数。描述的方式可以是线性的方式,如图 十三所示。也可以将这 2 个变数当成指标,建立时序表格(Timing Table),让 STA 软体可以 查询出正确的延迟时间。这种以表格描述的方式会比上述线性描述的方式准确许多,因此现今 市面上大部分的标准元件库皆采用产 生时序表格的方式来建立 Timing Model。
STA 资料准备 在做 STA 之前,我们必须对其准备工作有充分的了解。STA 所需的资料如图三所示,以下我 们分项说明。其中 Design Data 部分,由于 Block Model 和 STA 软体相关性太高,我们不在此 加以说明,请直接参阅您 STA 软体的使用手册。
图 三 Library Data: STA 所需要的 Timing Model 就存放在标准元件库(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
相关文档
最新文档