Applistar

5. 9. 2 wait

  5. 9. 2 wait  

5. 9. 2 wait

wait(); は SC_THREAD で thread の種類のプロセス とした中で、notify からのイべントを待つ記述です。 次の三つの引数を指定します。

wait(待時間、単位、イべント(リスト));

さらにこまかく見ると、次の 三つの方法があります。引数の違いはイべントの部分だけです。

  • 単一のイべントを待つ場合:
wait( double v,
      sc_time_unit tu,
      const sc_event& e,
      sc_simcontext* simc = sc_get_curr_simcontext() )
  • wait (e1 | e2 | e3);のように、どれかを待つ場合:
wait( double v,
      sc_time_unit tu,
      sc_event_or_list& el,
      sc_simcontext* simc = sc_get_curr_simcontext() )
  • wait (e1 & e2 & e3);のように、全てが揃うのを待つ場合:
wait( double v,
      sc_time_unit tu,
      sc_event_and_list& el,
      sc_simcontext* simc = sc_get_curr_simcontext() )

四番目には、シミュレーション文脈の指定がありますが、 これは初期値が設定されているので、指定する必要はありません。

wait(); は SC_METHOD と指定されたプロセスの中で使うと実行時に誤りとされます。

  5. 9. 2 wait