您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页基于quartusii时序约束

基于quartusii时序约束

来源:纷纭教育


关于quartus ii时序约束(1)

2012-06-17 09:46:07| 分类: |举报|字号 订阅

一直以来都只是简单地理解了一下关于时序约束的内容,而工具也有默认classic的约束,加上目前的设计对时序没有很高的要求,所以就一直都没真正地自己做过一次约束,但是我知道,这部分是不可以跳过的,这部分也算是搞FPGA必须掌握的内容。今天下午对这部分进行了初次探究,收获有如下:

常用的约束有三种:

1.时序约束

2.区域约束

3.位置约束

时序约束的作用有:

1.提高设计的工作频率

2.获得正确的时序分析报告

需要复习前面博文《FPGA学习之时序分析基础(7) 》

记住,堵塞原则是HDL语言的精髓,也就是说触发器是有延时作用的,虽然两个触发

器使用的是同一个时钟,但是当第二个触发器接收第一帧数据的时候第一个触发器在发第二帧数据,而当第二个触发器接收第二帧数据的时候第一个触发器在发第三帧数据,依此类推,也就是说每一帧数据在两个触发器之间都有一个clk的时间前进,如果前进的时间太长,也即是系统给的时钟太快,就会出现无法满足第二个触发器setup的时间。setup time 就是第二个触发器在接收到由第一个触发器上一个时钟发送的数据之前应空闲的时间。

公式:CLK+TCLK2-Tsu > Tclk1 + Tcd + Tdata

所以系统CLK是和Tsu息息相关的,所以看时序报告的时候也是从Clock Setup ‘clk’看最差路径等信息。

在FPGA中包含有4种路径:从输入端口到寄存器,从寄存器到寄存器,从寄存器到输出,从输入到输出的纯组合逻辑。通常,需要对这几种路径分别进行约束,以便使能够得到最优化的结果。下面对这几种路径分别进行讨论。

1. 从输入端口到寄存器:

这种路径的约束是为了让FPGA设计工具能够尽可能的优化从输入端口到第一级寄存器之间的路径延迟,使其能够保证系统时钟可靠的采到从外部到FPGA的信号。

约束名称:input delay。

约束条件的影响主要有4个因素:外部的Tco,电路板上信号延迟Tpd,FPGA的Tsu, 时钟延迟Tclk. Tco的参数通常需要查外部的数据手册。计算公式:input delay = Tco+Tpd+Tsu-Tclk。FPGA的Tsu也需要查FPGA芯片的手册。 FPGA速度等级不同,这个参数也不同。Tpd和Tclk需要根据电路板实际的参数来计算。通常,每10cm的线长可以按照1ns来计算。例如:系统时钟100MHz,电路板上最大延迟2ns,时钟最大延迟1.7ns,Tco 3ns,FPGA的Tsu为0.2ns。那么输入延迟的值:max Input delay = 2+3+0.2-1.7=3.5ns. 这个参数的含义是指让FPGA的设计工具把FPGA的输入端口到第

一级寄存器之间的路径延迟(包括门延迟和线延迟)在10ns-3.5ns=6.5ns 以内,其中10ns是系统时钟。

2. 寄存器到寄存器:

这种路径的约束是为了让FPGA设计工具能够优化FPGA内寄存器到寄存器之间的路径,使其延迟时间必须小于时钟周期,这样才能确保信号被可靠的传递。 由于这种路径只存在于FPGA内部,通常通过设定时钟频率的方式就可以对其进行约束。对于更深入的优化方法,还可以采用对寄存器的输入和寄存器的输出加入适当的约束,来使逻辑综合器和布线器能够对某条路径进行特别的优化。还可以通过设定最大扇出数来迫使工具对其进行逻辑复制,减少扇出数量,提高性能。

3. 寄存器到输出:

这种路径的约束是为了让FPGA设计工具能够优化FPGA内部从最后一级寄存器到输出端口的路径,确保其输出的信号能够被下一级芯片正确的采到。

约束的名称: output delay。

约束条件的影响主要有3个因素:外部的Tsu,电路板上信号延迟Tpd,时钟延迟Tclk。Tsu的参数通常需要查外部的数据手册。计算公式:output delay = Tsu+Tpd-Tclk。例如:系统时钟100MHz,电路板上最大延迟2ns,时钟最大延迟 1.7ns,Tsu 1ns,输出延迟的值:max output delay = 1+2-1.7=1.3ns。这个参数的含义是指让FPGA的把最后一级寄存器到输出端口之间的路径延迟(包括门延迟和线延迟)控制在 10ns-1.3ns=8.7ns 以内。

4. 从输入端口到输出端口:

这种路径是指组合逻辑的延迟,指信号从输入到输出没有经过任何寄存器。给这种路径加约束条件,需要虚拟一个时钟,然后通过约束来指定哪些路径是要受该虚拟时钟的约束。在Synplifypro和Precision中都有相应的约束来处理这种路径。

QuartusII软件中时钟Fmax约束步骤

作者:Altera中国区代理――骏龙科技 武汉办事处

使用QuartusII软件对设计中的时钟进行约束的步骤如下:(这里以QuartusII5.0为例说明)

1.如果实际中仅仅用到单个时钟按照图一所示约束即可。

例如,设计主时钟是19.44M,按照下面图一及图二中所示步骤约束即可,一般来讲,约束尽量留一些余量,如设计主时钟为19.44M,我们可以设置主时钟为25M。

图一:Timing Settings菜单

执行完图六所示步骤后跳出图七所示窗口,在图中相应位置输入相应的时钟频率即可,(可以根据设计需要选择时钟的占空比,一般设计50%的占空比)完成后点击OK。此时即完成了对一个时钟的设置,如图八所示。

我们可以使用以上类似步骤继续把设计中其余时钟进行相应设置。另外,对多个时钟设置后我们可以根据需要修改或者删除。

图八:成功设置一个时候后的界面

说明:1.这里对时钟的约束仅仅针对输入管脚的时钟或者内部的时钟,不能应用于对输出时钟(管脚输出时钟)的约束。 2.这里仅仅说明的仅仅是对设计时钟的Fmax的约束步骤,很多时候由于设计复杂或者时钟要求比较高的场合,同时还需要对Tsu及Tco进行设置。对于Tsu及Tco的设置请参考另外一片文档。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务