时序约束目的:一、 提高设计的工作频率二、获得正确的时序分析报告(STA:静态时序分析)
常用的时序概念:周期,最大时钟频率、时钟建立时间、时钟保持时间、时钟到输出延时、管脚到管脚延时、Slack和时钟偏斜(Skew).
周期:如图1是周期示意图,当计算出Tperiod,那么当然fmax=1/Tperiod,fmax是显示设计最重要的性能指标之一。
时钟建立时间:如图3所示是时钟建立时间的计算方法
时钟保持时间:同样利用图3的模型计算Th=clkdelay-datadelay+Microhold
注意:前两个公式中提到的Microsetup 和Microhold一般均是一个小于1ns的常量。
时钟输出延迟:他是指在时钟有效到数据有效的最大时钟间隔如图4所示Tco=clkdelay+datadelay+Microco
slack:表示设计是否满足时序的一个称谓:正的slack表示满足时序,负的slack表示不满足时序。保持时间slack是一个重要的概念,引起不满足的主要原因是时钟偏斜大于数据路径的偏斜。
Quartus2时序分析工具和优化向导:
常用的三种时序约束设置方法:1 通过Assignment/timing settings 2 Assignment/timing wiard
tool 3 Assignment/Assignment editor选择在图形界面下完成对设计的时序约束。一般情况下前两种是做全局的时序约束,后一种是做局部的时序约束,另外还可以通过修改.qsf文件来实现。
时序约束思想:时序约束一般都是先全局后个别,如果冲突则个别的优先级更高。
一、将编绎器设置为时序驱动编绎,即是指让编绎过程尽量向着满足时序约束方向努力!assignment/settings/fitter setting.
二、全局时钟设置如果在设计中只有一个全局时钟,或者所有的时钟同频,可以在Quartus2中只设置一个全局时钟约束。 Assignment/timing settings
三、时序向导 在用记对时序约束设置不熟悉的情况下,可以选择使用向导。 Assignment/classic timing analyser wizards.
四、可以设置独立时钟与衍生时钟,衍生时钟是由独立时钟变化而来的,他是由独立时钟分频,倍频,移相等变化而来的,可以在设置中确定二者的关系 Assignment/settings/timing analyse setting/classic timing analyse setting/individual clock。
五、通过assignment editor 设置个别时钟约束
Tperiod的计算公式
逻辑延时与互连延时
时钟建立时间计算
时钟到输出计算方法