set_input_delay 之经典图解.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
set_input_delay 之经典图解

set_input_delay/ set_output_delay之图解   set_input_delay/ set_output_delay   在与时钟选项定义的时钟相关的输入port上定义data arrival time,可将输入延时定义与上升沿或下降沿相关。   如果输入延时与简单的生成时钟相关,到生成时钟的clock arrival time要加到data arrival time上。   输入延时可以定义与时钟网络中的port相关,到参考port的clock arrival time要加到data arrival time上。   输入延时可以包含时钟源延时,默认条件下,相关的时钟源延时加到输入延时上;但是,当定义-source_latency_included选项时,时钟源延时不要相加,因为它并没有用作为input delay value的时序因素。   max用在时钟建立时间或恢复(recovery)校验上,min用于时钟保持时钟或移除(removal)校验上。   以上内容摘自Quartus help,基本定义edn上很多仁兄已经讲的很清楚了。   看下面简单的例子,两级触发器,来自   /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时间的影响。 TimeQuest实例: 约束最大斜移 TimeQuest时序分析器不支持规定最大斜移的单个约束,但是您可以规定相对于时钟端口的建立和保持时间,来约束源同步接口。下面的例子采用了图1中的简单源同步电路。 图1. 源同步接口图 约束输出总线的斜移 该实例对接口进行约束,在clk_out信号之后的2至3ns , data_out 总线的所有比特传输至片外。假设clk_in和clk_out周期为8ns。下面的等式和实例介绍了怎样建立时序要求,以满足图2中的时序关系。 图2. 源同步时序图 这些等式显示了怎样为 set_output_delay –min 命令计算数值,该命令在目的时钟设置2ns保持要求。对于源时钟和目的时钟相同的保持要求计算, - = 0 。 latch - launch = 0 ns output delay = latch - launch - 2 ns output delay = -2 ns 这些等式显示了怎样为 set_output_delay 命令计算数值,该命令在目的时钟设置3ns建立要求。对于源时钟和目的时钟相同的建立要求计算, - = clock period 。 latch - launch = 8 ns output delay = latch - launch - 3 ns output delay = 5 ns 最后,下面的约束将所有计算合并在一起,为源同步输出加上时序要求。 set period 8.000 create_clock -period $period \ ? ?-name clk_in \ ? ?[get_ports clk_in] derive_pll_clocks set_output_delay -add_delay \ ? ?-clock ddr_pll_1_inst|altpll_component|pll|CLK[0] \ ? ?-reference_pin [get_ports clk_out] \ ? ?-min -2.000 \ ? ?[get_ports data_out*] set_output_delay -add_delay \ ? ?-clock ddr

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档