FPGA时序约束与分析(1) --- 时序约束概述

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

本系列参考文献 — FPGA时序与约束分析-吴厚航

FPGA从综合到实现需要的过程如下:synth_design -> opt_design -> place-design -> phys_opt_design -> route_design

1、时序约束的理解
2、时序约束的基本路径
3、时序约束的步骤
4、时序约束的主要方法
5、查看相关时序信息

1、时序约束的理解

FPGA的设计约束分为物理约束和时序约束:

  • 物理约束主要包括 I/O 接口约束,布局约束,布线约束以及配置约束。其中 I/O 接口约束主要为引脚分配、电平标准设定等物理属性的约束。
  • 时序约束是涉及FPGA内部的各种逻辑或走线的延时,反应系统的频率和速度的约束。

FPGA实现时序约束与分析的流程可以定义为:

  1. 提出时序要求:设计者根据实际的系统功能,通过时序约束的方式提出时序要求;
  2. 根据要求布线:FPGA编译工具根据设计者的时序要求,进行布局布线;
  3. 给出时序报告:编译完成后,FPGA编译工具针对布局布线的结果,套用特定的时序模型给出最终的时序分析和报告。
  4. 根据报告修改时序设计:设计者通过查看时需报告,确定布局布线后的时序结果是否满足者及要求。

时序约束中的欠约束和过约束:

  • 欠约束:约束的过松,约束要求比实际要求低;
  • 过约束:约束的过紧,约束要求比实际要求高。

2、时序约束的基本路径

时序约束所覆盖的时序路径主要有一下4类:

  1. reg2reg,FPGA内部寄存器之间的时序路径;
  2. pin2reg,输入引脚到FPGA内部寄存器的时序路径;
  3. reg2pin,FPGA内部寄存器到输出引脚的时序路径;
  4. pin2pin,输入引脚到输出引脚之间的时序路径(不通过寄存器)。
    fpga tns,FPGA时序,fpga开发,fpga时序约束

3、时序约束的步骤

时序约束通常分为4个主要步骤:时钟约束 —> 输入/输出接口约束 —> 时钟分组和跨时钟约束 —> 时序例外约束。

fpga tns,FPGA时序,fpga开发,fpga时序约束

4、时序约束的主要方法

注意: 时序约束辅助工具或者相关的TCL命令,都必须在 open synthesis design / open implemention design 后才能有效运行。本章示例中在synthesis和implemention目录下操作一样。

(1)、GUI

1)、时序约束向导

时序约束向导首次打开,需要选定时序约束的目标XDC文件,流程如下图。

fpga tns,FPGA时序,fpga开发,fpga时序约束

已有目标xdc文件后,打开时序约束向导,在弹出的窗口点击next后,按照 primary clocks/generated clocks等时钟顺序一页一页显示添加约束。会显示当前需要添加约束的部分时钟(只显示get_port,pins和nets不显示)以及已经约束的时钟。

fpga tns,FPGA时序,fpga开发,fpga时序约束

2)、时序约束编辑器

  时序约束编辑器打开方法见下图。在时序约束界面可以按照左边的Clocks分组添加时钟约束。

fpga tns,FPGA时序,fpga开发,fpga时序约束

详细时钟添加流程见下图:

fpga tns,FPGA时序,fpga开发,fpga时序约束

如果当前没有指定目标约束文件,在点击保存会弹出下图界面,只要选定目标文件即可。

fpga tns,FPGA时序,fpga开发,fpga时序约束

(2)、手动输入约束

在.xdc文件中进行编辑。在 vivado 的 Language Templates 中,有基本语法模板。

5、查看相关时序信息

相关tcl命令见下图:

fpga tns,FPGA时序,fpga开发,fpga时序约束

(1)识别设计时钟
  查看所有时钟:report_clock_networks(Tcl),打印已约束和未约束的所有时钟。
  时序确认报告: check_timing(Tcl),打印工程基本信息以及12条check timming。这12条报告中,可以确认当前工程的时序约束状态,明确有多少路径目前没有被约束。
(2)查看时钟信息:
  查看已约束时钟的详细信息: report_clocks(Tcl)打印包含时钟周期在内的的所有时钟信息。
  查看是否有 unsafe 时钟:report_clock_interaction(Tcl) 或 Implentation- Report Clock Interaction(推荐)。
  查看时序约束状态:report_timing_summary (Tcl)或者 Implentation- report timing summary (推荐)或者直接 open implemented design ,查看 Timing 窗口,主要查看WNS、TNS、WHS、THS、WPWS、TPWS这6个参数,参数具体含义及标红报错修改方法见后续文章。文章来源地址https://www.toymoban.com/news/detail-596218.html

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

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

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

相关文章

  • FPGA时序分析与约束(5)——时序路径

            在之前的文章中我们分别介绍了组合电路的时序,时序电路的时序和时钟的时序问题,我们也对于时序分析,时序约束和时序收敛几个基本概念进行了区分,在这篇文章中,我们将介绍时序约束相关的最后一部分基本概念,带领大家了解什么是时序路径。       

    2024年02月09日
    浏览(42)
  • FPGA时序分析与时序约束(Vivado)

    后缀L的这个单元中,会生成锁存器 查看布线 定位线路 时间分析,还要考虑数据变化的建立时间与保持时间 经过图上计算可得公式 : Tsu裕量 = (Tskew + 时钟周期 - Tsu) - (Tco + Tdelay) Thd裕量 = Tco + Tdelay - Thd 两个时间都大于0,才能保证系统不产生亚稳态。 建立时间裕量、组

    2024年01月19日
    浏览(45)
  • FPGA时序分析与约束(1)——组合电路时序

            关于时序分析和约束的学习似乎是学习FPGA的一道分水岭,似乎只有理解了时序约束才能算是真正入门了FPGA,对于FPGA从业者或者未来想要从事FPGA开发的工程师来说,时序约束可以说是一道躲不过去的坎,所以从这篇文章开始,我们来正式进行FPGA时序分析与约束的学

    2024年02月10日
    浏览(39)
  • FPGA的时序分析、约束和收敛(1)----什么是时序分析?什么是时序约束?什么又是时序收敛?

    文章目录         写在前面         磨刀不误砍柴工         什么是时序分析?         什么是时序约束?         什么是时序收敛?         时序约束与分析是FGPA开发过程中一项必备的技能,同时也是设计开发中相对较难的部分。很多人一谈起FPGA开

    2024年02月12日
    浏览(37)
  • FPGA时序分析与时序约束(一)——基础知识

    目录 一、为什么要进行时序分析和时序约束 二、什么是时序分析和时序约束 三、时序约束的基本路径 四、时序分析与约束的基本概念 4.1 Clock Uncertainty 4.2 建立时间和保持时间 4.3 发起沿和采样沿 4.4 数据到达时间和时钟达到时间 4.5 建立时间下的数据需求时间 4.6 保持时间

    2024年02月03日
    浏览(33)
  • FPGA时序分析与约束(10)——生成时钟

            最复杂的设计往往需要多个时钟来完成相应的功能。当设计中存在多个时钟的时候,它们需要相互协作或各司其职。异步时钟是不能共享确定相位关系的时钟信号,当多个时钟域交互时,设计中只有异步时钟很难满足建立和保持要求。我们将在后面的内容中介绍这部

    2024年02月21日
    浏览(43)
  • FPGA时序分析与约束(13)——I/O接口约束

            在应用了时钟约束后,所有寄存器到寄存器的路径都能定时。为了获得更加精准的FPGA外部时序信息,设计者需要为FPGA的I/O接口指定时序信息,一般时序工具只能获取FPGA器件内部的时序信息,对于FPGA器件引脚之外的时序信息,必须由设计者约束定义。如果没有指定的

    2024年02月05日
    浏览(44)
  • FPGA时序分析和约束(15)——多周期路径

    系列文章目录: FPGA时序分析与约束(0)——目录与传送门 https://ztzhang.blog.csdn.net/article/details/134893857         在前文中,我们知道了时序异常可以分成3种类型,分别是虚假路径、多周期路径、最小延迟和最大延迟,我们已经详细介绍过来虚假路径,本文中,我们来介绍多周

    2024年02月20日
    浏览(31)
  • FPGA时序分析与约束(0)——目录与传送门

            关于时序分析和约束的学习似乎是学习FPGA的一道分水岭,似乎只有理解了时序约束才能算是真正入门了FPGA,对于FPGA从业者或者未来想要从事FPGA开发的工程师来说,时序约束可以说是一道躲不过去的坎,所以这个系列我们会详细介绍FPGA时序分析与约束的相关内容

    2024年02月05日
    浏览(44)
  • 快速入门系列--FPGA中的时序分析与约束

             时序分析,是所有的FPGA工程师在成长过程中都绕不开的技术,由于在一开始我们学FPGA的时候设计的系统都是低速简单的,所以就使得时序分析看起来好像并没有卵用,我不学我的系统照样可以跑起来啊,于是慢慢忽视了这一部分的学习。但是随着我们的技术的

    2024年01月20日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包