Menu
CoddyTech

整数と実数

CoddyのVerilogジャーニー「基礎」セクションの一部。レッスン 8/90。

wireとregに加えて、Verilogには用途の異なる数値用のデータ型があります。

整数

integerは、カウントや計算に使う汎用変数です。

  • デフォルトのサイズは32ビット
  • 符号付き(負の数を格納できる)
  • 主にテストベンチやforループで使用される

整数の宣言:

integer i;        // 32ビットの符号付き変数
integer count;    // 負の数を格納できる

integer型の使用:

integer i;

initial begin
  i = 0;           // 0から始める
  i = i + 1;       // 1増やす
  i = -5;          // 負の値も格納できる
  $display("i = %d", i);  // 表示結果: i = -5
end

実数

realは浮動小数点数(小数を含む数値)を表します。

  • 小数値を格納する
  • テストベンチで計算に使用される
  • ハードウェアに合成できない

実数の宣言:

real pi;           // 浮動小数点変数
real voltage;

realの使用:

real pi;

initial begin
  pi = 3.14159;               // 小数値
  pi = 22.0 / 7.0;            // 除算の結果
  $display("pi = %f", pi);    // 出力: pi = 3.142857
end

使用する場面

テストベンチでは:整数型と実数型は、ループカウンター、計算、期待値の確認によく使われます。これらを使うと、テストコードを書きやすく、理解しやすくなります。

ハードウェアでは:real 型は合成できません。つまり、実際の回路に変換できません。integer 型は合成でき、ループカウンターとしてよく使われますが、FPGAやチップに実装するハードウェアの信号には、reg と wire を使います。

challenge icon

チャレンジ

テストベンチが動作するようにコードを完成させてください。

やること:

  1. (ループカウンター用に)i という名前の integer を宣言する
  2. (計算用に)value という名前の real を宣言する

自分で試してみよう

module test;
  
  // i という名前の整数を宣言する

  
  // value という名前の実数を宣言する

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
endmodule
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Verilogオンラインコンパイラ