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

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

3天内不再提示

【vivado学习】典型时序模型的三条时钟路径分析

电子设计 来源: FPGA开源工作室 作者: FPGA开源工作室 2020-11-26 14:16 次阅读

典型的时序模型由发起寄存器、组合逻辑和捕获寄存器3部分组成,如图1所示形成了三条时钟路径:原时钟路径(Source Clock path)、数据时钟路径(Data path)、目的时钟路径(Destination Clock path)。

图1 时序模型1

1、建立时间(setup)和保持时间(hold)

如图1所示,时钟上升边沿(Capture Edge 、Next Launch Edge)会将数据保存下来,但是必须要满足一定的条件:

A,建立时间Tsu:在时钟有效沿之前,数据必须保持稳定的最小时间;

B,保持时间Th:在时钟有效沿之后,数据必须保持稳定的最小时间;

这就相当于一个窗口时间,在有效边沿的窗口时间内,数据必须保持稳定;这里的时钟信号时序和数据信号时序,都是寄存器实际感受到的时序。

2、发起沿和捕获沿

如图1所示,发起沿和捕获沿通常相差一个时钟周期同时捕获沿也是下一个发起沿。

发起沿(LaunchEdge):数据被launch的时钟边沿;也就是说,每一个启动沿,一般都会产生一个新的数据!

捕获沿(CaptureEdge):数据被latch的时钟边沿;也就是说,每一个锁存沿,都会有一个新的数据被保存!

3、时序模型2

如图2所示:

Clk--时钟源

Rega--发起寄存器

Regb--捕获寄存器

Tclka--原时钟延时

Tclkb--目的时钟延时

Tco--发起沿有效到数据出现在发起寄存器Q端口所需时间

Tdata--数据延时(组合逻辑和走线延时)

Tsu--捕获寄存器建立时间

Th--捕获寄存器保持时间

图2 时序模型2

4、数据到达时间(Data Arrival Time)

图3 数据到达时间

数据到达时间(Data Arrival Time)=Launch Edge +Tclka+Tco+Tdata

已发起沿为时间参考点,LaunchEdge 通常为0。

5、数据建立需求时间(setup)


数据建立需求时间(DataRequired Time(setup)) = Tclkb-Tsu-Clock Uncertainty

表明数据必须提前Tsu稳定存在于捕获寄存器的输入端口。

6、数据保持需求时间(hold)


数据保持需求时间(DataRequired Time(hold))=Tclkb +Th-Clock Uncertainty

表明数据必须在时钟捕获沿(regb/clk)之后稳定存在一段时间Th。

7、建立时间裕量(Setup Slack)


建立时间裕量(SetupSlack)= Data Required Time(setup)-Data Arrival Time(setup)

如果SetupSlack为正,则说明数据在规定的时间内达到了目标。反之,则认为数据并没有在规定的时间达到目标,此时REG2锁存的数据很有可能存在亚稳态。

8、保持时间裕量(Hold Slack)


保持时间裕量(holdSlack)=DataRequired Time(hold)-Data Arrival Time(hold)

如果为正,则认为数据在被锁存的时候有足够多的稳定时间,是有效的。反之则认为数据有误或者数据可能存在亚稳态。

编辑:hfy


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

    关注

    31

    文章

    5308

    浏览量

    119981
  • 数据信号
    +关注

    关注

    0

    文章

    58

    浏览量

    11966
  • Vivado
    +关注

    关注

    19

    文章

    807

    浏览量

    66312
收藏 人收藏

    评论

    相关推荐

    TPS65950实时时钟时序补偿分析

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

    Vivado使用小技巧

    有时我们对时序约束进行了一些调整,希望能够快速看到对应的时序报告,而又不希望重新布局布线。这时,我们可以打开布线后的dcp,直接在Vivado Tcl Console里输入更新后的时序
    的头像 发表于 10-24 15:08 202次阅读
    <b class='flag-5'>Vivado</b>使用小技巧

    使用IBIS模型进行时序分析

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

    深度学习典型模型和训练过程

    深度学习作为人工智能领域的一个重要分支,近年来在图像识别、语音识别、自然语言处理等多个领域取得了显著进展。其核心在于通过构建复杂的神经网络模型,从大规模数据中自动学习并提取特征,进而实现高效准确的预测和分类。本文将深入解读深度
    的头像 发表于 07-03 16:06 1196次阅读

    FPGA 高级设计:时序分析和收敛

    、16ns、17ns、18ns,有两条路径能够满足要求,布局布线就会选择满足要求的两条路径之一。 图 1 静态时序分析模型
    发表于 06-17 17:07

    Xilinx FPGA编程技巧之常用时序约束详解

    Register-to-Register Constraint 寄存器到寄存器约束往往指的是周期约束,周期约束的覆盖范围包括: 覆盖了时钟域的时序要求 覆盖了同步数据在内部寄存器之间的传输 分析一个单独的
    发表于 05-06 15:51

    FPGA工程的时序约束实践案例

    详细的原时钟时序、数据路径时序、目标时钟时序的各延迟数据如下图所示。值得注意的是数据
    发表于 04-29 10:39 663次阅读
    FPGA工程的<b class='flag-5'>时序</b>约束实践案例

    Xilinx FPGA编程技巧之常用时序约束详解

    寄存器到寄存器约束往往指的是周期约束,周期约束的覆盖范围包括: 覆盖了时钟域的时序要求 覆盖了同步数据在内部寄存器之间的传输 分析一个单独的时钟域内的
    发表于 04-12 17:39

    具有三条 100mA 通道的低 EMI 汽车 LED驱动器TPS61193-Q1数据表

    电子发烧友网站提供《具有三条 100mA 通道的低 EMI 汽车 LED驱动器TPS61193-Q1数据表.pdf》资料免费下载
    发表于 04-09 14:40 0次下载
    具有<b class='flag-5'>三条</b> 100mA 通道的低 EMI 汽车 LED驱动器TPS61193-Q1数据表

    “AI+工业互联网”赋能新型工业化的路径分析

    横看成岭侧成峰,探索“AI+工业互联网”技术赋能新型工业化的路径,还要从技术视角、产业视角、应用视角综合分析
    的头像 发表于 03-14 10:57 1068次阅读

    FPGA设计的常用基本时序路径分析

    该条路径包括了触发器内部clock-to-Q的延迟,触发器之间的由组合逻辑造成的路径延迟以及目标触发器的建立时间,其延时是数据从源触发器开始,在下一个时钟沿来到之前通过组合逻辑和布线的最大时间
    的头像 发表于 01-18 16:31 750次阅读
    FPGA设计的常用基本<b class='flag-5'>时序</b><b class='flag-5'>路径分析</b>

    如何禁止vivado自动生成 bufg

    Vivado中禁止自动生成BUFG(Buffered Clock Gate)可以通过以下步骤实现。 首先,让我们简要了解一下什么是BUFG。BUFG是一个时钟缓冲器,用于缓冲输入时钟信号,使其更稳
    的头像 发表于 01-05 14:31 1946次阅读

    Vivado时序问题分析

    有些时候在写完代码之后呢,Vivado时序报红,Timing一栏有很多时序问题。
    的头像 发表于 01-05 10:18 1891次阅读

    Vivado约束学习时钟约束介绍

    在数字设计中,时钟代表从寄存器(register)到寄存器可靠传输数据的时间基准。
    的头像 发表于 01-04 09:16 2744次阅读
    【<b class='flag-5'>Vivado</b>约束<b class='flag-5'>学习</b>】 <b class='flag-5'>时钟</b>约束介绍

    VIVADO安装问题解决

    vivado出现安装问题刚开始还以为是安装路径包含中文空格了,重装的注意了一下,发现还是这个问题。。。。后来又一顿操作猛如虎,终于发现了问题。出这个问题的原因是vivado压缩包解压的路径
    发表于 12-22 10:56 0次下载