门延迟和网络延迟提供了一种更准确描述电路延迟的方法。门延迟(gate delay)指定了从任何门输入到门输出的信号传播延迟。每个输出最多可指定三个延迟值,分别代表上升、下降和关断延迟。
网络延迟(net delay)是指从网络net上的任何驱动改变net值到net值更新并进一步传播所需的时间。每个网络net最多可指定三个延迟值。
对于门和网络net,如果没有给出延迟说明,默认延迟应为零。
当给出一个延迟值时,该值将用于与门或网络相关的所有传播延迟。
当给出两个延迟值时,第一个延迟值应指定上升延迟,第二个延迟值应指定下降延迟。信号变为高阻抗z或未知信号x时的延迟应为两个延迟值中的较小值。
当给出三个延迟值时,第一个是指上升延迟值,第二个是指下降延迟值,第三个指过渡到高阻抗延迟值(即关断)。当数值变为未知 ( x ) 值时,延迟为三个延迟中最小的一个值。输入信号的强度不应影响从输入到输出的传播延迟。
表1总结了两延迟和三延迟的传播延迟规范(min表示取两者之间较小的数):
示例 1--下面包含一个、两个和三个延迟的延迟规范:
and #(10) a1 (out, in1, in2); // 只有一个延时
and #(10,12) a2 (out, in1, in2); // 上升和下降延迟
bufif0 #(10,12,11) b3 (out, in, ctrl);// 上升、下降和关断延迟
示例 2--下面的示例指定了一个具有三态输出的简单锁存器模块,其中门电路具有各自的延时。从最初的输入端到模块输出端的传播延迟是累积的,取决于net信号路径:
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!