原创 set_input_delay/ set_output_delay之图解

2009-2-11 09:12 10080 13 14 分类: FPGA/CPLD


在edn上看到很多仁兄的文章 大受启发 也写写自己的理解 一同讨论


 

set_input_delay/ set_output_delay



在与时钟选项定义的时钟相关的输入port上定义data
arrival time
,可将输入延时定义与上升沿或下降沿相关。



如果输入延时与简单的生成时钟相关,到生成时钟的clock arrival time要加到data arrival time上。



输入延时可以定义与时钟网络中的port相关,到参考portclock arrival time要加到data arrival time上。



输入延时可以包含时钟源延时,默认条件下,相关的时钟源延时加到输入延时上;但是,当定义-source_latency_included选项时,时钟源延时不要相加,因为它并没有用作为input delay value的时序因素。



max用在时钟建立时间或恢复(recovery)校验上,min用于时钟保持时钟或移除(removal)校验上。



 



# Simple input
delay with the same value for min/max and rise/fall:



# 1) set on
ports with names of the form myin*



set_input_delay
-clock clk 1.5 [get_ports myin*]



# 2) set on all
input ports



set_input_delay
-clock clk 1.5 [all_inputs]



 



# Input delay
with respect to the falling edge of clock



set_input_delay
-clock clk -clock_fall 1.5 [get_ports myin*]



 



# Input delays
for different min/max and rise/fall combinations



set_input_delay
-clock clk -max -rise 1.4 [get_ports myin*]



set_input_delay
-clock clk -max -fall 1.5 [get_ports myin*]



set_input_delay
-clock clk -min -rise 0.7 [get_ports myin*]



set_input_delay
-clock clk -min -fall 0.8 [get_ports myin*]

============================================

以上内容摘自Quartus help,基本定义edn上很多仁兄已经讲的很清楚了。


看下面简单的例子,两级触发器,来自

http://www.altera.com.cn/support/examples/timequest/exm-timequest.html

设计图:

点击看大图


很简单的例子,仅仅加时钟周期约束的条件下,用TimeQuest分析仅会得到一路path的分析,reg1 to reg2,时序图如下:

点击看大图

这张图已经有人做过了仔细的分析,可以清楚地看到各个参数的大小。

下面三张图是加约束后的时序分析图,所加的条件是:



set_input_delay -clock { clk_in }
-add_delay 1.200 [get_ports {data_in}]



set_output_delay -clock { clk_in }
-add_delay 2.000 [get_ports data_out]



重新运行TimeQuest,可以看到3个path分析
1) data_in to reg1
点击看大图
2) reg1 to reg2
点击看大图
3) reg2 to data_out
点击看大图

可以看到,输入路径在data
arrival time
上加上了input
delay
;输出路径在data
required time
上减去了output
delay
;分别表现为对setup和hold时间的影响。


===================================

First time issuing paper on this web,any correction or suggestion is warmly welcome.Thanks!




PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户554712 2010-10-10 01:11

请问输入延时的最大值和最小值是怎么确定的呢?
相关推荐阅读
用户1395232 2010-01-26 19:59
CycloneIII_GCLK_PLL阅读笔记
    前段时间项目中使用了CycloneIII这款芯片,负责了时钟方面的设计,摘录时钟网络和PLL使用笔记:1、芯片管脚上可以输入16个单端时钟或者8对差分时钟;2、芯片内部共有20个全局时钟网络;...
用户1395232 2009-03-07 12:16
感悟--从单片机到PGA
        翻开两年前在学校做项目后提交的心得体会,看着这些熟悉而又生涩的文字,感慨万千。=====================================================...
用户1395232 2009-02-23 20:11
关于上拉电阻(ZT&YC)
最近涉及到了上、下拉电阻的使用,搜索到不少资料。自己总结了两大方向:==================================================================...
用户1395232 2009-02-21 14:59
异步FIFO的设计
         异步FIFO的设计是一个老生常谈的问题了,网上有很多很经典的教程和论文。此处以Clifford E.Cummings的文章'Simulation and Synthesis Tech...
用户1395232 2009-02-20 16:07
逻辑设计学习之读后感
几个月前从网上看到了王x人写的《浅淡逻辑设计的学习》,这个人应该是个专家吧。当时看完了4页的文字倒没什么收获,几个月后再把它翻出来看--完全不一样的感觉。摘录几点建议,谈谈自己的想法。      @@...
EE直播间
更多
我要评论
1
13
关闭 站长推荐上一条 /3 下一条