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

    文章

    5447

    浏览量

    125337
  • 晶体管
    +关注

    关注

    77

    文章

    10043

    浏览量

    142554
  • 数据通路
    +关注

    关注

    0

    文章

    6

    浏览量

    7566
  • 静态时序
    +关注

    关注

    0

    文章

    20

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA时序约束之设置时钟组

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

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

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

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

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

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

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

    干货!!!开关电源的软启动过程分析

    过去,要测试电源的特征,我们只是停留在用万用表测量静态电流和电压,并用计算器进行复杂的计算。今天,示波器成为了很多工程师的首选电源测量平台。有些高性价比的示波器甚至配备了电源分析软件,简化了设置
    发表于 11-26 17:40

    TPS65950实时时钟时序补偿分析

    电子发烧友网站提供《TPS65950实时时钟时序补偿分析.pdf》资料免费下载
    发表于 10-29 10:01 ?0次下载
    TPS65950实时时钟<b class='flag-5'>时序</b>补偿<b class='flag-5'>分析</b>

    用TPA4411过程中,发现静态电流居然达100MA左右,为什么?

    用TPA4411过程中,发现静态电流居然达100MA左右,这对电池供电的产品来说,要命啊,是芯片特性还是芯片问题?求解
    发表于 10-25 06:12

    LM4811在启动时或者shutdown开启关闭过程中,增益控制跟预想的有偏差是为什么?

    否是控制时序的问题,但查阅资料只有一个简单的时序图,感觉不够详细支持时序分析,请问能否提供LM4811控制
    发表于 10-23 07:19

    使用IBIS模型进行时序分析

    电子发烧友网站提供《使用IBIS模型进行时序分析.pdf》资料免费下载
    发表于 10-21 10:00 ?1次下载
    使用IBIS模型进行<b class='flag-5'>时序</b><b class='flag-5'>分析</b>

    汽车异构硬件平台开发如何进行静态代码分析

    先进的静态代码分析工具,其新版本中引入的多CCT功能为开发人员提供了强大的支持,该功能不仅简化了多编译器环境下的代码分析过程,还可以极大增强代码的质量和安全性。
    的头像 发表于 10-09 16:15 ?935次阅读
    汽车异构硬件平台开发如何进行<b class='flag-5'>静态</b>代码<b class='flag-5'>分析</b>

    电源时序器跳闸的原因和解决方法

    电源时序器跳闸是一个常见的电气问题,它可能由多种因素引起,包括电源电压不稳定、电路短路、过载电流以及时序器本身的故障等。下面将详细分析电源时序器跳闸的原因及相应的解决方法。
    的头像 发表于 09-29 16:28 ?2960次阅读

    超高速数据采集系统的时序设计与信号完整性分析

    电子发烧友网站提供《超高速数据采集系统的时序设计与信号完整性分析.pdf》资料免费下载
    发表于 09-20 11:34 ?0次下载

    DDR4时序参数介绍

    DDR4(Double Data Rate 4)时序参数是描述DDR4内存模块在执行读写操作时所需时间的一组关键参数,它们直接影响到内存的性能和稳定性。以下是对DDR4时序参数的详细解释,涵盖了主要的
    的头像 发表于 09-04 14:18 ?8152次阅读

    锁存器的基本输出时序

    在深入探讨锁存器的输出时序时,我们需要详细分析锁存器在不同控制信号下的行为表现,特别是控制信号(如使能信号E)的电平变化如何影响数据输入(D)到输出(Q)的传输过程。以下是对锁存器输出时序
    的头像 发表于 08-30 10:43 ?1270次阅读

    时序逻辑电路故障分析

    时序逻辑电路的主要故障分析是一个复杂而重要的课题,它涉及电路的稳定性、可靠性以及整体性能。以下是对时序逻辑电路主要故障的全面分析,旨在帮助理解和解决这些故障。
    的头像 发表于 08-29 11:13 ?1953次阅读