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

    文章

    5619

    浏览量

    130393
  • 晶体管
    +关注

    关注

    78

    文章

    10437

    浏览量

    148571
  • 数据通路
    +关注

    关注

    0

    文章

    6

    浏览量

    7613
  • 静态时序
    +关注

    关注

    0

    文章

    20

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    海外静态IP和海外动态IP有哪些区别?怎么选择?

    这个问题其实对于需要做跨境、电商、社媒运营的人问的比较多,所以本篇内容为大家来详细介绍下,具体如下: 一、什么是静态IP、动态IP? 1、静态IP(Static IP) 简单理解就是: 一个固定不变
    的头像 发表于 04-13 12:36 86次阅读
    海外<b class='flag-5'>静态</b>IP和海外动态IP有哪些区别?怎么选择?

    zynqmp PS端DDR配置说明

    详细讲解zynqmp ps端DDR相关时序参数配置过程
    发表于 03-24 14:56 0次下载

    RGB时序灯条的工作原理讲解

    图文配合讲解了RGB时序灯条的应用场景、什么是RGB时序灯条、信号格式与传输规则、灯珠芯片的工作流程、颜色与动态效果控制方式等
    发表于 02-06 11:36 0次下载

    锁存器中的时间借用概念与静态时序分析

    对于基于锁存器的设计,静态时序分析会应用一个称为时间借用的概念。本篇博文解释了时间借用的概念,若您的设计中包含锁存器且时序报告中存在时间借用,即可适用此概念。
    的头像 发表于 12-31 15:25 5625次阅读
    锁存器中的时间借用概念与<b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>

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

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

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

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

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

    (Chroma)的 80611 时序/安规综合分析仪 正是为此类高要求应用而设计的集成化测试平台。它将时序分析与安规测试(交直流耐压、绝缘电阻、接地电阻)融为一体,极大地提升了测试效率
    的头像 发表于 11-04 10:25 659次阅读
    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 718次阅读
    什么是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

    知识分享 | 使用MXAM进行AUTOSAR模型的静态分析:Embedded Coder与TargetLink模型

    知识分享在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术知识。使用MXAM进行AUTOSAR模型的静态
    的头像 发表于 08-27 10:04 879次阅读
    知识分享 | 使用MXAM进行AUTOSAR模型的<b class='flag-5'>静态</b><b class='flag-5'>分析</b>:Embedded Coder与TargetLink模型

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

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

    动态BGP与静态BGP的区别?

    的 IP,只要远端发起 BGP 握手,且来自 AS 65002,即自动建立对等关系。四、实战应用场景分析场景一:传统运营商边界路由器 使用静态 BGP BGP 对等关系固定,变化极少 需要手动管理
    发表于 06-24 06:57

    盟通方案|专业的CANopen总线分析软件

    在CAN/CANopen产品开发过程中,数据分析是非常关键的一环。数据帧分析软件就如您工作中的万能工具。不但能够抓取CAN数据包,还能够协助您分析数据功能,甚至用规则的数据
    的头像 发表于 05-23 16:06 886次阅读
    盟通方案|专业的CANopen总线<b class='flag-5'>分析</b>软件

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

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

    FPGA时序约束之设置时钟组

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