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

关注【电子开发圈】微信公众号,一起学习吧!

电子DIY、Arduino、51单片机、STM32单片机、FPGA……
电子百科、开发技术、职业经验、趣味知识、科技头条、设备拆机……

点击链接,免费下载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 设置个别时钟约束

 

Tperiod的计算公式

逻辑延时与互连延时

时钟建立时间计算

时钟到输出计算方法

猜你喜欢

转载自blog.csdn.net/weixin_42625444/article/details/93469271