Menu
Coddy logo textTech

Integer と Real

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

wireregに加えて、Verilogには異なる目的を持つ数値用のデータ型が他にもあります。

整数型 (Integer)

integerは、カウントや計算のための汎用変数です。

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

整数の宣言:

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

integer の使用:

integer i;

initial begin
  i = 0;           // 0から開始
  i = i + 1;       // カウントアップ
  i = -5;          // 負の値を格納可能
  $display("i = %d", i);  // 出力: i = -5
end

実数

real は浮動小数点数(小数を伴う数値)のためのものです。

  • 小数値を格納します
  • 計算のためにテストベンチで使用されます
  • ハードウェアに合成することはできません

real型の宣言:

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

real の使用:

real pi;

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

使用場所

テストベンチ内: 整数(Integer)と実数(Real)は、ループカウンタ、計算、および期待値のチェックによく使用されます。これらを使用することで、テストコードの記述や理解が容易になります。

ハードウェアにおいて: これらの型は通常、合成可能(synthesizable)ではありません。つまり、実際の回路に変換することはできません。FPGAやチップに実装されるハードウェアの場合は、代わりに regwire を使用してください。

challenge icon

チャレンジ

テストベンチを動作させるためにコードを完成させてください。

行うべきこと:

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

チートシート

integer – カウントや計算(テストベンチ、ループなど)に使用される32ビット符号付き変数です:

integer i;
integer count;

initial begin
  i = 0;
  i = i + 1;
  i = -5;  // can store negatives
end

real – 小数点以下の値を扱うための浮動小数点変数です(テストベンチ専用、合成不可):

real pi;

initial begin
  pi = 3.14159;
  pi = 22.0 / 7.0;
  $display("pi = %f", pi);
end

integerreal はどちらもテストベンチでのみ使用されます。論理合成可能なハードウェアを記述する場合は、regwire を使用してください。

自分で試してみよう

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

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

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

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

基礎のすべてのレッスン