quartus中的时序约束常用方法

quartus中的时序约束常用方法

一、约束操作

quartus中有三种时序约束方法:

1️⃣Timing Setting

2️⃣Wizards/Timing Wizard

3️⃣Assignment/Assignment Editor

一般来说,前面两种是全局约束,后面一种是个别约束。

先全局,后个别。约束操作的目标就是得到合理的时序报告。

二、指定全局时序约束

(1)时序驱动的编译(TDC)

Fitter Setting,约束设置,可以调整时序的优先策略并自动提供解决方案。时序编译的主要操作有:

优化时序:将关键路径的节点放置地更近,降低延时,提高余量

优化保持时间:修改布局布线,满足保持时间和最小时序要求

优化IO单元寄存器放置:为了满足时序,自动将寄存器移到IO单元中。

其中优化保持时间,还可以选择优化IO路径保持时间与最小tPD路径的时间,或者是所有路径。

优化的方法就是在关键路径上添加布线延时以满足保持时间的要求。

(2)全局时钟设置

在timing setting 中即可设置全局时钟,用于一个时钟域的全局时钟约束。在timing requirements & options的中间位置。

(3)全局IO时序约束

在全局时钟设置的上面就是IO的最小时序设置。设置的参数包括:tSU,tCO,tPD和最小延时要求的tH、Min tCo、Min tPD共六个参数,具体的使用方法需要在实际的工程中体现。

(4)时序分析和时序报告

quartus中在综合后会自动生成时序分析报告,可以通过时序分析报告查看设计的时序要求是否符合预期。

(5)时序向导(Timing Wizard)

由自带的软件向导设置全局时钟。

三、指定个别时序约束

(1)指定个别时钟要求

quartus默认的时钟有两类:独立时钟和衍生时钟。时钟域对应的是独立时钟,对于衍生时钟,则依附于对应的独立时钟的时序。对两类时钟的声明也是不一样的,独立时钟需要时钟频率和占空比,而衍生时钟则需要相位差、频率倍数等关系约束。

(2)个别时序约束

 时钟设置:在设置独立时钟时就可以将其的物理节点指定。

输入输出最大延时:输入延时直接影响时钟建立、保持时间,输出直接影响插传输延时和路径延时。

反相时钟:可以声明某个时钟的反相时钟信号。

非时钟:将某些不必要的时钟去除。

(3)时序约束的种类

单点:输入到所有寄存器的延时约束

点到点:输入到某个寄存器的延时约束

通配符:输入到某些相似寄存器的约束

时序组:输入到某组寄存器的延时

(4)查看所有时序约束

在前面的时序约束操作最后都可以在quartus中的Assignment Editor中查看,也可以在里面将其删除。

四、小结

时序分析报告是得到这个设计的时序状况,而时序约束则是优化时序状况。时序约束的前提是有明确的时序设计目标。这点需要注意。

原文地址:https://www.cnblogs.com/electricdream/p/13627258.html