1 #include "fsm/scd_stm_terminate.h"
3 #include "scd_logging.h"
4 #include "scd_exception.h"
5 #include "scd_cont_man_master.h"
8 void scd_stm_terminate::set_busy()
10 scd_error("received further events while terminating");
15 void scd_stm_terminate::set_idle(const sc_core::sc_time& time)
17 scd_error("received future events while terminating");
22 void scd_stm_terminate::process()
24 // check for failed slaves and react
28 if (_some_slaves_active())
30 // not all slaves have terminated yet
35 // all slaves terminated
36 _sim.get_chan_man().close();
38 _fsm.set_state(_st_terminated);