FPGA设计时序分析二、建立/恢复时间

这篇具有很好参考价值的文章主要介绍了FPGA设计时序分析二、建立/恢复时间。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、背景知识

1.1 理想时序模型

1.2 实际时序模型

    1.2.1 时钟不确定性

    1.2.2 触发器特性

二、时序分析

2.1 时序模型图

​2.2 时序定性分析

一、背景知识

    之前的章节提到,时钟对于FPGA的重要性不亚于心脏对于人的重要性,所有的逻辑运算都离开时钟的驱动。那是不是只要有时钟就可以正常运行?答案是否定的,时钟是不能随意的,一个工程设计是否逻辑正常,还需要有正确的时序分析结果。

1.1 理想时序模型

    对于一个信号电平1要从寄存器FF1传输到FF2,波形如右图,CLK1成为发送时钟,CLK2为捕获时钟,本例中发送时钟和捕获时钟来自相同的时钟源,实际可不同。在clk1的上升沿位置,信号开始传入,然后从Q直接输出,输出波形为FF1_Q,在第二个周期,电平1要被CLK2的上升沿捕获从而从FF2的Q输出,波形为FF2_Q。

FPGA设计时序分析二、建立/恢复时间,FPGA所知所见所解,fpga开发,时序分析,setup/holdup,时序模型图

    时序分析,即分析两个寄存器间的时序效果,提到时序就离不开你无法忽视而且必须理解透彻的4个概念:setup建立时间、holdup保持时间、recovery恢复时间、removal去除时间。信号可分为3类:时钟信号,控制信号,数据信号,控制信号又包括使能信号,复位信号。setup/holdup描述的是时钟信号和数据信号的关系,recovery/removal描述的是时钟信号和复位信号的关系。

1.2 实际时序模型

在实际的模型中,有两个重点考虑的因素:时钟,触发器

    1.2.1 时钟不确定性

时钟存在不确定性,包括时钟时延,时钟偏斜,时钟抖动

时钟时延:时钟在线路上传输存在时延

时钟偏斜:时钟经过不同路径到达寄存器的时间不同,存在时间差,即为时钟偏斜

时钟抖动:时钟的频率无法保持任何时刻间都完全一致,存在变化,这种变为称为时钟抖动

时钟边沿切换:理想的时钟信号,在上升沿和下降沿状态的切换是瞬间完成的,实际上上升沿和下降沿是一个变化的过程,也是需要一定的时间。

    1.2.2 触发器特性

    触发器从逻辑功能上分为RS触发器,D触发器,JK触发器,从触发形式也可分为边沿触发和电平触发。根据触发器的真值表可明确看出区别,在实际使用时主要都是D触发器,D触发器也是由RS触发器改造而成的。D触发器自身特性是导致存在setup和holdup的根本原因,下图为边沿触发的D触发器内部结构图,由6个与非门组成。

    输入为CLK和D,有F4和F5的输出反馈回到F3和F6的输入,而这其中,就存在一定的要求:在时钟上升沿到来前,数据需提前到达,提前到达的最小时间为setup时间,这样数据D才能有效被捕获到,此外,数据和时钟依次到达后,数据信号还需稳定一段时间,该时间的最小值即为holdup时间,否则触发器的输出将不可预知。

    注:setup和holdup时间为器件的硬件特性,也即该值为固定值,时序分析时两值为常数。

FPGA设计时序分析二、建立/恢复时间,FPGA所知所见所解,fpga开发,时序分析,setup/holdup,时序模型图

二、时序分析

2.1 时序模型图

    以触发器FF1到触发器FF2间的时序路径为例进行分析,可抽象为下图流程。

FPGA设计时序分析二、建立/恢复时间,FPGA所知所见所解,fpga开发,时序分析,setup/holdup,时序模型图

clk1:启动时钟,数据data存入FF1

clk2:捕获时钟,FF2用clk2进行Q1的输出数据,为方便理解,clk1和clk2为周期相同的同步时钟

Td:数据data传输到FF1输入端口D1的传输时延Td

Tclk1:时钟clk1传输到FF1时钟端口的时延

Tco:数据data从FF1的输入端口D1到输出端口Q1的时延,也即FF1数据处理时间

Tcomb:数据从Q1到D2中组合逻辑处理的时延

Tnet:数据从Q1到D2中传输过程中的线路传输时延

Tclk2:时钟clk2传输到FF2时钟端口的时延

Tsetup:触发器FF2的建立时间,数据如果要从D2端口被FF2稳定检测到,则要比时钟clk2边沿至少提前Tsetup到达

Tholdup:触发器FF2的保持时间,数据如果要从D2端口被FF2捕获到,则在时钟clk2边沿到达后还得维持状态至少Tholdup时间后,数据才真正被FF2存储进去

T:clk1和clk2的时钟周期相同,都为T,周期不同的分析类似。

​2.2 时序定性分析

时钟分析原则:在一个时钟周期内,捕获寄存器FF2上,数据到达时间要比时钟提前至少Tsetup,在时钟到达后,数据至少要保持状态Tholdup时长的时间才能准确存入寄存器中。

      时钟波形图如下图 

FPGA设计时序分析二、建立/恢复时间,FPGA所知所见所解,fpga开发,时序分析,setup/holdup,时序模型图

数据到达时间:Tdata=Tclk1+Tco+Tcomb+Tnet

时钟到达时间:Tclk=T+Tclk2

建立时间满足条件:Tsetup<=T+Tclk-Tdata=T+Tclk2-(Tclk1+Tco+Tcomb+Tnet)

                       公式变换:T>=Tco+Tcomb+Tnet+Tsetup+Tclk1-Tclk2

                       公式含义数据传输时延+时钟偏斜+setup时间需小于等于一个周期的时间

保持时间满足条件:Tholdup<=Tdata-Tclk=Tclk1+Tco+Tcomb+Tnet-Tclk2

                       公式变换:Tclk1+Tco+Tcomb+Tnet>=Tclk2+Tholdup

                       公式含义:数据从触发器FF1传输到触发器FF2的时延小于等于FF2的时钟延时加上holdup时间,因为对FF2来说,数据data从FF1到达FF2的D端口后,维持Tdata后即会被下一个data覆盖。

        ​对于setup公式还有一个容易引起疑问的地方,就是setup时间到达时间加上了一个时钟周期T,这个要注意波形图中标注的分析的时间起点,最终setup、holdup是针对数据D1从FF1传输到FF2的输入端口D2后进行的,数据从D1到Q1是需要耗费一个周期,因此需要增加一个周期T。

        另外,对于modelsim仿真的波形会发现时钟上升沿和数据的变化有时是完全对齐的,无需考虑保持时间和建立时间,这是因为仿真的波形为理想的波形。文章来源地址https://www.toymoban.com/news/detail-619285.html

到了这里,关于FPGA设计时序分析二、建立/恢复时间的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 静态时序分析Static Timing Analysis2——建立时间和保持时间的时序检查

    2023.4.11 继续学习STA,前面听的感觉好迷糊,先接着看,到时候回头再看一遍理解 2023.4.12 打卡 Tlaunch + Tcq + Tdp = Tclk + Tcapture - Tsetup 时钟的发射和捕获延迟时间是很小的,Tcq和Tsu是工艺库决定的,是固定值。要想等式成立,要取左边的最大值来进行判断 建立时间违例的解决方法

    2023年04月12日
    浏览(25)
  • 一文弄懂Verilog静态时序分析中的建立时间和保持时间

           在对Verilog代码进行静态时序分析的时候,建立时间和保持时间是需要我们重点关注的指标。 建立时间(Setup Time): 指采样时钟边沿到来之前,数据需要保持稳定的时间。如果数据在采样时钟的边沿到来之前的建立时间内这段时间变化,可能会造成时钟采样的数据在

    2024年01月16日
    浏览(32)
  • 【FPGA】基于vivado FPGA设计过程中时序报红的分析及解决办法

    本文基于vivado的FPGA,对 时序报红 问题分析方法进行说明,并提供常见问题的解决办法。 (1)前提 先将工程进行综合和布局布线。 (2)方法1 IMPLEMENTION - Report Timing Summary 参数设置: Maximum number of paths per clock or path group:每个时钟路径或者时钟组显示的最大路径数,想要查

    2024年02月05日
    浏览(30)
  • 【数字 IC / FPGA】 有关建立/保持时间计算的思考

    最近准备一些数字IC的机试,刷到了一些有关静态时序分析的题目。有一些比较经典的题目,在这里整理分享一下。 有什么疑问可以在评论区交流~互相进步 假设时钟周期为Tcycle,Tsetup,Thold分别为触发器建立保持时间,为保证时需满足要求,需要满足什么样的时序关系?(T1~

    2024年02月06日
    浏览(30)
  • FPGA时序分析与约束(2)——时序电路时序

            在之前的内容中,我们介绍了组合电路的时序问题和可能导致的毛刺,强烈推荐在阅读前文的基础上再继续阅读本文, 前文链接:FPGA时序分析与约束(1)——组合电路时序         这篇文章中,我们将继续介绍FPGA时序分析相关内容,本文介绍的是时序电路的时序

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

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

    2024年01月20日
    浏览(32)
  • FPGA时序分析与约束(8)——时序引擎

            要想进行时序分析和约束,我们需要理解时序引擎究竟是如何进行时序分析的,包括时序引擎如何进行建立分析(setup),保持分析(hold),恢复时间分析(recovery)和移除时间分析(removal)。         发起沿(launch edge,源时钟产生数据的有效时钟沿),捕获沿(capture

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

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

    2024年01月19日
    浏览(27)
  • FPGA时序分析与约束(5)——时序路径

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

    2024年02月09日
    浏览(27)
  • FPGA时序分析与约束(1)——组合电路时序

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

    2024年02月10日
    浏览(28)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包