?使用===或<=

问题描述 投票:0回答:2

我们使用时

input reg [7:0] ast, f_out;

ast === f_out ;

ast <= ast + 8'b00000001;

对于那些操作“ ===和<=”,是否发生任何时间延迟?

编辑:我认为有点像1单位时间,我错了吗?

使用的语言:verilog

verilog hdl
2个回答
1
投票

如果使用<=,则将存在模拟周期延迟-即无阻塞分配。阅读有关阻塞与非阻塞分配的信息。

而且,===不是赋值-它是一个相等运算符,它不将xz视为无关位


1
投票

最通常使用#指定时间延迟。由于您的代码中没有看到#,因此可能没有延迟。

添加延迟的另一种方法是使用specify块,您也不会显示。在Verilog IEEE Std中有很多指定的示例。

您可以通过运行模拟和打印时间值自己检查延迟:

$display($time);
© www.soinside.com 2019 - 2024. All rights reserved.