以下两个示例在模拟方面有什么区别?

一种)

reg a;
initial a = 1'b0;



B)
reg a = 1'b0;

逻辑变量有什么不同吗?

最佳答案

不同之处在于初始化作为变量声明的一部分在任何 initialalways 构造启动的任何进程之前执行。如果你写道:

bit clk;
initial clk = 1;
always #5 clk++;
always @(posedge clk) ...;
@(posedge clk) 是否在时间 0 或时间 10 被触发存在竞争条件。
但是:
bit clk = 1;
always #5 clk++;
always @(posedge clk) ...;

与上述没有竞争。第一个posedge将在10个时间单位出现。

关于verilog - 在 systemverilog 中使用初始块与初始化 reg 变量有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38445246/

10-11 10:40