アトリビュート
アトリビュートは変数宣言などいくつかの宣言に注釈を付けることができます。
sv
アトリビュート
sv
アトリビュートは SystemVerilog のアトリビュートを表し、(* *)
という形式の SystemVerilog アトリビュートに変換されます。
module ModuleA {
#[sv("ram_style=\"block\"")]
let _a: logic<10> = 1;
#[sv("mark_debug=\"true\"")]
let _b: logic<10> = 1;
}
allow
アトリビュート
allow
アトリビュートは指定されたリントチェックを無効化するために使用できます。
module ModuleA {
#[allow(unused_variable)]
let a: logic<10> = 1;
}
指定可能なリント名は以下の通りです。
- unused_variable
- missing_reset_statement
- missing_port
ifdef
/ifndef
アトリビュート
ifdef
と ifndef
アトリビュートは定義された値によってコードブロックを有効にするかどうかを制御するために使用することができます。もし DEFINE_A
が定義されていれば、#[ifdef(DEFINE_A)]
のついたコードブロックは有効に、#[ifndef(DEFINE_A)]
のついたコードブロックは無効になります。
module ModuleA {
#[ifdef(DEFINE_A)]
{
let _a: logic<10> = 1;
}
#[ifndef(DEFINE_A)]
{
let _b: logic<10> = 1;
}
}