FPGA时序约束--基础理论篇

这篇具有很好参考价值的文章主要介绍了FPGA时序约束--基础理论篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FPGA开发过程中,离不开时序约束,那么时序约束是什么?简单点说,FPGA芯片中的逻辑电路,从输入到输出所需要的时间,这个时间必须在设定的时钟周期内完成,更详细一点,即需要满足建立和保持时间。

时序约束可以让VIvado和Quartus等FPGA开发软件,在布线时检测综合出来的逻辑电路是否满足这个时序要求,并生成时序报告。

目录

一、建立/保持时间

1、基本概念

2、时钟抖动

3、时钟偏差

二、时序路径

三、时序模型

四、总结


一、建立/保持时间

1、基本概念

设定时序约束的目的就是为了满足建立时间和保持时间,所以理解“建立时间和保持时间”这两个概念非常重要。

建立时间:在时钟上升沿到来之前,输入信号需要提前一个最小时间里“预先准备好”,这个最小时间量就是建立时间;

保持时间:在时钟上升沿到来之后,输入信号必须保持一个最小时间量“不能变化”,这样这个最小时间量就是保持时间。

FPGA时序约束--基础理论篇

只有满足建立时间和保持时间,这样才能准确捕获到这个输入信号,下一级电路逻辑才能正常接收到正确的信号。

建立和保持时间是由FPGA芯片器件特性决定,也就是制程工艺决定的,以Xilinx FPGA K7芯片为例,setup time为0.04ns,hold time为0.2ns,具体可以查对应芯片手册的setup time和hold time。

2、时钟抖动

实际的时钟信号是存在时钟抖动的,时钟抖动( Clock Jitter)是实际时钟存在随着时间积累的、时而超前、时而滞后的偏移,如下图所示。

FPGA时序约束--基础理论篇

3、时钟偏差

时钟偏差(Clock Skew)表示在同一个时钟域内时钟信号到达各个寄存器用时的差异。时钟信号在FPGA芯片中也是需要走线的,所以也存在布线延迟。

FPGA时序约束--基础理论篇

​时钟的不确定性,就是由时钟抖动和时钟偏差组成的。

二、时序路径

时序路径是指从FPGA输入到输出的所有逻辑路径组成的路径。当存在时序路径时,需要考虑时序约束以确保正确的逻辑功能和时序性能。

时序路径中的关键元素包括:

(1) 路径起点(即时钟触发器输入端口)

(2)路径终点(即输出端口的寄存器或查找表单元)

(3)逻辑电路和逻辑器件

FPGA时序约束--基础理论篇

​有了这些元素,就可以构建完整的时序路径。在实践中,我们可以使用FPGA工具来分析、优化和修复时序路径。

时序路径对于设计的正确性和时序性能来说都是非常重要的。为了最大程度地提高性能并避免瓶颈,我们必须对时序路径进行详细的分析和优化。

三、时序模型

一个基本的时序路径包括源时钟路径、数据路径和目的时钟路径,如下图所示:

FPGA时序约束--基础理论篇

​各部分对应的延时计算如下图所示:

FPGA时序约束--基础理论篇

​时序约束的公式为:Tclk ≥ Tco + Tlogic + Trouting + Tsetup - Tskew

说明:Tclk表示系统时钟周期;Tco表示发送端寄存器时钟到输出时间;Tlogic表示组合逻辑延迟时间;Trouting为两级寄存器之间的布线延迟;Tsetup为接收端寄存器的建立时间;Tskew为时钟偏差。

Tlogic与我们写的HDL代码有直接关系,Trouting是FPGA开发软件综合布线根据FPGA内部资源情况进行布线产生的延时。

四、总结

本文介绍了FPGA时序约束的基础理论知识,希望通过阅读本文,大家能够更好地理解时序约束原理,并在实际工作中运用这些原理提高设计效率和准确性。


本文将不断定期更新中,码字不易,点⭐️赞,收⭐️藏一下,不走丢哦

本文由FPGA入门到精通原创,有任何问题,都可以在评论区和我交流哦

@FPGA入门到精通获取,学习资料分享,github开源代码:“FPGA知识库”

您的支持是我持续创作的最大动力!如果本文对您有帮助,请给一个鼓励,谢谢。文章来源地址https://www.toymoban.com/news/detail-499014.html

到了这里,关于FPGA时序约束--基础理论篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA时序分析与约束(6)——综合的基础知识

            在使用时序约束的设计过程中,综合(synthesis)是第一步。         在电子设计中,综合是指完成特定功能的门级网表的实现。除了特定功能,综合的过程可能还要满足某种其他要求,如功率、操作频率等。         有时,针对特定种类或者电路有专门的综合工具

    2024年02月08日
    浏览(29)
  • VMware ESXI 7服务器中安装虚拟机(全过程超详细含中英文对照,附应知必会的理论基础和常见故障解决方案)

              这次更新是延续上次“VMware ESXI7.0的安装与配置”, 主要内容是在“ VMware ESXI 7服务器中安装虚拟机”。          篇幅较长,耐心食用。           下次还是会基于目前安装配置阶段,继续分享“ VMware ESXI 7环境内的虚拟机安装 VMware Tools ”的流程和技巧。

    2024年02月05日
    浏览(37)
  • 分布式理论基础:BASE理论

    BASE 是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( Eventual Consistency),核心思想是即使无法做到强一致性(CAP 的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性。 分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。

    2024年02月04日
    浏览(37)
  • FPGA时序分析与时序约束(四)——时序例外约束

    目录 一、时序例外约束 1.1 为什么需要时序例外约束 1.2 时序例外约束分类 二、多周期约束 2.1 多周期约束语法 2.2 同频同相时钟的多周期约束 2.3 同频异相时钟的多周期约束 2.4 慢时钟域到快时钟域的多周期约束 2.5 快时钟域到慢时钟域的多周期约束 三、虚假路径约束 四、最

    2024年01月20日
    浏览(34)
  • SQLserver基础入门理论(超基础)

    ♥️ 作者:小刘在C站 ♥️ 个人主页:  小刘主页  ♥️ 努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️ 学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏: 云计算技术 ♥️小刘私信可以随便问,只要会绝不吝啬,感谢CSD

    2024年02月10日
    浏览(40)
  • FPGA时序分析与时序约束(二)——时钟约束

    目录 一、时序约束的步骤 二、时序网表和路径 2.1 时序网表 2.2 时序路径  三、时序约束的方式 三、时钟约束 3.1 主时钟约束 3.2 虚拟时钟约束 3.3 衍生时钟约束 3.4 时钟组约束 3.5 时钟特性约束 3.6 时钟延时约束         上一章了解了时序分析和约束的很多基本概念(FP

    2024年02月03日
    浏览(56)
  • FPGA时序约束与分析(1) --- 时序约束概述

    本系列参考文献 — FPGA时序与约束分析-吴厚航 FPGA从综合到实现需要的过程如下:synth_design - opt_design - place-design - phys_opt_design - route_design 1、时序约束的理解 2、时序约束的基本路径 3、时序约束的步骤 4、时序约束的主要方法 5、查看相关时序信息 FPGA的设计约束分为物理约束

    2024年02月16日
    浏览(24)
  • FPGA时序约束--实战篇(Vivado添加时序约束)

    前面几篇文章已经详细介绍了FPGA时序约束基础知识以及常用的时序约束命令,相信大家已经基本掌握了时序约束的方法。 今天介绍一下,如何在Vivado中添加时序约束,Vivado添加约束的方法有3种:xdc文件、时序约束向导(Constraints Wizard)、时序约束编辑器(Edit Timing Constrain

    2024年02月10日
    浏览(33)
  • 数据库基础理论

    数据:描述事务的符号记录,包含但不限于数字、 文字、图形、图像、声音、语言等。数据有多重形式,它们都可以经过数字化后存入计算机。 数据库:数据仓库。是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和

    2024年01月21日
    浏览(36)
  • 微服务基础理论

    2014,微服务:架构风格(服务微化) 一个应用应该是一组小型服务;可以通过HTTP的方式进行互通; 对应的是过去的单体应用:ALL IN ONE 微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;(和ABB包想法有点儿像,进一步粒化。软件工程在原子化的方向上

    2024年02月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包