天天看点

FPGA时序约束理论之建立保持时间(1)

1. 首先看一下什么是时序约束?

        通俗地说,就是告诉软件(vivado)从哪个pin输入信号,输入信号需要延迟多久,时钟周期是多少,让软件在布局布线后能后满足我们的要求,如果我们不加时序约束,软件无法得知我们的时钟周期是多少,布局布线后是不会提示时序警告错误的。

2.介绍两个重要的概念 

  • 发起端、发起时钟、发起沿:数据产生的源端
  • 接收端、采样时钟、采样沿:数据接收的目的端

3.建立时间、保持时间

对触发器的输入而言,

  • 建立时间:在时钟上升沿到达之前,数据输入端的数据必须保持不变的最小时间
  • 保持时间:在时钟上升沿到达之后,数据输入端的数据必须保持不变的最小时间
FPGA时序约束理论之建立保持时间(1)

4.为什么触发器需要满足建立时间、保持时间?换句话说,触发器不满足建立时间、保持时间时,会出现什么问题?

  • 因为触发器的内部数据形成需要一定的时间,如果不满足建立时间和保持时间,触发器就会进入亚稳态,亚稳态后的触发器的输出不稳定,过一段时间后,即使输出稳定,也不一定是你的输入值。

5.建立时间和保持时间是由器件的特性决定的,xilinx的FPGA的setup time 基本都在0.04ns的量级和hold time在0.2ns的量级。