Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

Bluespec SystemVerilog : StmtFSMパッケージ(その1)

Verification Engineerの戯言

Bluespec SystemVerilogには、finite state machine(FSM)を定義するのに便利なStmtFSMパッケージというのがあるんです。

StmtFSMパッケージには、次のようなインターフェースが定義されています。

    ・FSM
    ・One

FSMインターフェースは、
    interface FSM;
      method Action start();
      method Action waitTillDone();
      method Bool done();
    endinterface: FSM
のようになっています。

startメソッドは、FSMを起動します。
waitTillDoneメソッドは、FSMが終了するまで実行します。
doneメソッドは、FSMが終了しているかどうかを示します。

startメソッドで起動し、doneメソッドで終了するまで待ちます。
また、waitTillDoneメソッドを実行します。

Onceインターフェースは、
    interface Once;
      method Action start();
      method Action clear();
      method Bool done();
    endinterface: FSM
のようになっています。

startメソッドは、FSMを起動します。一度実行すると、再度startメソッドを実行することはできません。
clearメソッドを実行することでstartメソッドを実行することができます。
doneメソッドは、FSMが終了しているかどうかを示します。

検証、Verification、Bluespec SystemVerilog