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

    文章

    5590

    浏览量

    129092
  • 数据信号
    +关注

    关注

    0

    文章

    61

    浏览量

    12272
  • Vivado
    +关注

    关注

    19

    文章

    847

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    vivado时序分析相关经验

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

    移植E203到Genesys2开发板时遇到时序问题的常见原因

    在移植E203到自己的Genesys2开发板时候遇到时序问题的常见原因 1.在vivado中,连接的管脚的信号一般都会自动添加OBUF或IBUF。 但是对于inout类型的接口,不会主动添加
    发表于 10-29 07:04

    E203内核移植到FPGA开发板时出现时序违例的解决方式

    在移植内核时,用VIVADO进行综合实现后会出现时序违例,如图: 虽然可以上板正常进行开发,但是还是想把这些违例解决下^_^ 检查后,发现是 apb_adv_timer 这条路径报的违例,解决方式
    发表于 10-27 07:32

    时序约束问题的解决办法

    在使用vivado对 Verilog 代码进行综合后,点击“SYNTHESIS”下的“Report Timing Summary”,可以查看综合后的时序报告,查看 Setup Time 和 Hold
    发表于 10-24 09:55

    E203分享之DDR扩展方案实施流程(下)

    false_path,因为mig产生的用户时钟ui_clk和系统顶层时钟clk_16M是异步的,故综合时不分析这段时序路径,否则会
    发表于 10-23 06:16

    京东:调用用户行为API分析购买路径,优化页面跳转逻辑

    ​  在电商平台的激烈竞争中, 用户购买路径的流畅性 直接影响转化率。京东通过深度整合用户行为API,构建了完整的购买路径分析体系,显著优化了页面跳转逻辑。以下是关键技术实现路径: 一、用户行为
    的头像 发表于 09-18 14:38 426次阅读
    京东:调用用户行为API<b class='flag-5'>分析</b>购买<b class='flag-5'>路径</b>,优化页面跳转逻辑

    FPGA时序约束之设置时钟

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

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

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

    一文详解Vivado时序约束

    Vivado时序约束是保存在xdc文件中,添加或创建设计的工程源文件后,需要创建xdc文件设置时序约束。时序约束文件可以直接创建或添加已存在的约束文件,创建约束文件有两种方式:Con
    的头像 发表于 03-24 09:44 4400次阅读
    一文详解<b class='flag-5'>Vivado</b><b class='flag-5'>时序</b>约束

    AMD Vivado Design Suite IDE中的设计分析简介

    本文档涵盖了如何驱动 AMD Vivado Design Suite 来分析和改善您的设计。
    的头像 发表于 02-19 11:22 923次阅读
    AMD <b class='flag-5'>Vivado</b> Design Suite IDE中的设计<b class='flag-5'>分析</b>简介

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

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

    ads1248使用三条校准指令校验时,要使用内部的VREF,还是使用外部的REF0?

    我的系统使用外部REF0输入基准电压。现在疑惑的是:使用三条校准指令校验时,要使用内部的VREF,还是使用我外部的REF0?手册中没有提到。
    发表于 01-16 07:00

    Vivado Design Suite用户指南: 设计分析与收敛技巧

    电子发烧友网站提供《Vivado Design Suite用户指南: 设计分析与收敛技巧.pdf》资料免费下载
    发表于 01-15 15:28 2次下载
    <b class='flag-5'>Vivado</b> Design Suite用户指南: 设计<b class='flag-5'>分析</b>与收敛技巧

    使用ads1148制作的测温电路中与430单片机通信,2.CKPH会使得不能正常通信吗?

    ,第二是单片机的输出SIMO,第三条是单片的输入SOMI) 问题:1.请问这个时序图是正确的吗,怎么读的? 如果把程序第(3)改为U0TCTL|=CKPL+SSEL1+STC;,单片机收不到数据,
    发表于 01-14 07:22