博主福利:100G+电子设计学习资源包!

​http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect​​ --------------------------------------------------------------------------------------------------------------------------

 

时序约束目的:

一、 提高设计的工作频率

二、获得正确的时序分析报告(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 设置个别时钟约束

 

FPGA时序分析,时序约束知识_时序分析

Tperiod的计算公式

FPGA时序分析,时序约束知识_时序约束_02

逻辑延时与互连延时

FPGA时序分析,时序约束知识_时序分析_03

时钟建立时间计算

FPGA时序分析,时序约束知识_时序约束_04

时钟到输出计算方法