ただいまコメントを受けつけておりません。
雑記 > codeのメモ > 【SystemVerilog】semaphoreをenum型の配列で宣言する例
typedef enum {
Task00
,Task01
,Task02
} SemItem_e ;
semaphore SemTask[SemItem_e] ;
semaphoreはnewが必要でenumの要素分newの記述が必要になるが、 上手く記述すればenumの要素数を増やしてもnewの記述を変えずに済む方法があるとか。
function new (string name)
super.new(name);
SemTask[Task00] = new(1) ;
SemTask[Task01] = new(1) ;
SemTask[Task02] = new(1) ;
endfunction
semaphoreを使用する箇所は以下のように記述
SemTask[Task00].get() ;
do_run_Task00() ;
SemTask[Task00].put() ;
ただいまコメントを受けつけておりません。