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

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

3天内不再提示

FPGA案例之时序路径与时序模型解析

454398 来源:科学计算technomania 作者:猫叔 2020-11-17 16:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

时序路径

典型的时序路径有4类,如下图所示,这4类路径可分为片间路径(标记①和标记③)和片内路径(标记②和标记④)。


对于所有的时序路径,我们都要明确其起点和终点,这4类时序路径的起点和终点分别如下表。


这4类路径中,我们最为关心是②的同步时序路径,也就是FPGA内部的时序逻辑。

时序模型

典型的时序模型如下图所示,一个完整的时序路径包括源时钟路径、数据路径和目的时钟路径,也可以表示为触发器+组合逻辑+触发器的模型。


该时序模型的要求为(公式1)

Tclk ≥ Tco + Tlogic + Trouting + Tsetup - Tskew

其中,Tco为发端寄存器时钟到输出时间;Tlogic为组合逻辑延迟;Trouting为两级寄存器之间的布线延迟;Tsetup为收端寄存器建立时间;Tskew为两级寄存器的时钟歪斜,其值等于时钟同边沿到达两个寄存器时钟端口的时间差;Tclk为系统所能达到的最小时钟周期。

这里我们多说一下这个Tskew,skew分为两种,positive skew和negative skew,其中positive skew见下图,这相当于增加了后一级寄存器的触发时间。


但对于negative skew,则相当于减少了后一级寄存器的触发时间,如下图所示。


当系统稳定后,都会是positive skew的状态,但即便是positive skew,综合工具在计算时序时,也不会把多出来的Tskew算进去。

用下面这个图来表示时序关系就更加容易理解了。为什么要减去Tskew,下面这个图也更加直观。


发送端寄存器产生的数据,数据经过Tco、Tlogic、Trouting后到达接收端,同时还要给接收端留出Tsetup的时间。而时钟延迟了Tskew的时间,因此有:(公式2)

Tdata/_path + Tsetup < = Tskew + Tclk

对于同步设计Tskew可忽略(认为其值为0),因为FPGA中的时钟树会尽量保证到每个寄存器的延迟相同。

公式中提到了建立时间,那保持时间在什么地方体现呢?

保持时间比较难理解,它的意思是reg1的输出不能太快到达reg2,这是为了防止采到的新数据太快而冲掉了原来的数据。保持时间约束的是同一个时钟边沿,而不是对下一个时钟边沿的约束。


reg2在边沿2时刻刚刚捕获reg1在边沿1时刻发出的数据,若reg1在边沿2时刻发出的数据过快到达reg2,则会冲掉前面的数据。因此保持时间约束的是同一个边沿。


在时钟沿到达之后,数据要保持Thold的时间,因此,要满足:(公式3)

Tdata/_path = Tco + Tlogic + Trouting ≥ Tskew + Thold

这两个公式是FPGA的面试和笔试中经常问到的问题,因为这种问题能反映出应聘者对时序的理解。

在公式1中,Tco跟Tsu一样,也取决于芯片工艺,因此,一旦芯片型号选定就只能通过Tlogic和Trouting来改善Tclk。其中,Tlogic和代码风格有很大关系,Trouting和布局布线的策略有很大关系。

编辑:hfy


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

    关注

    31

    文章

    5588

    浏览量

    129051
  • 触发器
    +关注

    关注

    14

    文章

    2050

    浏览量

    63039
  • 时序路径
    +关注

    关注

    0

    文章

    12

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    vivado时序分析相关经验

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

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

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

    时序约束问题的解决办法

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

    自动驾驶中常提的“时序”是个啥?有啥作用?

    [首发于智驾最前沿微信公众号]自动驾驶技术的发展,不仅依赖于感知算法的精度和决策规划的智能,还深深植根于系统内部对“时序”这一概念的精准把控。所谓时序,简单来讲,就是系统在不同模块之间、不同传感器
    的头像 发表于 07-17 09:07 730次阅读

    欧/美标直流充电桩控制时序讲解

    直流充电桩控制时序
    的头像 发表于 06-30 09:22 992次阅读
    欧/美标直流充电桩控制<b class='flag-5'>时序</b>讲解

    Pico示波器在电源时序测试中的应用

    在航天电子系统研发中,电源模块时序一致性是保障设备稳定运行的核心指标。
    的头像 发表于 05-15 15:55 723次阅读
    Pico示波器在电源<b class='flag-5'>时序</b>测试中的应用

    FPGA时序约束之设置时钟组

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

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

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

    一文详解Vivado时序约束

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

    AXI握手时序优化—pipeline缓冲器

    skid buffer(pipeline缓冲器)介绍   解决ready/valid两路握手的时序困难,使路径流水线化。   只关心valid时序参考这篇写得很好的博客链接: 握手协议(pvld
    的头像 发表于 03-08 17:10 999次阅读
    AXI握手<b class='flag-5'>时序</b>优化—pipeline缓冲器

    有没有对appsfpga_io模块输入端功能时序的控制的资料?

    我们的要求,只是按行输入数据,全局reset。有没有对appsfpga_io模块输入端功能时序的控制的资料?
    发表于 02-27 07:02

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

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

    AN-0973: 超级时序控制器的EEPROM擦除和编程

    电子发烧友网站提供《AN-0973: 超级时序控制器的EEPROM擦除和编程.pdf》资料免费下载
    发表于 01-09 13:43 0次下载
    AN-0973: 超级<b class='flag-5'>时序</b>控制器的EEPROM擦除和编程

    电源时序器3.0:数字化与网络化的融合

    在技术飞速发展的今天,电源时序器已经不再是简单的排插、时序开关,而是成为了一个高度集成化、智能化的电源管理方案。随着电源时序器的发展,我们见证了从1.0到3.0时代的演变,每一次的升级都带来了革新
    的头像 发表于 12-20 09:32 1144次阅读
    电源<b class='flag-5'>时序</b>器3.0:数字化与网络化的融合

    FPGA驱动AD芯片之实现与芯片通信

    概述: 利用FPGA实现AD芯片的时序,进一步实现与AD芯片数据的交互,主要熟悉FPGA时序图的实现,掌握时序图转换Verilog硬件描述
    的头像 发表于 12-17 15:27 1517次阅读
    <b class='flag-5'>FPGA</b>驱动AD芯片之实现与芯片通信