01_静态时序分析基本原理和时序分析模型
静态时序分析综述报告以及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)是满足使用者要求的。
FPGA静态时序分析
FPGA静态时序分析在FPGA设计中,静态时序分析是一个非常重要的步骤,用于评估电路在不同工作条件下的时序要求是否能够满足。
本文将介绍FPGA静态时序分析的概念、步骤、工具以及常见的优化技术,以帮助读者更好地理解和应用静态时序分析。
1.概念静态时序分析是指在FPGA设计中,通过分析电路中各个时序元素(如时钟、延迟等)之间的关系,来确定电路是否能够满足设计要求的一种分析方法。
它能够预测电路在各种工作条件下的最快和最慢工作频率,从而保证电路能够正确运行。
2.步骤静态时序分析通常包括以下几个步骤:(1)设计综合:首先将设计描述(如Verilog或VHDL)综合成门级电路表示,得到与FPGA相关的逻辑网表。
(2)时钟约束设置:设置设计中的时钟频率和时钟边沿等约束条件。
时钟约束对于时序分析非常关键,它告诉工具如何处理时钟信号以及如何计算时钟间的延迟等。
(3)路径分析:对电路中的各个时序路径进行分析,包括从时钟到寄存器的路径(称为注册路径)和从寄存器到输出的路径(称为组合路径)。
路径分析主要用于确定时序路径上的关键路径和最长路径。
(4)时序缺陷检测:对设计中存在的潜在时序缺陷进行检测,例如时序冒险、信号捕获问题等。
时序缺陷可能导致电路不能按照设计要求正确工作,因此在分析过程中需要及时检测和解决这些问题。
(5)时序优化:根据静态时序分析的结果,对电路进行优化,以满足设计要求。
常见的优化技术包括添加额外的时钟约束、优化逻辑电路结构、调整时钟频率等。
3.工具在进行FPGA静态时序分析时,通常使用专门的时序分析工具,如Xilinx的TimeQuest和Altera的TimeQuest等。
这些工具能够自动识别设计中的时序路径和时序要求,并进行全面的时序分析和优化。
4.优化技术静态时序分析的结果可以指导电路的优化,以满足设计要求。
常见的优化技术包括:(1)添加额外的时钟约束:通过设置更严格的时钟约束,可以减小时钟间的延迟、提高时钟频率,并且可以帮助工具更准确地评估时序关系。
综合与静态时序分析
综合与静态时序分析综合与静态时序分析是软件工程中常用的两种分析方法,用于评估系统的性能、可靠性和效率等方面。
本文将详细介绍综合与静态时序分析的基本概念、应用场景以及优缺点,并对两者进行比较,以便读者能够更好地了解和应用这两种方法。
一、综合时序分析综合时序分析是指通过建立模型,对系统进行模拟和分析,得出系统性能和可靠性等相关指标。
综合时序分析主要考虑系统的整体性能,包括处理速度、吞吐量、延迟等方面。
常用的综合时序分析方法有排队网络模型、离散事件模拟等。
综合时序分析的应用场景包括网络通信、分布式系统、并行计算等领域。
在这些领域中,系统的性能和可靠性要求较高,并且通常涉及多个组件之间的协作和交互。
通过综合时序分析,可以预测系统的行为、发现潜在的问题,并提出改进措施。
综合时序分析的优点是可以全面考虑系统的各个方面,分析结果较为准确。
然而,综合时序分析通常需要复杂的模型和大量的计算,对分析人员的要求较高。
此外,由于模型建立和参数设定的不准确性,综合时序分析的结果可能和实际情况存在一定的偏差。
静态时序分析是指在系统的设计和实现阶段,通过对系统的源代码或设计文档进行静态分析,得出系统的时序行为和性能指标。
常用的静态时序分析方法有程序切片、基本块图、语义分析等。
静态时序分析的应用场景包括软件开发、代码审查、性能优化等领域。
在这些领域中,开发人员需要预先了解系统的行为和性能,并进行相应的设计和优化。
通过静态时序分析,可以发现源代码中的潜在问题、提高系统的性能等。
静态时序分析的优点是可以在系统设计和实现的早期阶段就发现问题,并及时进行调整。
此外,静态时序分析可以在不需要运行系统的情况下进行,因此可以节省时间和资源。
然而,静态时序分析通常只考虑系统的源代码和设计文档,可能忽略了系统运行时的复杂环境和其它外部因素的影响。
三、综合时序分析与静态时序分析的比较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) 来确认版图的正确性。
非常详细的静态时序分析教程
非常详细的静态时序分析教程静态时序分析是电子设计自动化领域中的重要方法之一,用于评估数字电路中的时序性能。
本教程将介绍静态时序分析的基本概念、方法和步骤,并提供一些实例来帮助读者深入了解这个领域。
一、静态时序分析的基本概念在进行静态时序分析之前,我们需要了解一些基本概念:1.时钟边沿:时钟是数字电路中的基本信号之一,它的边沿可以分为上升沿和下降沿。
时序分析通常以时钟的上升沿作为参考边沿进行分析。
2.关键路径:在一个数字电路中,存在多条路径可以连接输入和输出。
关键路径是指在特定时钟频率下,数据从输入到输出的延时最长的路径。
时序分析的目标之一就是找到并优化关键路径,以提高电路的性能。
3.时序约束:时序约束是对数字电路的时序性能要求的规定。
通常由设计者在进行时序分析之前进行设置,用于指导分析工具进行正确的分析和优化。
二、静态时序分析的方法和步骤静态时序分析的主要方法是通过对电路中的时钟域、数据路径和约束条件进行建模和分析,从而判断关键路径和优化方案。
下面是静态时序分析的基本步骤:1. 建立电路模型:首先,需要将数字电路转化为时序分析工具可以理解的模型,通常可以使用硬件描述语言(如Verilog或VHDL)对电路进行描述。
2.设定时序约束:根据设计规范和目标性能要求,制定适当的时序约束,如最大延时、最小脉冲宽度等。
时序约束的制定需要根据具体的电路应用和设计要求进行。
3.进行静态时序分析:使用时序分析工具对电路进行分析,找到关键路径,并计算出关键路径的延时。
关键路径上的最大延时指示了电路的最坏情况性能。
4.优化关键路径:在找到关键路径后,可以通过各种手段进行优化,如增加缓冲器、减少逻辑门延时等。
优化的目标是减小关键路径的延时,以提高整个电路的性能。
5.重新进行时序分析:在优化关键路径之后,需要重新进行时序分析,确保所做的优化在整个电路中得到正确应用,并满足时序约束。
三、实例分析让我们通过一个简单的例子来说明静态时序分析的具体过程。
何谓静态时序分析
何谓静态时序分析(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与电路板正确连接。
静态时序分析基本原理和时序分析模型
Designer must enter timing requirements & exceptions
−
Used to guide fitter during placement & routing − Used to compare against actual results
PRE
PRE Q D Q
Setup Slack = Data Required Time – Data Arrival Time
Positive slack − Timing requirement met Negative slack − Timing requirement not met
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 13
Tsu Latch Edge
CLK Data must be valid here REG2.CLK REG2.D
Tclk2
Tsu
Data Valid
Data Required Time = Clock Arrival Time - Tsu - Setup Uncertainty
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 10
Setup Slack
静态时序分析的基本概念和目的
静态时序分析的基本概念和⽬的内容:静态时序分析的概念与⽬的与时钟相关的时序特性静态时序分析(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)三种。
在低速设计中不需要考虑这些时序特性;但是在告诉设计中,由于这三种特性会造成普遍的时序问题。
静态时序分析方法的基本原理和应用
费 太 多 的 没 计 时 间 而 成 为 制 约 产 快 速 面 市 的 瓶 颈 。 采 用 逻 而 辑 模 拟 加 上 形 式 验 证 和 时 分 析 这 样 的设 计 流 可 以 有 效 地 缩 短 数 集 成 电 路 的设 计 周 期 , 逐 渐 成 为 主 流 的 A I 而 SC设 计 方 法 。 住 这 样 的 没计 流 程 中模 拟 只 在 寄 存 器 传 输 级 进 行 , 以 用
维普资讯
业 研带
出发 恭
业 夺 出 带
静 态 时序 分 析 方 法 的基 本 原 理 和 应 用
简贵 胄 葛 宁 冯重 熙 ( 清华 大 学 电子 工程 系, 京 l0 8 ) 北 0 0 4
E m ij n zO - al i gO @ma ss g u . u n :a i. i h a d . l tn e c
出某 些 路 径 存 在 的 时 序 失 效 , 静 态 时 序 分 析 因 为 遍 所 行 路
径 , 以 明 确 地 指 出 时 序 失 效 发 的 电 路 部 分 ; 外 静 念 时 序 可 另 分 析 的 方 法 为 不 要 求 任 何 输 入 欠 , 就 能 很 快 得 到 分 析 结 果 , 而 省 了很 多 的 设 计 时 I 。此 外 软 件 技 术 的 发 展 使 得 静 从 X J 态 时 序 分 析 软 件 在 功 能 和性 能 上 町 以满 足 全 片 分 析 的 要 求 , 支 持 片 卜系统 没 计 . 很 快 获 得 设 计 时 序 要求 提 供 J强 有 力 的 支 为 , 持 。 目前很 多 时 序 分 析 软 什 , 已经 能 提 供 百 万 门 级 没 汁所 要 求 的 时 序 分析 性 能 。
静态时序分析(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.有限状态机:有限状态机是描述系统行为的一种抽象模型,它可以把系统的执行顺序表示为一个状态转移图。
01_静态时序分析基本原理和时序分析模型
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 6
Setup & Hold
Every device path in design must be analyzed with respect to timing specifications/requirements
Catch timing-related errors faster and easier than gate-level simulation & board testing
Quartus® II Software Design Series: Timing Analysis
- Timing analysis basics
© 2009 Altera Corporation 1
Objectives
Display a complete understanding of timing analysis
Tsu
Setup Slack
Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 12
Setup Slack (cont’d)
Launch & Latch Edges
REG1
D
SET
Q
Comb. Logic
静态时序分析课件
案例三:时钟偏差与时钟抖动问题解决
总结词
详细描述
案例四:时序违规问题解决
要点一
总结词
要点二
详细描述
时序违规问题是指在设计中的时序信号不能满足时序约束 条件,可能导致数据传输错误或系统不稳定。
在静态时序分析中,需要仔细检查设计的时序信号是否满 足约束条件,并采取相应的措施来解决时序违规问题。可 以采用优化设计、调整时序约束条件或使用静态时序分析 工具等方法来解决时序违规问题。
时钟源与负载不匹配问题
总结词
详细描述
时钟偏差与时钟抖动问题
总结词
时钟偏差与时钟抖动问题是指时钟信号 在传输过程中出现的偏差和抖动现象, 可能导致数据的不稳定和时序违规。
VS
详细描述
时钟信号在传输过程中会受到各种因素的 影响,如线路长度、连接器、时钟源的抖 动等,导致时钟信号的偏差和抖动。这种 偏差和抖动可能导致数据的不稳定和时序 违规。为了解决这个问题,需要减小传输 过程中的偏差和抖动,并加强时钟网络的 同步和稳定性。
THANKS
感谢观看
时钟偏差是指时钟信号到达不同寄存器的时间偏差,通常由时钟源、时钟网络和寄 存器本身引起。
时钟抖动和偏差是影响数字电路时序分析的重要因素,需要进行有效的管理和优化。
03
静态时序分析方法
路径延迟分析
路径延迟分析是静态时序分析中的重 要步骤,它通过计算信号在电路中传 输的延迟时间,来确定信号到达时间 是否满足时序要求。
时序违规问题
总结词
详细描述
06
静态时序分析案例研究
案例一:时钟域交叉问题解决
总结词
详细描述
案例二:时钟源与负载不匹配问题解决
总结词
时钟源与负载不匹配问题是指时钟源的频率与负载的要求不匹配,可能导致数据 传输错误或资源浪费。
静态时序分析
--于斌
报告概要
时序分析概述 时序分析中的基本概念 常用工具简介
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.代码分析:对程序的源代码进行静态分析,识别程序中的各种程序片段(如函数、循环、条件语句等)以及它们之间的关系。
2.构建控制流图:通过分析程序的控制结构,构建程序的控制流图。
控制流图是一种图形化表示,它将程序的执行流程以节点和边的形式表示出来。
3.构建数据流图:通过分析程序中的变量定义和使用,构建程序的数据流图。
数据流图描述了程序中数据的传递关系和依赖关系。
4.时序分析:基于控制流图和数据流图,计算各个程序片段的执行顺序和依赖关系。
通过分析程序中的并发操作、共享资源、消息传递等情况,检查是否存在时序错误。
5.错误检测和验证:根据时序分析的结果,检查程序中可能存在的并发问题、死锁等错误,并进行验证。
验证可以通过模拟程序的执行来检查时序分析的准确性,或者通过手动检查来确认错误的存在。
静态时序分析工具可以帮助开发人员快速发现程序中的时序错误,并提供相关的修复建议。
然而,静态时序分析并不能找出所有的问题,它只能检查程序中可能存在的错误。
因此,静态时序分析通常需要与其他测试技术(如动态测试)结合使用,以提高测试的覆盖率和准确性。
在使用静态时序分析进行软件测试时,需要注意以下几点:1.选择适当的工具:市面上有很多静态时序分析工具可供选择,开发人员需要根据自己的需求选择适合的工具。
一般来说,工具应具备良好的分析能力、准确性和易用性。
2.理解程序的执行流程和数据流程:静态时序分析需要对程序的执行流程和数据流程有清晰的理解。
因此,开发人员需要对程序的代码结构和逻辑有深入的了解。
3.高效使用工具:使用静态时序分析工具时,应根据具体情况进行合理的配置和参数设置,以提高工具的分析效率和准确性。
4.结合其他测试方法:静态时序分析只是软件测试过程中的一种方法,为了提高测试的全面性和准确性,还应结合其他测试技术进行综合测试。
总之,静态时序分析是一种重要的软件测试技术,它可以帮助开发人员及时发现程序中可能存在的并发问题、死锁等错误,提高软件的质量和可靠性。
静态时序分析
§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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Catch timing-related errors faster and easier than gate-level simulation & board testing
Tsu
Setup Slack
Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 12
Setup Slack (cont'd)
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 4
Path & Analysis Types
Setup Slack = Data Required Time – Data Arrival Time
Positive slack Timing requirement met Negative slack Timing requirement not met
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 13
Async Path
PRE D Q
Data Path
D
PRE 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
Hold Slack
The margin by which the hold timing requirement is met. It ensures latch data is not corrupted by data from another launch edge.
REG1
PRE
Tdata
Data Required Time - Setup
The minimum time required for the data to get latched into the destination register
REG1
PRE
REG2
D
Q
Comb. Logic
PRE
D
Q
CLR
CLR
Tclk2
Clock Arrival Time = latch edge + Tclk2
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 9
Together, the setup time and hold time form a Data Required Window, the time around a clock edge in which data must be stable.
Hold:
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 7
Designer must enter timing requirements & exceptions
Used to guide fitter during placement & routing Used to compare against actual results
PRE
PRE Q D Q
*Asynchronous refers to signals feeding the asynchronous control ports of the registers
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 5
Tsu Latch Edge
CLK Data must be valid here REG2.CLK REG2.D
Tclk2
Tsu
Data Valid
Data Required Time = Clock Arrival Time - Tsu - Setup Uncertainty
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 10
IN CLK CLR
D
OUT
CLR
CLR
combinational delays
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 3
Clock Arrival Time
The time for clock to arrive at destination register's clock input
REG1
PRE
REG2
D
Q
Comb. Logic
PRE
D
Q
CLR
CLR
Tclk2 Latch Edge CLK
Tclk2
REG2.CLK
Data Required Time - Hold
The minimum time required for the data to get latched into the destination register
REG1
PRE
REG2
D
Q
Comb. Logic
PRE
D
Q
CLR
CLR
Tclk2
Th Latch Edge
Data Arrival Time
The time for data to arrive at destination register's D input
REG1
PRE
Tdata
Comb. Logic
REG2
PRE
D
Q
D
Q
Tclk1
CLR
CLR
TCO Launch Edge CLK REG1.CLK REG1.Q
DATA
D PRE Q
CLK
Tsu Th
DATA Valid
CLKபைடு நூலகம்
CLR
Setup:
The minimum time data signal must be stable BEFORE clock edge The minimum time data signal must be stable AFTER clock edge
Comb. Logic
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 2
How does timing verification work?
Quartus II Software Design Series: Timing Analysis
- Timing analysis basics
2009 Altera Corporation 1
Objectives
Display a complete understanding of timing analysis
CLK Data must remain valid to here REG2.CLK REG2.D
Tclk2
Th
Data Valid
Data Required Time = Clock Arrival Time + Th + Hold Uncertainty
2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 11