静态时序分析与时序约束

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

一、时序分析的基本概念

1. 时钟

理性的时钟模型是一个占空比为50%且周期固定的方波:

静态时序分析与时序约束,ZYNQ,fpga开发

 实际电路中输入给FPGA的晶振时钟信号是正弦波:

静态时序分析与时序约束,ZYNQ,fpga开发

 2. 时钟抖动

Clock Jitter,时钟抖动,相对于理想时钟沿,实际时钟存在不随时钟存在积累的、时而超前、时而滞后的偏移。

静态时序分析与时序约束,ZYNQ,fpga开发

 3. 时钟偏差

Clock Skew:时钟偏差,同一个时钟域内的时钟信号到达数字电路各个部分所用时间的差异。

静态时序分析与时序约束,ZYNQ,fpga开发

 4. 建立时间和保持时间

建立时间,Setup Time,Tsu,时钟上升沿之前数据必须稳定的最短时间。若不满足建立时间,数据无法进入寄存器,寄存器的数据采样会失败。

保持时间,Hold Time,Th,时钟上升沿之后数据必须稳定的最短时间。若不满足保持时间,数据无法进入寄存器,寄存器的数据采样也会失败。

静态时序分析与时序约束,ZYNQ,fpga开发

5.  发起沿和采样沿

静态时序分析与时序约束,ZYNQ,fpga开发

 rega和regb使用同一个时钟信号,rega在Launch Edge发送数据,regb下一个时钟周期的Capture edge采样到rega送入的数据,reag和regb中间可能还有一些组合逻辑。

二、时序分析的基本公式

1. 时序分析的基本路径

时序分析的基本路径包括:

(1)管脚输入和寄存器之间的路径(pin2reg)

(2)寄存器和寄存器之间的路径(reg2reg)

(3)寄存器和管脚输出之间的路径(reg2pin)

(4)管脚输入和管脚输出之间的路径(pin2pin)

2. 数据到达时间和时钟到达时间

静态时序分析与时序约束,ZYNQ,fpga开发

(1)数据到达时间(Data Arrival Time)

数据在发送沿发送之后,经过多长时间会到达接收寄存器的数据端口,即到达regb的D端口的时刻。

(a)通常选择launch edge作为零时刻基准点

(b)数据经过Tco时间,到达Q端口。

(c)数据从Q端口,要经过组合逻辑,以及布线的线延时才能到达接收端的D端口。

静态时序分析与时序约束,ZYNQ,fpga开发

静态时序分析与时序约束,ZYNQ,fpga开发 

3. 建立时间的裕量

建立时间的裕量, Setup slack

建立裕量为正值说明两个寄存器有合格的建立关系,建立裕量为负值说明两个寄存器建立关系不满足,会导致采样出错。

静态时序分析与时序约束,ZYNQ,fpga开发

 数据到达reg2 D端的时间为:

启动沿时间+Tclk1+Tco+Tdata

= 0 ns + 3.2ns + 0.2ns + 0.6ns

= 4ns

reg2能够保证采样正确,所要求数据到达的时刻

Tclk + Tclk2 - Tsu

= 10ns + 2ns - 1.4ns

= 10.6ns

建立裕量:

Setup Slack = Data Required Time - Time Arrival Time

= 10.6 ns - 4 ns

= 6.6 ns

4. 保持时间的裕量

保持时间的裕量,Hold Slack

保持裕量为正值说明两个寄存器有合格的保持关系,保持裕量为负值说明两个寄存器保持关系不满足,也会导致采样出错。

静态时序分析与时序约束,ZYNQ,fpga开发

 数据保持时间 Data Hold Time

= 启动沿 + Tclk1 + Tco + Tdata + 数据周期时间

= 0 ns + 3.2 ns + 0.2 ns + 0.6 ns + 10 ns

= 14 ns

数据锁存时间 Data Required Time 

= 锁存沿 + Tclk2 + Th

= 10 ns + 2 ns + 1.4 ns

= 13.4 ns

保持裕量 Hold Slack

= 14 ns - 13.4 ns

= 0.6 ns

 文章来源地址https://www.toymoban.com/news/detail-650374.html

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

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

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

相关文章

  • FPGA时序分析与约束(2)——时序电路时序

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

    2024年02月10日
    浏览(28)
  • 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)
  • FPGA时序分析与时序约束(一)——基础知识

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

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

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

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

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

    2024年02月21日
    浏览(25)
  • 静态时序分析:SDC约束命令set_drive详解

    相关阅读 静态时序分析 https://blog.csdn.net/weixin_45791458/category_12567571.html         本章将讨论使用set_drive命令,它用于对输入端口的驱动能力建模。首先需要说明的是,默认情况下,DC在STA时默认输入端口的转换时间是0,这对于大多数情况来说过于理想。         set_drive命令设

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

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

    2024年02月20日
    浏览(22)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包