FPGA时序约束的原理是什么?

可编程逻辑

1366人已加入

描述

FPGA开发过程中,离不开时序约束,那么时序约束是什么?简单点说,FPGA芯片中的逻辑威廉希尔官方网站 ,从输入到输出所需要的时间,这个时间必须在设定的时钟周期内完成,更详细一点,即需要满足建立和保持时间。

时序约束可以让VIvado和Quartus等FPGA开发软件,在布线时检测综合出来的逻辑威廉希尔官方网站 是否满足这个时序要求,并生成时序报告。

一、建立/保持时间

1、基本概念

设定时序约束的目的就是为了满足建立时间和保持时间,所以理解“建立时间和保持时间”这两个概念非常重要。

建立时间:在时钟上升沿到来之前,输入信号需要提前一个最小时间里“预先准备好”,这个最小时间量就是建立时间;

保持时间:在时钟上升沿到来之后,输入信号必须保持一个最小时间量“不能变化”,这样这个最小时间量就是保持时间。

触发器

只有满足建立时间和保持时间,这样才能准确捕获到这个输入信号,下一级威廉希尔官方网站 逻辑才能正常接收到正确的信号。

建立和保持时间是由FPGA芯片器件特性决定,也就是制程工艺决定的,以Xilinx FPGA K7芯片为例,setup time为0.04ns,hold time为0.2ns,具体可以查对应芯片手册的setup time和hold time。

2、时钟抖动

实际的时钟信号是存在时钟抖动的,时钟抖动( Clock Jitter)是实际时钟存在随着时间积累的、时而超前、时而滞后的偏移,如下图所示。

触发器

3、时钟偏差

时钟偏差(Clock Skew)表示在同一个时钟域内时钟信号到达各个寄存器用时的差异。时钟信号在FPGA芯片中也是需要走线的,所以也存在布线延迟。

触发器

时钟的不确定性,就是由时钟抖动和时钟偏差组成的。

二、时序路径

时序路径是指从FPGA输入到输出的所有逻辑路径组成的路径。当存在时序路径时,需要考虑时序约束以确保正确的逻辑功能和时序性能。

时序路径中的关键元素包括:

(1) 路径起点(即时钟触发器输入端口)

(2)路径终点(即输出端口的寄存器或查找表单元)

(3)逻辑威廉希尔官方网站 和逻辑器件

触发器

有了这些元素,就可以构建完整的时序路径。在实践中,我们可以使用FPGA工具来分析、优化和修复时序路径。

时序路径对于设计的正确性和时序性能来说都是非常重要的。为了最大程度地提高性能并避免瓶颈,我们必须对时序路径进行详细的分析和优化。

三、时序模型

一个基本的时序路径包括源时钟路径、数据路径和目的时钟路径,如下图所示:

触发器

各部分对应的延时计算如下图所示:

触发器

时序约束的公式为:Tclk ≥ Tco + Tlogic + Trouting + Tsetup - Tskew

说明:Tclk表示系统时钟周期;Tco表示发送端寄存器时钟到输出时间;Tlogic表示组合逻辑延迟时间;Trouting为两级寄存器之间的布线延迟;Tsetup为接收端寄存器的建立时间;Tskew为时钟偏差。

Tlogic与我们写的HDL代码有直接关系,Trouting是FPGA开发软件综合布线根据FPGA内部资源情况进行布线产生的延时。

四、总结

本文介绍了FPGA时序约束的基础理论知识,希望通过阅读本文,大家能够更好地理解时序约束原理,并在实际工作中运用这些原理提高设计效率和准确性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分