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

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

3天内不再提示

FPGA设计中时序分析的概念分析

FPGA研究院 来源:FPGA之家 作者:FPGA之家 2022-11-15 09:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

时序分析是FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路。慢慢来,先介绍时序分析中的一些基本概念。

时钟的时序特性主要分为抖动(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3点。对于低速设计,基本不用考虑这些特征;对于高速设计,由于时钟本身的原因造成的时序问题很普遍,因此必须关注。

时钟抖动 (clock jitter)

理想的时钟信号应该是理想的方波,但是现实中的时钟的边沿变化不可能是瞬变的,它有个从低到高 / 从高到低的变化过程,如下图所示。

常见的抖动参数有3种:

周期抖动(Period Jitter):周期抖动率(Period Jitter)测量时钟输出传输偏离其理想位置的最大偏离。Period Jitter代表周期差抖动的上下边界。

周期差抖动(cycle-to-cycle Jitter):周期差抖动率(cycle-to-cycle jitter)是两个相邻周期的时间偏差。它总是小于周期抖动(period jitter)

长期抖动(Long-term Jitter):长期抖动率如下图(Long-Term Jitter)定义为一个时钟沿相对于基准周期时钟沿经过一段时间的延时之后,与其理想位置的偏离。此测量可以捕获锁相环低频周期变化(缓慢的,频率很低的)。长期抖动对图形、串行连接通讯系统、打印机和任何光栅扫描操作非常重要。

时钟抖动的原因就是噪声。时钟抖动是永远存在的,当其大到可以和时钟周期相比拟的时候,会影响到设计,这样的抖动是不可接受的。

时钟偏斜 (clock skew)

时钟信号要提供给整个电路的时序单元,所以时钟信号线非常长,并构成分布式的RC网路。它的延时与时钟线的长度、时序单元的负载电容、个数有关,所以产生所谓的时钟偏移。时钟偏移是指同一个时钟信号到达两个不同的寄存器之间的时间差值,根据差值可以分为正偏移和负偏移。

时钟偏移的计算公式:Tskew = Tclk2 - Tclk1

时钟偏移是永远存在的,当其大到一定程度会影响电路的时序。解决方法就是在FPGA的设计中让主要的时钟信号走全局时钟网络。该网络采用全铜工艺和树状结构,并设计了专用时钟缓冲和驱动网络,到所有的IO单元、CLB和块RAM的偏移非常小,可以忽略不计。

占空比失真DCD (Duty Cycle Distortion)

即时钟不对称,时钟的脉冲宽度发生了变化。DCD会吞噬大量的时序裕量,造成数字信号的失真,使过零区间偏离理想的位置。DCD通常是由信号的上升沿和下降沿之间时序不同而造成的。

信号扇入/扇出 (fan-in/fan-out)

扇出(fan-out)是定义单个逻辑门能够驱动的数字信号输入最大量的术语。大多数TTL逻辑门能够为10个其他数字门或驱动器提供信号。因而,一个典型的TTL逻辑门有10个扇出信号。

在一些数字系统中,必须有一个单一的TTL逻辑门来驱动10个以上的其他门或驱动器。这种情况下,被称为缓冲器(buf)的驱动器可以用在TTL逻辑门与它必须驱动的多重驱动器之间。这种类型的缓冲器有25至30个扇出信号。逻辑反向器(也被称为非门)在大多数数字电路中能够辅助这一功能。

模块的扇出是指模块的直属下层模块的个数。一般认为,设计得好的系统平均扇出是3或4。一个模块的扇出数过大或过小都不理想,过大比过小更严重。一般认为扇出的上限不超过7。扇出过大意味着管理模块过于复杂,需要控制和协调过多的下级。解决的办法是适当增加中间层次。一个模块的扇入是指有多少个上级模块调用它。

扇人越大,表示该模块被更多的上级模块共享。这当然是我们所希望的。但是不能为了获得高扇人而不惜代价,例如把彼此无关的功能凑在一起构成一个模块,虽然扇人数高了,但这样的模块内聚程度必然低,这是我们应避免的。设计得好的系统,上层模块有较高的扇出,下层模块有较高的扇人。其结构图像清真寺的塔,上面尖,中间宽,下面小。

时序分析起点和终点

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

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

数据输出延时 (Tco)

数据输出延时(Tco):这个时间指的是当时钟有效沿变化后,数据从输入端到输出端的最小时间间隔。

建立时间 (setup time)

建立时间(setup time)是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个T就是建立时间。简而言之,时钟边沿触发前,要求数据必须存在一段时间,这就是器件需要的建立时间。如不满足建立时间,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。

保持时间 (hold time)

保持时间(hold time)是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。简而言之,时钟边沿触发后,数据也必须保持一段时间,以便能够稳定读取,这就是器件需要的保持时间。如果hold time 不够,数据同样不能被打入触发器。

如果不满足建立和保持时间的话,那么DFF(D type flip-flop/D类型触发器) 将不能正确地采样到数据,将会出现亚稳态(metastability )的情况。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。

数据到达时间 (Data Arrival Time)

输入数据在有效时钟沿后到达所需要的时间。主要分为三部分:时钟到达寄存器时间(Tclk1),寄存器输出延时(Tco)和数据传输延时(Tdata)。

数据到达时间的计算公式:

Data Arrival Time = Launch edge + Tclk1 +Tco + Tdata

时钟到达时间 (Clock Arrival Time)

时钟从latch边沿到达锁存寄存器时钟输入端所消耗的时间为时钟到达时间。

时钟到达时间的计算公式:

Clock Arrival Time = Lacth edge + Tclk2

建立裕量 (Setup Slack)

当数据需求时间大于数据到达时间时,就说时间有余量,Slack是表示设计是否满足时序的一个称谓。

建立裕量的计算公式:

Setup slack = Data Required Time - Data Arrival Time

正的slack表示数据需求时间大于数据到达时间,满足时序(时序的余量),负的slack表示数据需求时间小于数据到达时间,不满足时序(时序的欠缺量)。

最大时钟频率

时钟最小周期:系统时钟能运行的最高频率。

当数据需求时间大于数据到达时间时,时钟具有余量

当数据需求时间小于数据到达时间时,不满足时序要求,寄存器经历亚稳态或者不能正确获得数据

当数据需求时间等于数据到达时间时,这是最小时钟运行频率,刚好满足时序

最小时钟周期为数据到达时间等于数据需求时间。

时序分析

分析上图,数据传播的路径从上一级触发器到下一级触发器建立经过的数据时延总和为:Tclk1 + Tco + Tdata + Tsetup - slack + Tsu。

在两级寄存器之间,时钟间隔为:Tclk + Tclk2。

根据建立时间要求(在下一个时钟上升沿到来的时候,数据必须稳定,且保持一定的时间Tsu)可以列一个不等式:数据时延时钟间隔,即:Tclk1 + Tco + Tdata + Tsetup - slack + Tsu = Tclk + Tclk2。

同理,根据保持时间要求(时钟上升沿到来后,寄存器锁存数据的时候,数据要保持一定的稳定时间Th)可以列出:Tco + Tdata = Th。

随着系统时钟 fclk 变大时,Tclk变小,则要求 Tco + Tdata 也变小,当 Tco + Tdata 不满足第一个不等式时,不满足建立时间要求;但是,Tco + Tdata 也不是越小越好,当其太小时,不满足第二个不等式时,触发器不能正常锁存数据,即不满足保持时间要求。从某种意义上说,Th限制了数据传输速率。

对于设计者来说最大的目的是提高时序的裕量,这样即使信号完整性上出现一点问题,或者外界环境发生一定的变化,系统仍然能正常工作,这就是一个设计优良的系统应该体现出的超强的稳定性。

审核编辑:郭婷

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

    关注

    1656

    文章

    22288

    浏览量

    630385
  • 寄存器
    +关注

    关注

    31

    文章

    5590

    浏览量

    129091

原文标题:货 | FPGA开发设计必经之路:时序分析

文章出处:【微信号:FPGA研究院,微信公众号:FPGA研究院】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

    在电器、电源适配器、信息技术设备等产品的生产线末端测试或研发验证,对其上电时序、关机时序以及安规性能进行快速、全面的自动化测试,是确保产品安全性与功能符合性的最后一道关键防线。 致茂电子
    的头像 发表于 11-04 10:25 207次阅读
    Chroma 80611 电源<b class='flag-5'>时序</b>/安规综合<b class='flag-5'>分析</b>仪:电器安全与性能的自动化验证专家

    vivado时序分析相关经验

    vivado综合后时序为例主要是有两种原因导致: 1,太多的逻辑级 2,太高的扇出 分析时序违例的具体位置以及原因可以使用一些tcl命令方便快速得到路径信息
    发表于 10-30 06:58

    Altera Agilex 3 FPGA和SoC产品家族的性能分析

    本文采用严谨的基准测试方法,对全新推出的 Agilex 3 FPGA 和 SoC 产品家族进行性能分析。该系列专为成本优化型应用设计,兼具高性能、高集成度与高可靠性。
    的头像 发表于 10-27 09:37 457次阅读

    FPGA测试DDR带宽跑不满的常见原因及分析方法

    FPGA 测试 DDR 带宽时,带宽无法跑满是常见问题。下面我将从架构、时序、访问模式、工具限制等多个维度,系统梳理导致 DDR 带宽跑不满的常见原因及分析方法。
    的头像 发表于 10-15 10:17 572次阅读

    ASP4644芯片在雷达FPGA供电系统的适配与性能分析

    本文系统性地分析了国科安芯推出的ASP4644芯片在雷达FPGA供电系统的适配性与性能表现。
    的头像 发表于 10-14 17:09 425次阅读

    如何排除 USB 协议分析仪测试的干扰源?

    在USB协议分析仪测试,干扰源可能来自物理层(如信号噪声、电源波动)、协议层(如数据冲突、时序错误)或环境因素(如电磁辐射、设备兼容性问题)。排除干扰需结合硬件调试、软件配置和测试环境优化,以下
    发表于 08-01 15:00

    如何测试协议分析仪的实时响应效率?

    %)。 工具:信号发生器、流量监控软件(如Wireshark抓包对比)。 时序精度测试 目的:验证分析仪对信号时序的捕获精度(如时钟偏移、抖动)。 方法: 生成具有精确时间间隔的信号(如I2C总线
    发表于 07-24 14:19

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

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

    FPGA时序约束之设置时钟组

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

    进群免费领FPGA学习资料!数字信号处理、傅里叶变换与FPGA开发等

    ~ 01、数字信号处理的FPGA实现 旨在讲解前端数字信号处理算法的高效实现。首先概述了当前的FPGA技术、器件以及用于设计最先进DSP系统的工具。阐述了计算机算法的概念、理论、FIR和IIR滤波器
    发表于 04-07 16:41

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

    组成部分,标志着时序数据库在原生集成 AI 能力方面迈出了关键一步。 TDgpt 是内嵌于 TDengine 时序数据分析 AI 智能体,具备时序数据预测、异常检测、数据补全、分类
    的头像 发表于 03-27 10:30 563次阅读
    TDengine 发布<b class='flag-5'>时序数据分析</b> AI 智能体 TDgpt,核心代码开源

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

    本文介绍了集成电路设计静态时序分析(Static Timing Analysis,STA)的基本原理、概念和作用,并分析了其优势和局限性。
    的头像 发表于 02-19 09:46 1310次阅读

    VirtualLab Fusion应用:光波导应用的光栅分析

    各种形状的光栅结构往往是基于光导的显示系统的重要组成部分,用于增强和混合现实应用。光栅的复杂性和它们在这些设置通常扮演的多重角色要求对它们的行为进行彻底的分析,而小的特征尺寸意味着需要一个严格
    发表于 02-12 08:53

    混合信号分析仪的原理和应用场景

    分析仪通过模拟通道和数字通道对信号进行采样。模拟通道使用模拟采样器对模拟信号进行连续采样,将其转换为数字信号;数字通道则使用数字采样器对数字信号进行时序采样,转换为时序波形。 信号存储:采样后的数据会被
    发表于 01-21 16:45