はじめに
あるシーケンシャルブロックから別なメソッド・シーケンシャルブロックを起動したいときにevent変数が便利です。
宣言する方法は以下です。
event <変数名>;
下記のように使用します。
-><変数名>;
サンプルコード
センシビリティリストで使用する
always @(<Event変数>)のようにして使用します。
module top;
event a;
initial begin
-> a; // alwaysを動かす。
#10;
$finish;
end
always @(a) $display("a");
endmodule
// 出力
// a
Event変数のエイリアスを作成する
下記のようにEvent変数を定義します。
event a;
event b = a;
aとbはどちらかのEventが発生したら、もう一つに波及します。
module top;
event a;
event b = a;
initial begin
-> b;
#10;
$finish;
end
always begin
@(a);
$display("a");
end
always begin
@(b);
$display("b");
end
endmodule
// 出力
// b
// a
コメント