使用 Verilog 几个月后,我很好奇以下内容之间有什么区别:
reg [31:0] sum;
integer sum;
Run Code Online (Sandbox Code Playgroud)
既然整数只是一个32位值,为什么不能直接用reg来表示呢?为什么一个在内存使用或访问时间方面可能比另一个更有效?请告诉我您的想法,或者您是否需要我进一步阐述我的问题。
使用整数的示例:
integer t = 0;
always @(posedge clk) begin
if (t < 9999) t = t + 1;
else t = 0;
end
Run Code Online (Sandbox Code Playgroud)
使用 Reg 的示例:
reg[13:0] t = 14'b0; //Represent up to 16383
always @(posedge clk) begin
if (t < 9999) t = t + 14'b00000000000001;
else t = 14'b0;
end
Run Code Online (Sandbox Code Playgroud)