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

旧时模样 提交于 2020-01-30 05:14:48

周期约束理论

  首先来看什么是时序约束,泛泛来说,就是我们告诉软件(Vivado、ISE等)从哪个pin输入信号,输入信号要延迟多长时间,时钟周期是多少,让软件PAR(Place and Route)后的电路能够满足我们的要求。因此如果我们不加时序约束,软件是无法得知我们的时钟周期是多少,PAR后的结果是不会提示时序警告的。

  周期约束就是告诉软件我们的时钟周期是多少,让它PAR后要保证在这样的时钟周期内时序不违规。大多数的约束都是周期约束,因为时序约束约的最多是时钟。

  在讲具体的时序约束前,我们先介绍两个概念,在下面的讲解中,会多次用到:

  • 发起端/发起寄存器/发起时钟/发起沿:指的是产生数据的源端
  • 接收端/接收寄存器/捕获时钟/捕获沿:指的是接收数据的目的端

建立/保持时间

  讲时序约束,这两个概念要首先介绍,因为我们做时序约束其实就是为了满足建立/保持时间。对于DFF的输入而言,

  • 在clk上升沿到来之前,数据提前一个最小时间量“预先准备好”,这个最小时间量就是建立时间;
  • 在clk上升沿来之后,数据必须保持一个最小时间量“不能变化”,这个最小时间量就是保持时间。

image

建立和保持时间是由器件特性决定了,当我们决定了使用哪个FPGA,就意味着建立和保持时间也就确定了。Xilinx FPGA的setup time基本都在0.04ns的量级,hold time基本在0.2ns的量级,不同器件会有所差异,具体可以查对应器件的DC and AC Switching Characteristics,下图列出K7系列的建立保持时间。

image

个人网站:http://www.technomania.cn/

微信公众号:Quant_Times
      Reading_Times

FPGA时序约束教程所有文章:

1 FPGA时序约束理论篇之建立保持时间
2 FPGA时序约束理论篇之时序路径与时序模型
3 FPGA时序约束理论篇之IO约束
4 FPGA时序约束理论篇之时钟周期约束
5 FPGA时序约束理论篇之两种时序例外
6 FPGA时序约束理论篇之xdc约束优先级
7 FPGA时序约束实战篇之梳理时钟树
8 FPGA时序约束实战篇之主时钟约束
9 FPGA时序约束实战篇之衍生时钟约束
10 FPGA时序约束实战篇之延迟约束
11 FPGA时序约束实战篇之伪路径约束
12 FPGA时序约束实战篇之多周期路径约束
13 FPGA时序约束之Vivado辅助工具
14 FPGA时序约束之Tcl命令的对象及属性

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!