我完全不熟悉Verilog编程,我不明白在哪里初始化变量reg
?Verilog注册分配?
让我们来看看下面的代码片段: 编辑: Warning at synthesize
module test (
output LED0
);
reg led = 1'b1;
assign LED0 = led;
endmodule
或
module test (
output LED0
);
reg led;
initial begin
reg led <= 1'b1;
end
assign LED0 = led;
endmodule
给我:使用的领导,因为这是从来没有在该行指定的初始值: reg led = 1'b1;
reg
类型只在always @ block中被赋值吗?
又如:
module fourBitCounter
(input clk,
output [3:0]counter
);
wire clk;
initial begin
reg[3:0] counter = 4'b1;
end
[email protected] (posedge clk) begin
if(counter > 15)
counter <= 0;
else
counter <= counter + 1;
end endmodule
这里REG具有的初始值为0,但之前我将它设置为1 ...怎么了?谢谢!
你可能不希望使用内部和'initial'块'reg'关键字。 – toolic
你说得对。但是,同样的结果... –