一个简单的增量寄存器

a simple increment register

我想设计一个递增寄存器,它总是增加输入并把它放在输出中。我写了这段代码,但它有错误:

# Error: VCP2858 test3.v : (51, 19): in is not a valid left-hand side of a procedural assignment.

module inc(in, out);
 output reg [0:32] out ;
 input [0:32] in ;
 wire [0:32] in ; 
 always @(*)
 begin 
in <=( in + 1);//error
out<=in; 
end
endmodule

在 Verilog 中,您不应为在模块内声明为 input 的信号赋值。您的代码可以简化为:

module inc(in, out);
 output [0:32] out ;
 input [0:32] in ;
assign out = in + 1; 
endmodule