dol: initial dol commit
[jump.git] / dol / src / dol / visitor / hdsd / scd / fsm / scd_stsw_time_ack.h
diff --git a/dol/src/dol/visitor/hdsd/scd/fsm/scd_stsw_time_ack.h b/dol/src/dol/visitor/hdsd/scd/fsm/scd_stsw_time_ack.h
new file mode 100644 (file)
index 0000000..a71ca7e
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef SCD_STSW_TIME_ACK_H
+#define SCD_STSW_TIME_ACK_H
+
+#include "fsm/scd_stsw_base.h"
+
+
+/* forward declaration */
+class scd_cont_slave_wrapper;
+
+
+class scd_stsw_time_ack : public scd_stsw_base
+{
+public:
+    scd_stsw_time_ack(scd_simulator& sim, scd_cont_slave_wrapper& fsm):
+        scd_stsw_base(sim, fsm) { _name = "time_ack"; }
+    virtual ~scd_stsw_time_ack() {}
+
+    /* scd_stsw_base */
+    void recv_time_nack();
+    void recv_time_ack();
+
+    /* scd_cont_wrapper_if */
+    void send_time_nack();
+    void send_time(const sc_core::sc_time& time);
+    bool time_ack() const;
+    const sc_core::sc_time& get_time_step();
+};
+
+#endif