После использования Verilog в течение нескольких месяцев мне любопытно, какая разница между следующим:
reg [31:0] sum;
integer sum;
Поскольку целое число - это просто 32-разрядное значение почему вы не можете просто использовать reg для его представления? Почему один из них может быть более эффективным, чем другой, с точки зрения использования памяти или времени доступа ? Пожалуйста, дайте мне знать, что вы думаете, или, если вам нужно, чтобы я расширил свой вопрос.
Пример с использованием целого числа:
integer t = 0;
always @(posedge clk) begin
if (t < 9999) t = t + 1;
else t = 0;
end
Пример с использованием 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