組み込み型
幅指定可能な4値データ型
logic は4値(0、1、x、z)のデータ型です。幅は logic のあとの <> で指定できます。<X, Y, Z,,,> のように多次元指定も可能です。
module ModuleA {
let _a: logic = 1;
let _b: logic<10> = 1;
let _c: logic<10, 10> = 1;
}
幅指定可能な2値データ型
bit は2値(0、1)のデータ型です。幅は logic のあとの <> で指定できます。<X, Y, Z,,,> のように多次元指定も可能です。
module ModuleA {
let _a: bit = 1;
let _b: bit<10> = 1;
let _c: bit<10, 10> = 1;
}
型修飾子
logic と bit 型には以下の型修飾子を付けることができます。
signed: MSBは符号ビットとして扱われるtri: トライステート型
module ModuleA {
let _a: signed logic<10> = 1;
let _b: tri logic <10> = 1;
let _c: signed bit <10> = 1;
let _d: tri bit <10> = 1;
}
整数型
整数型にはいくつかの種類があります。
u8:8ビットの符号なし整数u16:16ビットの符号なし整数u32:32ビットの符号なし整数u64:64ビットの符号なし整数i8:8ビットの符号付き整数i16:16ビットの符号付き整数i32:32ビットの符号付き整数i64:64ビットの符号付き整数
module ModuleA {
let _a: u8 = 1;
let _b: u16 = 1;
let _c: u32 = 1;
let _d: u64 = 1;
let _e: i8 = 1;
let _f: i16 = 1;
let _g: i32 = 1;
let _h: 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 型の変数は param か const としてのみ定義可能です。
module ModuleA {
const a: type = logic;
const b: type = logic<10>;
const c: type = u32;
}
ブーリアン型
bool は ブーリアンを表す logic<1> の型エイリアスです。1'b1 と 1'b0 を表す true と false も使用できます。
module ModuleA {
const a: bool = true;
const b: bool = false;
}