gpt4 book ai didi

verilog - Verilog HDL 中的惯性延迟

转载 作者:行者123 更新时间:2023-12-01 11:33:40 26 4
gpt4 key购买 nike

我找到了两个不同的来源,它们以两种不同的方式解释了 Verilog HDL 中的惯性延迟。

1) 第一个表示任何短于指定延迟的输入信号都将被忽略。

2) 第二个表示,如果其中一个输入发生变化,输出信号将在预定时间使用那个时的输入信号值进行评估。 p>

例如:考虑一个延迟缓冲区

assign #4 out = in;
initial
begin
in = 0;
#5 in = 1;
#1 in = 0;
#1 in = 1;
end

如果我们监控信号,这会导致

     0         5  6  7  8  9 10 11  
| | | | | | | |
__ _________________
in _________| |__|
_____
out1) XXXXXXX____________________|
___________
out2) XXXXXXX______________|

out1) 忽略输入的(5,6)脉冲在“up”状态和(6,7)脉冲在“down”状态因为时间太短,只有1个时间单位。但随后“in”停留了足够长的时间 (7,11),因此 out 在 11 点发生了变化。

out2) 在时间步 9 安排了一次评估,因为输入在时间 5 发生了变化。类似地,在时间 10 和 11,“in”分别在时间 6 和 7 发生了变化。因此,在时间 9、10 和 11,“out”在这些时间采用“in”的当前值,在这种情况下始终为“up”。

哪个评价是正确的?

最佳答案

找出答案的最简单方法 - 对其进行测试。让我们添加一个简单的行:

$monitor("%g out = %b", $time, out);

监控out信号并运行一些模拟器(例如Riviera)。结果 will be :

 0 out = x
4 out = 0
11 out = 1

所以你的第一种方法是正确的。

关于verilog - Verilog HDL 中的惯性延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29781724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com