2017-06-19 10 views
0

をforループのカウンタとしてREGを使用する:のVerilog:モジュールで

reg a, b; 
integer i, j; 

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

教科書は、整数を取り除くために正しくないだろうと言う私Jと使用REG をし、 bを直接ループカウンタとして使用します。ヒント:reg変数は固定サイズなので、ラップされます。

これはどういう意味ですか?整数も固定サイズではありませんか?ラッピングは何ですか?

+0

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

答えて

1

regは、単一ビットまたは配列として定義すると複数のビットのいずれかです。一方、整数は32ビットです。ループがある場合は、ループの進行に伴ってオーバーフローしない整数変数を使用する方が便利です。

この例では、a < 2を設定しています。したがって、1ビットregでループは終了しません。

さらに、整数は値が1つになります。

+1

整数は64ビットではなく、64ビットです.1ビットのregはオーバーフローし、ループは決して終了しません。少なくとも2ビットのレジスタが必要です。 – Serge

+0

@ Serge:ありがとう、私の答えを修正した – Ari

関連する問題