FPGA四种路径添加时序约束方法

FPGA四种路径添加时序约束方法

ID:37921284

大小:24.50 KB

页数:3页

时间:2019-06-02

FPGA四种路径添加时序约束方法_第1页
FPGA四种路径添加时序约束方法_第2页
FPGA四种路径添加时序约束方法_第3页
资源描述:

《FPGA四种路径添加时序约束方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在给FPGA做逻辑综合和布局布线时,需要在工具中设定时序的约束。通常,在FPGA设计工具中都FPGA中包含有4种路径:从输入端口到寄存器,从寄存器到寄存器,从寄存器到输出,从输入到输出的纯组合逻辑。通常,需要对这几种路径分别进行约束,以便使设计工具能够得到最优化的结果。下面对这几种路径分别进行讨论。1、从输入端口到寄存器:这种路径的约束是为了让FPGA设计工具能够尽可能的优化从输入端口到第一级寄存器之间的路径延迟,使其能够保证系统时钟可靠的采到从外部芯片到FPGA的信号。约束名称:inputdelay.约束条件的影响主要有4个因素:外部芯片的Tco,电路板上信号延迟Tpd,FPG

2、A的Tsu,时钟延迟Tclk.Tco的参数通常需要查外部芯片的数据手册。计算公式:inputdelay=Tco+Tpd+Tsu-Tclk.FPGA的Tsu也需要查FPGA芯片的手册。FPGA速度等级不同,这个参数也不同。Tpd和Tclk需要根据电路板实际的参数来计算。通常,每10cm的线长可以按照1ns来计算.例如:系统时钟100MHz,电路板上最大延迟2ns,时钟最大延迟1.7ns,Tco3ns,FPGA的Tsu为0.2ns.那么输入延迟的值:maxInputdelay=2+3+0.2-1.7=3.5ns.这个参数的含义是指让FPGA的设计工具把FPGA的输入端口到第一级寄存器

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

4、优化FPGA内部从最后一级寄存器到输出端口的路径,确保其输出的信号能够被下一级芯片正确的采到。约束的名称:outputdelay,约束条件的影响主要有3个因素:外部芯片的Tsu,电路板上信号延迟Tpd,时钟延迟Tclk.Tsu的参数通常需要查外部芯片的数据手册。计算公式:outputdelay=Tsu+Tpd-Tclk.例如:系统时钟100MHz,电路板上最大延迟2ns,时钟最大延迟1.7ns,Tsu1ns,输出延迟的值:maxoutputdelay=1+2-1.7=1.3ns.这个参数的含义是指让FPGA的设计工具把最后一级寄存器到输出端口之间的路径延迟(包括门延迟和线延迟)控

5、制在10ns-1.3ns=8.7ns以内。4、从输入端口到输出端口:这种路径是指组合逻辑的延迟,指信号从输入到输出没有经过任何寄存器。给这种路径加约束条件,需要虚拟一个时钟,然后通过约束来指定哪些路径是要受该虚拟时钟的约束。在Synplifypro和Precision中都有相应的约束来处理这种路径4、时钟的设定方法:时钟要分成两种,一种是从端口上直接输入的时钟,另一种是在FPGA内部产生的时钟。内部产生的时钟又要分成两种,从锁相环出来的(包括altera的PLL和Xilinx的DLL)和从逻辑单元出来的,例如一般的计数器分频就是这种情况。从锁相环出来的时钟可以通过端口直接加,因为

6、一般的综合工具和布线工具都能够自动的把端口的时钟约束传递到锁相环,并且根据锁相环的倍频关系自动施加到下一级。而从逻辑单元出来的就需要单独对其进行约束。5、在SDC格式中,创建时钟的命令create_clock,后面要带3个参数:name,period,waveform.name的含义是指创建这个时钟约束的名字,而不是时钟本身的名字。要把这个约束和时钟信号关联起来,还需要在后面加些东西。period的单位缺省是ns.waveform是用来指定占空比。除了这三个参数以外,常常还要加get_ports的命令,来指定时钟的输入端口。下面的例子是一个较为完整的设定时钟的例子:create_

7、clock-nameclk1-period10.000–waveform{2.0008.000}[get_portssysclk]这个例子表示,有一个clk1的约束,在这个约束中设定了时钟的周期为10ns,占空比为2ns低电平,8ns高电平。这个叫做clk1的约束是针对sysclk这个端口的。如果是利用内部锁相环分频出来很多其他时钟的约束,可以不再另外施加其他约束,逻辑综合器和布线器都能根据锁相环的参数自动计算。如果是利用内部的逻辑单元分频出来的信号,则必须利用get_regis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。