数字系统设计12_bak.ppt

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

PATHPULSE$ Specparam可以在specify block中使用控制脉冲传播。 脉冲在模块的输出上有两个比通过模块输出延迟短的预定跳变。 缺省情况下,脉冲会被模拟器滤掉;这意味着只有长于延迟的跳变才会通过模块传输。这种效果叫做惯性延迟。PATHPULSE$可以改变缺省的行为方式。 还可以用于指定促使输出出现x的脉冲宽度范围。 路径脉冲控制 使用PATHPULSE$控制模块路径脉冲保持。 Syntax: PATHPULSE$ = ( reject_limit[, error_limit]); PATHPULSE$Input$Output = (reject_limit[, error_limit]); Limit = ConstantMinTypMaxExpression 如果error limit 没给出,则它与reject limit相同。 短于reject limit的脉冲将不被传输到输出。 比reject limit长但是比error limit短的脉冲会被当做1‘bX传输。 比error limit长的脉冲则正常传输 。 PATHPULSE$input$output specparam优先于 普通的同一模块中的PATHPULSE$ specparam 起作用。 specify (en = q) = 12; (data = q) = 10; (clr, pre * q) = 4; specparam PATHPULSE$ = 3, PATHPULSE$en$q = ( 2, 9 ) , PATHPULSE$clr$q = 1 ; endspecify 定时校验任务 定时检查用于校验设计的定时。 定时检查完成以下功能: 测定两个事件之间的共用时间。 比较共用时间和指定的时间限制。 如果共用时间超指定的时间限制报告时间冲突。(冲突被当作warning报告并不影响模块输出。) Verilog执行的时间检查有: 建立 保持 脉冲宽度 时钟周期 倾斜 恢复 定时校验任务 $hold $nochange $period $recovery $setup $setuphold $skew $width $setup $setup( DataEvent, ReferenceEvent, Limit, [ Notifier]); 如果(time_of_reference_event - time_of_data_event ) limit则报告时序冲突(timing violation); 系统调用实例如下: $setup(data, posedge clk, 4); $hold $hold( ReferenceEvent, DataEvent, Limit [, Notifier]); 如果(time_of_data_event - time_of_reference_event ) limit , 则报数据保持时间时序冲突。 例如: $hold(posedge clk, data, 3); $setuphold 系统任务$setuphold是$setup和$hold任务的结合: $setuphold( ReferenceEvent, DataEvent, SetupLimit, HoldLimit [, Notifier]); 实例: $setuphold(posedge clk, data, 4, 3); $width $width( ReferenceEvent, Limit [, Threshold [, Notifier]]); 则检查信号的脉冲宽度限制,如果threshold (time_of_data_event - time_of_reference_event) limit则报告信号上出现脉冲宽度不够宽的时序错误。 数据事件来源于基准事件:它是带有相反边沿的基准事件,例如: $width(negedge Ck , 10, 0.3 ) ; $period $period( ReferenceEvent, Limit [, Notifier]); 检查信号的周期,若( time_of_data_event - time_of_reference_event ) limit则报告时序错误。 基准事件必须是边沿触发事件。数据事件来源于基准事件:它是带有相同边沿的基准事 $skew $skew( ReferenceEvent, DataEvent, Limit [, Notifier]); 检查信号之间(尤其是成组的时钟控制信号之间)的偏斜(skew)是否满足要求,若time_of_data_event - time_of_reference_event limit则报告信

文档评论(0)

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

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

1亿VIP精品文档

相关文档