2017-06-19 43 views
0

在一個模塊:Verilog的:使用REG作爲計數器for循環

reg a, b; 
integer i, j; 

initial 
    begin 
      for (a = 0; a < 2; a = a + 1)  
       //some code 
    end 

教科書說,這是不正確的擺脫整數Ĵ和使用REG 一個b直接作爲循環計數器。提示:reg變量具有固定的大小,因此它們會自動換行。

這是什麼意思?整數是否也有固定大小?什麼是包裝?

+0

https://www.google.co.uk/search?q=integer+wrapping –

回答

1

如果將reg定義爲數組,則reg是單個位或多個位。另一方面,整數是32位。所以如果你有一個循環,使用一個整數變量會更方便,因爲循環前進不會溢出。

在你的例子中,你設置了a < 2,所以用一個位reg就不會終止循環。

此外,整數是單值。

+1

整數在Verilog中是32位,從不是64.單位reg會溢出並且循環永遠不會退出。你至少需要2位的reg。 – Serge

+0

@Serge:謝謝,我解決了我的問題 – Ari