可以使用门时延定义门从任何输入到其输出的信号传输时延。门时延可以在门自身实例语句中定义。带有时延定义的门实例语句的语法如下:
gate_type [delay][instance_name](terminal_list);
时延规定了门时延,即从门的任意输入到输出的传输时延。当没有强调门时延时,缺省的时延值为0。
门时延由三类时延值组成:
1) 上升时延
2) 下降时延
3) 截止时延
门时延定义可以包含0个、1个、2个或3个时延值。下表为不同个数时延值说明条件下,各种具体的时延取值情形。
无时延 1个时延(d) 2个时延(d1, d2) 3个时延 (dA, dB, dC)
上升 0 d d1 dA
下降 0 d d2 dB
to_x 0 d min① (d1, d2) min (dA, dB, dC)
截止 0 d min (d1, d2) dC
① min 是minimum 的缩写词。
注意转换到x的时延(to_x)不但被显式地定义,还可以通过其它定义的值决定。
下面是一些具体实例。注意Verilog HDL模型中的所有时延都以单位时间表示。单位时间与实际时间的关联可以通过`timescale编译器指令实现。在下面的实例中,
not 电阻实例门不能有任何时延。
min:typ:max时延形式
门延迟也可采用min:typ:max形式定义。形式如下:
minimum: typical: maximum
最小值、典型值和最大值必须是常数表达式。下面是在实例中使用这种形式的实例。
nand #(2:3:4, 5:6:7) (Pout, Pin1, Pin2);
选择使用哪种时延通常作为模拟运行中的一个选项。例如,如果执行最大时延模拟,与非门单元使用上升时延4和下降时延7。
程序块也能够定义门时延。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』