FPGA中与时序有关的概念

Posted on 2020-09-20 12:16  绿叶落秋风  阅读(722)  评论(0编辑  收藏  举报

FPGA中与时序有关的概念

一、时序分析

时序分析是对整个时序进行分析的操作。作用就是了解设计的时序性能,一般而言就是最大时钟频率。时钟频率越高,设计的工作速度越快(忽略设计实现方法的不同导致的效率提升)。为了提高时钟频率,有一份完整的时序分析报告是必不可少的。

在quartus中的Timequest中,时序分析报告一般包括以下几方面的内容:

(1)最大时钟频率

这个参数只有在时序违规的情况下才会有,如果满足时序收敛的条件,这个参数则没有体现。

(2)全局时钟频率和相关时钟频率

这部分的报告是说明当前设计的时序分析的时钟约束。quartus中在没有特别声明或者使用PLL时,默认是1000M的时钟约束。一般而言,这个值是会产生时序违规的,所以可以通过第一次的时序分析报告来确认当前的设计的最大时钟频率。在后期的时序约束操作中,也可以通过这个页面查看约束的全局时钟和相关时钟。

(3)建立保持时间

这里会给出建立时间和保持时间的时序违规路径。可以根据时序余量的大小可以判断出关键路径,进而确认改进方法。一般来说,建立时间的违规会比较多,保持时间违规多出现在跨时钟域的情况下。路径,是连接时序和设计的桥梁。如果想要确认某个设计的局部时序,就需要通过路径锁定设计区域。路径,简单理解就是一个寄存器到另外一个寄存器传输数据的情况。

(4)最小脉冲宽度

这个参数是受制于FPGA的触发器单元的。触发器读取上升沿和下降沿需要时间,且处于电压稳定的考虑,也是需要时钟脉冲维持一段时间的。这个参数一般因器件而改变,不大受设计的影响(特殊手法除外)。

(5)其他参数

实际上,时序报告还会报告一些其他的参数:如输入延时,输出延时等,这些参数一般不和设计挂钩,只有在和PCB板时完成设计时,才会考虑这部分的问题。还有一些是根据环境做出的约束修正的参数。这部分的报告需要在具体的设计中加入。个人感觉可以将时序分析报告作为一个特殊的仿真,参数越详细,就越符合实际需求。

二、时序约束

时序约束,是约束的一种。在FPGA设计中,一般就有两种约束,管脚约束和时序约束。时序约束,目标是保证时序收敛。一般有两种情况:知道设计的时序要求和优化设计。这两种时序约束的方法是不一致的。对于已知时序要求的设计,可以将需要的时序要求做成时序约束,然后时序分析报告,然后约束加分析循环直至时序收敛。时序优化则是在时序不满足的状况下修改设计,将关键路径逐步优化,直至达到满意的程度。

具体的方法需要在每个实际的项目中学习,不过可以按照这两个情况初步确认分析的流程。

三、时序收敛

时序收敛,就是时序符合设计的要求的时序。这个概念对应的就是所有路径都存在时序余量。