一、FPGA时序分析,时序约束知识.doc
文本预览下载声明
一、FPGA时序分析,时序约束知识
标签:? 时序? FPGA? 知识? 2009-08-05 16:47
时序约束目的:一、 提高设计的工作频率 二、获得正确的时序分析报告(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的计算公式
逻辑延时与互连延时
时钟建立时间计算
时钟到输出计算方法
二、FPGA设计优化(资源优化)
标签:? FPGA? 资源? 设计? 2009-08-07 12:59
当我们完成了一个系统设计时,常常会发现一些使系统不能满足要求的问题,如速度不够高,资源不够用等等,这时我们就得采用各种方法,使系统尽量能够满足要求,即是速度优化与资源利用优化,今天我想谈的是资源利用优化!
一、在我们编绎工程之前做一点小设置:
??? Assignmentsettingsanalysesynthesis settings 这里可以选择优化技术,有速度,平衡,资源三种可选,第一次编绎我们先选平衡。
???AssignmentsettingsFitter setting选择时序驱动编绎,Fitter effort 先选择Auto Fit。
二、资源利用优化
?? 1,设计代码优化
?? 常用面积优化技术包括(1)模块时分复用 (2)改变状态机编码 (3)改变实现方式
?? 一般状态数比较多的话,采用格雷码和二进制编码方式使用资源最少,采用独热(one-hot)的编码方式,由于每个状态用一个比特表示,所以性能最高。
?? 2,资源重新分配
?? 在FPGA内部有一些专用的功能块,如RAM块和DSP块,可以设置软件使用这些专用模块,不仅可以提高性能,而且还可以优化资源。
?? 3,网表面积优化
?? 如果你是用的第三方综合工具,可以用ALTERA 的WYSIWYG原语再综合进行优化。
Quartus2资源优化顾问:Tools /Resource Optimization Advisor命令。
第十节 Quartus2中RAM与ROM的使用方法与技巧
标签:? ROM? RAM? 技巧? 2009-08-09 20:19
今天我们来练习一下通过Quartus2中的MegaWizard plug-in来生成RA
显示全部