- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog_后仿概念
Verilog时序检查 使用时序检查以验证设计的时序 时序检查完成下列工作: 确定两个指定事件之间的时差 比较时差与指定的时限 如果时差超过指定时限则产生时序不能满足的报告。这个报告只是一个警告信息,不影响模块的输出 Verilog支持的时序检查有: setup(建立时间) hold(保持时间) pulse width(脉冲宽度) clock period(时钟周期) skew(倾斜) Verilog时序检查(续) 系统任务$setup在数据变化到时钟沿的时差小于时限则报告一个violation,如 $setup( data, posedge clk, 4); 系统任务$hold在时钟沿到数据变化的时差小于时限则报告一个violation,如 $hold( posedge clk, data, 3); $setuphold是$setup和$hold的联合。 $setuphold( posedge clk, data, 4, 3); 时序检查中的通知(notifier)(续) 可以说明并使用一个notifier来显示时序不满足(violation) $setuphold( ref_event, data_event, s_limit, h_limit, NOTIFY); notifier是可选的 notifier是一个1位的寄存器 时序检查产生violation时,Verilog报告信息并使notifier翻转 当时序violation产生时,可以用notifier使输出变为未定义值。 有两种方法使notifier影响输出值 将notifier作为UDP的一个输入端口 在高级行为模块中,不需要为notifier声明一个端口也可以对其进行操作。 notifier举例 SDF(Stand Delay Format)文件 增量或绝对延时,如模块路径,器件、内部连接和端口(包括输入端口延时) 时序检查,如setup, hold, recovery, skew, width period 条件或无条件模块路径延时 设计、实例、类型或库的专用数据 比例、环境、工艺及用户定义基本单元 内部连接延时 内部连接延时 IOPATH延时 IOPATH延时 端口IOPATH,从输入到输出;用最好、典型和最坏值说明上升和下降延时。 限定敏感边沿的IOPATH,从时钟到输出,用最好、典型和最坏值描述其上升和下降延时。 条件IOPATH,从输入到输出;用最好、典型和最坏值描述其上升、下降和关断延时。 * `timescale 1ns/ 1ns module dff_notifier (q, ck, d, rst); input ck, d, rst; output q; reg FLAG; // 1-bit notifier // dff netlist goes here specify (ck = q) = (2: 3: 4); $setup( d, posedge ck , 2, FLAG); endspecify endmodule module test; reg ck, d, rst; dff_notifier u1 (q, ck, d, rst); // stimulus and response checking goes here always @( notifier) begin rst = 1; #10 rst = 0; end endmodule notifier初始值为X;第一个产生时序violation时,其值变为1。其后每次产生时序violation,其值翻转。 标准延时格式(SDF)是一种标准的,与工具无关的表示时序数据的文本格式。SDF文件通常用于Verilog仿真。教程不对SDF做详细介绍。 应注意的是,Verilog仿真器必须能够将SDF文件中的数据标注用于仿真。这些数据包括: SDF允许不同工具共享延时数据。可以将关键路径信息由综合器传递给布局布线工具,也可将内部连接线延时信息由布局布线工具反传给仿真器。 内部连接延时是对器件之间连接线延时的估算。例如: (INSTANCE ) (DELAY (ABSOLUTE (INTERCONNECT u1. u2. u3. o1 u1. u4. i3 (5: 6: 7) (5.5: 6: 6.5) ) ) ) 上面的例子中的内部连接延时说明了一个input到output连接的线
文档评论(0)