Quartus2 中的那个smarty assignn...

一 从输入端口到寄存器:
约束名称:input
约束条件:Tco(外部芯片的输出延时)、Tpd(电路板上的延时)、Tsu(FPGA的寄存器建立时间)、Tclk(时钟延迟)
约束计算公式:input
delay = Tco + Tpd + Tsu C Tclk
例如:系统时钟100MHz,电路板上最大延迟2ns,时钟最大延迟1.7ns,Tco
0.2ns。所以:input
delay = 2+3+0.2-1.7=3.5ns
。含义FPGA得输入端口到第一级寄存器之间得路径延迟控制在10ns-3.5ns=6.5ns以内。
二 寄存器到寄存器:
方法:通过设定时钟频率方式进行约束
三 寄存器到输出:
约束名称:output
约束条件:Tsu(FPGA的寄存器建立时间)、Tpd(电路板上的延时)、Tclk(时钟延迟)
约束计算公式:output
+Tpd C Tclk
例如:系统时钟100MHz,电路板上最大延迟2ns,
时钟最大延迟
Tsu 1ns, 输出延迟的值:
output delay = 1+2-1.7=1.3ns .这个参数的含义是指
让FPGA的设计工具把最后一级寄存器到输出端口之间的路径延迟(包括门延迟和线延迟)控制在
10ns-1.3ns=8.7ns
注:Tpd一般每10cm的线长可以按照1ns延迟来计算
四 创建时钟约束命令:
约束格式:create_clock
-name (创建这个时钟约束得名字,而不是指时钟本身,但可以和时钟名一样)
-period(单位缺省,是ns)
-waveform(占空比)
get_ports{输入端口名}]
例如:create_clock
-name clk1 -period 10.000 Cwaveform. { 2.000 8.000 } [get_ports
这个例子表示,有一个clk1的约束,在这个约束中设定了时钟的周期为10ns,
占空比为2ns低电平,8ns高电平。
这个叫做clk1的约束是针对sysclk这个端口的。 如果是利用内部锁相环分频出来很多其他时钟的约束,可以不再另外施加其他约束,逻辑综合器和布线器都能根据锁相环的参数自动计算。 如果是利用内部的逻辑单元分频出来的信号,则必须利用get_registers指定分频的寄存器名。
例如:create_clock
-name clk1 -period 10.000 Cwaveform. { 2.000 8.000 } [get_registers
cnt_clk] 对于逻辑单元分频的时钟信号,也可以采用命令create_generated_clock会更加精确。
例如:create_generated_clk
-name clk2 -source [getports sysclk] -div 4 [get_registers
cnt_clk]这个约束命令描述了
一个clk2的约束,约束的对象是由sysclk分频4次得到的时钟,这个时钟是由cnt_clk这个寄存器产生的。
五 时钟延迟约束:
约束格式:
set_clock_latency
例如:set_clock_latency
-source 2 [get_clocks {clk_in}]
六 时钟抖动约束:
约束格式:set_clock_uncertainty
-setup -from -to和set_clock_uncertainty
-hold -from -to
set_clock_undertainty
Csetup 0.500 Cfrom clkA Cto clkA
set_clock_uncertainty
Chold 0.300 Cfrom clkA Cto clkA
注:这个约束得描述是clkA到clkA的建立时间是0.5ns
保持时间是0.3ns 注:既影响对Tsu的分析,也影响对Thold的分析
七 输入和输出延迟约束:
约束格式:set_input_delay
/set_output_delay
-clock CLK(参考时钟)
-max或-min(最大最小值)[get_ports
OUT(端口的名称)]
set_input_delay
/set_output_delay -clock CLK -max 1.200 [get_ports IN/OUT]
set_input_delay
/set_output_delay -clock
CLK -min 0.800 [get_ports IN/OUT]
八 不关心数据传递路径和多拍路径
约束格式:set_false_path/set_multicycle
-from [get_clocks] -to [get_clocks] 或者
set_false_path/set_multicycle
-from regA -to regB
set_false_path
-from [get_clocks clkA] -to [get_clocks clkB]
set_false_path
-from regA -to regB 第一条命令是设定了从时钟域clkA到时钟域clkB的所有路径都为false
path. 第二条命令设定了从
regA到regB的路径为false
path这两种路径在做时序分析时都会被忽略。您的位置: >
QuartusII中Tsu/Tco的约束方法(2)
日 11:08 来源:本站整理 作者:邓旭 (0)
4. 修改布线后的底层电路.
  执行Processing..Compilation Report 命令. 在Resource Section..Input Pins/Output Pins 中
  选中对应的输入输出管脚(如下图所示).
  执行Locate..Locate to Chip Editor 命令.得到如下界面.
  选中的管脚在Chip Editor 中已经被HighLight( 如上图所示). 双击Highlight 的的管脚,得到下图界面.
  这里的参数就是该管脚在布线后所有的参数,并不是每个参数都可以修改.比如: 对LVDS 电平标准,Current Strength 就不能够修改等.对于LVTTL 电平标准,Current Strength 就有2,4,8,16,24mA 可以修改.
  设计者可以根据设计的需求来Enable 或者Disable Fast Input Register/Fast Output Register 属性,可以修改输入管脚到逻辑阵列的延迟和输出管脚到逻辑阵列的延迟等.
  修改完成后,这时不能够再编程工程,只需要执行Processing..Start..Start Assembler 更新编程sof 文件和pof 文件即可。
相关技术文章:
相关资料下载:
技术交流、我要发言
发表评论,获取积分! 请遵守相关规定!提 交
QuartusII业界动态
QuartusII技术应用
QuartusII资料下载
Tsu/Tco技术应用quartus_ii入门教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
quartus_ii入门教程
上传于|0|0|文档简介
&&quartus_ii入门教程
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 smarty assign 的文章

 

随机推荐