0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

静态时序的分析原理及详细过程

电子设计 来源:CSDN博主 作者:IamSarah 2020-11-25 11:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

静态时序分析是检查IC系统时序是否满足要求的主要手段。以往时序的验证依赖于仿真,采用仿真的方法,覆盖率跟所施加的激励有关,有些时序违例会被忽略。此外,仿真方法效率非常的低,会大大延长产品的开发周期。静态时序分析工具很好地解决了这两个问题。它不需要激励向量,可以报出芯片中所有的时序违例,并且速度很快。

通过静态时序分析,可以检查设计中的关键路径分布;检查电路中的路径延时是否会导致setup违例;检查电路中是否由于时钟偏移过大导致hold违例;检查时钟树的偏移和延时等情况。此外静态时序分析工具还可以与信号完整性工具结合在一起分析串扰问题。常用的静态时序工具是PrimeTime。

下面主要阐述一下静态时序的分析原理:静态时序分析工具读入门级网表、时序约束等信息,然后进行静态时序分析。分析过程可以分为3步:

1)将电路分解为时序路径,即将电路转换为时序路径的集合。时序路径是一个点到点的数据通路,数据沿着时序路径进行传递。它的起点是输入端口或者寄存器的时钟,终点是输出端口或者一个寄存器的输入引脚,每个路径最多只能穿过一个寄存器。这样时序路径就可以划分为:输入端口到寄存器、寄存器到寄存器、寄存器到输出端口、输入端口到输出端口。如下图所示,分析其时序路径:


根据时序路径的定义,我们可以找到4条时序路径:从输入端口A到FF1的D端;从FF1的Clk端到FF2的D端;从FF2的clk端到输出端口out1;从输入端口A到输出端口out1。将这些路径在下图标出:




2)计算每个路径上面的延时。在一个路径上,可能包含这几类延时:连线延时(布局布线前后的延时计算方法不一样)、组合逻辑的单位延时(影响因子有输入信号的转换时间,该值也决定输入晶体管的翻转速度、负载、单元本身的固有延时、制程、电压、温度等)、寄存器从clk端到Q端的延时。一个路径上的延时是该路径上所有连线的延时与单位延时的综合。延时一般定义为从输入跳变的50%时刻到输出跳变的50%之间的时间。

3)检查路径时序约束是否满足。路径约束主要指的是建立时间约束和保持时间约束。在寄存器的综合库描述中对寄存器的D端定义了建立时间和保持时间的约束。所谓建立时间约束是指在采样时钟到达之前,数据应该稳定的时间;保持时间是指在时钟到达之后,数据应该保持的时间,这样才能保证寄存器正确地锁存数据。对于纯组合逻辑,时序分析主要检查最大延时约束和最小延时路径。这种情况比较简单。

时钟对于时序电路至关重要。在进行RTL设计时,可以认为时钟是理想的,但在静态时序分析的时候,必须考虑到实际的时钟情形。时钟模型的精度直接影响了静态时序分析的精度。时钟的非理想性包括:

1)时钟偏移(clock skew):同一时钟原到达不同的寄存器的延时不同。

2)时钟抖动(clock jitter):时钟频率和相位会不断变化,脉冲宽度会发生变化。

实际情况中,振荡器、互连、电源、负载都会影响到时钟,导致时钟出现偏移、抖动。下面主要讲一下在静态时序分析中,如何对实际的时钟进行建模。考虑下图中的电路,电路中时钟源位于芯片外部。我们将时钟定义在芯片端口上,从时钟源到达端口需要经过3ns左右的延时(板级走线的延时),从时钟端口到寄存器要经过1ns左右的延时(时钟树的延时),对时钟树的延时进行建模可以采取下面的办法:


1)先在端口上定义时钟:

create_clock per8.0 [get_ports clk]

2)设置从时钟源到时钟端口的板级延时:

set_clock_latency source 3 clk

3)设置时钟树本身的延时,在布局布线之前可以采取下面的方法: set_clock_latency 1 clk;在布局布线之后,可以得到时钟树延时的确定值,采用如下的命令:set_propagated_clock clk;

但是如果知道时钟源上的时钟具有0.2ns的不确定性,如下图所示,可以采用下面的方法进行建模:


set_clock_latency 2.8 source early [get_ports clk]

set_clock_latency 3.2 source late [get_ports clk]

在设计中,往往存在分频时钟,如下图是一个2分频电路。


如果进行静态时序分析时,直接援用create_clock来设置,则PT会将分频后的时钟看做是一个与源时钟毫无关系的时钟。这样在分析源时钟域与分频时钟域之间的信号时,可能会出现问题。正确设置分频时钟方法如下:

create_generated_clock name divide

source [get -pins U4/clk] divide-by 2 [get -pins U4/Q]

下面概括介绍一下对于静态时序分析脚本构造的大致过程:

1)读入设计的相关信息:链接库、网表,如果是PR之后的静态时序分析还需要读入寄生参数信息

2)设置驱动及负载

3)设置时钟

4)设置建立时间和保持时间

5)设置设计规则约束:最大负载、最大转换时间等

6)分析时序:用report_timing 等检查时序,用report_constraint 检查是否有违例。

具体的构造过程可以参考综合脚本,这里不再详述。

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5590

    浏览量

    129092
  • 晶体管
    +关注

    关注

    78

    文章

    10272

    浏览量

    146335
  • 数据通路
    +关注

    关注

    0

    文章

    6

    浏览量

    7593
  • 静态时序
    +关注

    关注

    0

    文章

    20

    浏览量

    7056
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数字IC/FPGA设计中的时序优化方法

    在数字IC/FPGA设计的过程中,对PPA的优化是无处不在的,也是芯片设计工程师的使命所在。此节主要将介绍performance性能的优化,如何对时序路径进行优化,提高工作时钟频率。
    的头像 发表于 12-09 10:33 1545次阅读
    数字IC/FPGA设计中的<b class='flag-5'>时序</b>优化方法

    ADP7000系列示波器特色功能:抖动分析,捕捉时序之微

    ,它不仅会引发数据传输误码率的上升,还可能造成系统时序混乱、性能受限,甚至导致功能失效。航天测控自研的ADP7000系列高性能数字实时示波器配备专业抖动分析软件包,具
    的头像 发表于 11-13 09:04 142次阅读
    ADP7000系列示波器特色功能:抖动<b class='flag-5'>分析</b>,捕捉<b class='flag-5'>时序</b>之微

    Chroma 80611 电源时序/安规综合分析仪:电器安全与性能的自动化验证专家

    (Chroma)的 80611 时序/安规综合分析仪 正是为此类高要求应用而设计的集成化测试平台。它将时序分析与安规测试(交直流耐压、绝缘电阻、接地电阻)融为一体,极大地提升了测试效率
    的头像 发表于 11-04 10:25 208次阅读
    Chroma 80611 电源<b class='flag-5'>时序</b>/安规综合<b class='flag-5'>分析</b>仪:电器安全与性能的自动化验证专家

    什么是CVE?如何通过SAST/静态分析工具Perforce QAC 和 Klocwork应对CVE?

    本文将为您详解什么是CVE、CVE标识符的作用,厘清CVE与CWE、CVSS的区别,介绍CVE清单内容,并说明如何借助合适的静态分析工具(如Perforce QAC/Klocwork),在软件开发早期发现并修复漏洞。
    的头像 发表于 10-31 14:24 288次阅读
    什么是CVE?如何通过SAST/<b class='flag-5'>静态</b><b class='flag-5'>分析</b>工具Perforce QAC 和 Klocwork应对CVE?

    vivado时序分析相关经验

    改为寄存输出。 时序分析有两个主要路径 Intra-clock:同时钟之间的路径分析,需实打实解决。(改善设计,改变综合策略等) Inter-clock:表示跨时钟路径,在静态
    发表于 10-30 06:58

    汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262合规实践

    ISO 26262合规指南,从ASIL分级到工具落地,手把手教你用静态代码分析(Perforce QAC)实现高效合规。
    的头像 发表于 08-07 17:33 872次阅读
    汽车软件团队必看:基于<b class='flag-5'>静态</b>代码<b class='flag-5'>分析</b>工具Perforce QAC的ISO 26262合规实践

    电机瞬态过程分析的MATLAB建模与仿真

    能发生严重的过电压现象。这就要求研究分析电机发生瞬变过程时的各状态量,了解瞬变过程所能产生的影响或后果,以改进电机的设计方案及制造方案,并提出相应的继电保护方案。在自动控制系统中,主要是研究系统中各元件及整个
    发表于 04-29 16:29

    FPGA时序约束之设置时钟组

    Vivado中时序分析工具默认会分析设计中所有时钟相关的时序路径,除非时序约束中设置了时钟组或false路径。使用set_clock_gro
    的头像 发表于 04-23 09:50 973次阅读
    FPGA<b class='flag-5'>时序</b>约束之设置时钟组

    TDengine 发布时序数据分析 AI 智能体 TDgpt,核心代码开源

    2025 年 3 月 26 日,涛思数据通过线上直播形式正式发布了其新一代时序数据分析 AI 智能体——TDgpt,并同步开源其核心代码。这一创新功能作为 TDengine 3.3.6.0 的重要
    的头像 发表于 03-27 10:30 564次阅读
    TDengine 发布<b class='flag-5'>时序数据分析</b> AI 智能体 TDgpt,核心代码开源

    机房托管费详细分析

    机房托管费是一个复杂而多变的话题,它受到多种因素的影响,以下是对机房托管费用的详细分析,主机推荐小编为您整理发布机房托管费详细分析
    的头像 发表于 02-28 09:48 1015次阅读

    集成电路设计中静态时序分析介绍

    Analysis,STA)是集成电路设计中的一项关键技术,它通过分析电路中的时序关系来验证电路是否满足设计的时序要求。与动态仿真不同,STA不需要模拟电路的实际运行过程,而是通过
    的头像 发表于 02-19 09:46 1314次阅读

    ADC的静态指标有专用的分析工具吗?

    请问:ADC的静态指标有专用的分析工具吗?该指标很少在评估ADC指标时使用,是否该指标不重要,应用中什么情况下需要评估该指标? 另外ADC的SNR = 6.02*N + 1.76 +10*log10(fs/2BW) 当被采样信号为单音时 该BW为多少?
    发表于 02-08 08:13

    请教ADS1292时序问题

    ,有时候却不能,读出来是0.程序没改情况下出现这种情况,是什么原因造成的呢?是我的时序有问题,还是干扰问题,我下载到开发板上,离开软件调试,发现也是不稳定。而且我的SCLK要很低才能读出数据,16分频以上了,SCLK是512MHz,希望能帮我分析
    发表于 01-20 09:01

    TRCX:掺杂过程分析

    在 LTPS 制造过程中,使用自对准掩模通过离子注入来金属化有源层。当通过 TRCX 计算电容时,应用与实际工艺相同的原理。工程师可以根据真实的 3D 结构提取准确的电容,并分析有源层离子注入前后的电位分布,如下图所示。 (a)FIB (b) 掺杂前后对比
    发表于 01-08 08:46

    ADS1299+RK3399在数据采样的过程中,有数据丢失的情况怎么解决?

    我们在数据采样的过程中,发现有数据丢失的情况,通过逻辑分析仪发现,出现数据丢失时,时序存在问题。具体见下图: 从图中可以看出,DRDY出现了异常,CS也是异常。有谁遇到过这种情况? android系统 SPI 通讯方式。 有
    发表于 12-16 06:58