【Xilinx Vivado时序分析/约束系列3】FPGA开发时序分析/约束-保持时间

2023-10-26

目录

基本概念

数据结束时间(Data finish time)

时钟到达时间(Clock arrival time)

保持时间门限

保持时间余量(Hold Slack)

往期系列博客:


 

基本概念

数据结束时间(Data finish time)

之前解释了数据达到的时间,对于

data arrival time = Tclk1+Tco+Tdata

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

而数据结束时间,按照时钟周期来看的话,数据结束的时间是数据达到的时间的下一个时钟,即

data finish time = data arrival time + Tcycle = Tclk1+Tco+Tdata+Tcycle

从时序图上看会更加清晰明了

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

时钟到达时间(Clock arrival time)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

保持时间门限

之前定义过建立时间门限,它表示的是数据到来之前,数据所需要最小一段时间的稳定,这段时间就被称为建立时间,体现在公式上,数据所被要求达到的时间为:Tcycle+Tclk2-Tsu,在公式上是减去。

而保持时间门限表示的是,在数据到达之后需要最小一段时间的稳定,因为数据到来之后不能立马发生变化,需要维持一段时间的稳定,这段时间就被称为保持时间门限,体现在公式上,数据所被要求结束的时间为:Tcycle+Tclk2+Th,在公式上是加上。

从下图可以清晰的看出,在锁存沿到来之后还需要延后一个Th的时间。数据所被要求结束的时间表示的是,数据可以此时间之后结束但是不能早于这个时间,如果比这个时间更早就结束的话,数据就没办法被锁存了。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

保持时间余量(Hold Slack)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

从时序图上可以看出,数据实际结束的时间是Tcycle+Tclk2+Th,也就是时序图中的深蓝色的线,而数据所被要求结束的时间是Tcycle+Tclk1+Tco+Tdata,而数据所被要求结束的时间减去数据实际结束的时间的差值就是保持时间余量(Hold Slack)

Hold Slack = Tcycle+Tclk1+Tco+Tdata-(Tcycle+Tclk2+Th)

从上面保持时间余量的公式可以看出,保持时间余量与整个时钟频率是无关的,反过来说,改变整个时钟频率并不能改变保持时间余量。

往期系列博客:

【Xilinx Vivado时序分析/约束系列1】FPGA开发时序分析/约束-寄存器间时序分析

【Xilinx Vivado时序分析/约束系列2】FPGA开发时序分析/约束-建立时间

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Xilinx Vivado时序分析/约束系列3】FPGA开发时序分析/约束-保持时间 的相关文章

  • 大数据组件_Kafka学习

    Kafka学习 基本概念 1 Broker 每一台kafka机器节点就是一个broker 2 Producer 消息生产者 往kafka的topic写数据 3 Consumer 消息消费者 从kafka的topic读取数据 4 Topic
  • java生成大小写字母加数字的随机数

    小小的验证码的随机数生成 以前自己一直没有思考过 仔细想想其实实现起来并没有多难 只是自己没有想过这些东西的实现具体应该怎么做比较好 在自己思考后 参考了网上其他作者的一些代码 下面是具体的实现代码 public class Validat
  • LightGBM 原理、代码最全解读!

    来源 Microstrong 本文主要内容概览 1 LightGBM简介 GBDT Gradient Boosting Decision Tree 是机器学习中一个长盛不衰的模型 其主要思想是利用弱分类器 决策树 迭代训练以得到最优模型 该

随机推荐