未分配Verilog线

时间:2014-04-08 21:59:11

标签: verilog variable-assignment

我想知道如果在Verilog代码中声明了一条线,但是没有赋予任何值,Verilog会将其值视为ZERO吗?

例如,我看到一个代码:

wire start;

module_if  my_module_if(.clk(in_clk), .start(start));

我可以假设" start"的值会是零吗? 这是Verilog可接受的风格吗?

1 个答案:

答案 0 :(得分:1)

没有任务的网(包括电线)将被初始化为'z'(又名高阻抗)。

但是如果你试图将“start”用作某种变量或状态,那么你应该将它声明为“reg”或“logic”(System-Verilog)而不是“wire”(它往往会被使用)更多用于互连)。

样式方面,对于您和代码的读者来说,对于逻辑的初始化来说,它可能不那么容易出错。例如......

logic start;
initial begin
  start = 1'b0;
end