組み込み型

幅指定可能な4値データ型

logic は4値(01xz)のデータ型です。幅は logic のあとの <> で指定できます。<X, Y, Z,,,> のように多次元指定も可能です。

module ModuleA {
    let _a: logic         = 1;
    let _b: logic<10>     = 1;
    let _c: logic<10, 10> = 1;
}

幅指定可能な2値データ型

bit は2値(01)のデータ型です。幅は logic のあとの <> で指定できます。<X, Y, Z,,,> のように多次元指定も可能です。

module ModuleA {
    let _a: bit         = 1;
    let _b: bit<10>     = 1;
    let _c: bit<10, 10> = 1;
}

整数型

整数型にはいくつかの種類があります。

  • u32:32ビットの符号なし整数
  • u64:64ビットの符号なし整数
  • i32:32ビットの符号付き整数
  • i64:64ビットの符号付き整数
module ModuleA {
    let _a: u32 = 1;
    let _b: u64 = 1;
    let _c: i32 = 1;
    let _d: i64 = 1;
}

浮動小数点数型

浮動小数点数型にもいくつかの種類があります。

  • f32:32ビット浮動小数点数
  • f64:64ビット浮動小数点数

いずれも IEEE Std 754 準拠の表現です。

module ModuleA {
    let _a: f32 = 1.0;
    let _b: f64 = 1.0;
}

文字列型

string は文字列を表す型です。

module ModuleA {
    let _a: string = "";
}

Type型

type は型の種類を表す型です。type 型の変数は paramlocal としてのみ定義可能です。

module ModuleA {
    local a: type = logic;
    local b: type = logic<10>;
    local c: type = u32;
}