dol: initial dol commit
[jump.git] / dol / src / dol / visitor / hdsd / scd / fsm / scd_stsw_term_req.h
diff --git a/dol/src/dol/visitor/hdsd/scd/fsm/scd_stsw_term_req.h b/dol/src/dol/visitor/hdsd/scd/fsm/scd_stsw_term_req.h
new file mode 100644 (file)
index 0000000..1c39d7f
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef SCD_STSW_TERM_REQ_H
+#define SCD_STSW_TERM_REQ_H
+
+#include "fsm/scd_stsw_base.h"
+
+
+/* forward declaration */
+class scd_cont_slave_wrapper;
+
+
+class scd_stsw_term_req : public scd_stsw_base
+{
+public:
+    scd_stsw_term_req(scd_simulator& sim, scd_cont_slave_wrapper& fsm):
+        scd_stsw_base(sim, fsm) { _name = "term_req"; }
+    virtual ~scd_stsw_term_req() {}
+
+    /* sdc_stsw_base */
+    void recv_term_nack();
+    void recv_term_ack();
+
+    /* scd_cont_wrapper_if */
+    void send_term_nack();
+    bool term_req() const;
+
+    /* scd_cont_fsm_if */
+    void set_busy();
+    void set_idle(const sc_core::sc_time& time);
+    void set_done();
+};
+
+#endif