数値

整数

// 整数
0123456789
01_23_45_67_89

// 2進数
32'b01xzXZ
32'b01_xz_XZ

// 8進数
32'o01234567xzXZ
32'o01_23_45_67_xz_XZ

// 10進数
32'd0123456789
32'd01_23_45_67_89

// 16進数
128'h0123456789abcdefxzABCDEFXZ
128'h01_23_45_67_89_ab_cd_ef_xz_AB_CD_EF_XZ

全ビットのセット

// 全て 0
'0

// 全て 1
'1

// 全て x
'x
'X

// 全て z
'z
'Z

幅なし整数

ビット幅指定は省略することができます。省略された場合、トランスパイルされたコードでは適切なビット幅が付与されます。

module ModuleA {
    local a0: u64 = 'b0101;
    local a1: u64 = 'o01234567;
    local a2: u64 = 'd0123456789;
    local a3: u64 = 'h0123456789fffff;
}

指定ビットのセット

“全ビットのセット” にビット幅指定を付与することもできます。

module ModuleA {
    local a0: u64 = 1'0;
    local a1: u64 = 2'1;
    local a2: u64 = 3'x;
    local a3: u64 = 4'z;
}

浮動小数点数

// 浮動小数点数
0123456789.0123456789
01_23_45_67_89.01_23_45_67_89

// 指数表記
0123456789.0123456789e+0123456789
01_23_45_67_89.01_23_45_67_89E-01_23_45_67_89