1 #include "fsm/scd_sts_busy.h"
3 #include "scd_logging.h"
4 #include "scd_exception.h"
5 #include "scd_cont_man_slave.h"
8 void scd_sts_busy::set_idle(const sc_core::sc_time& time)
10 /* prevents the situation where no events exist, but a huge
11 * ammount of data is being transferred that will generate events later
13 if (_sim.get_poller().wait(SCD_CONT_DELAY))
16 scd_command* cmd = new scd_command(SCD_CM_CONTROL, SCD_CM_IDLE, time);
17 _fsm.send_command(cmd);
18 _fsm.set_state(_st_idle);
22 void scd_sts_busy::set_done()
24 /* prevents the situation where no events exist, but a huge
25 * ammount of data is being transferred that will generate events later
27 if (_sim.get_poller().wait(SCD_CONT_DELAY))
30 scd_command* cmd = new scd_command(SCD_CM_CONTROL, SCD_CM_DONE);
31 _fsm.send_command(cmd);
32 _fsm.set_state(_st_done);
36 bool scd_sts_busy::busy() const { return true; }