X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=dol%2Fsrc%2Fdol%2Fvisitor%2Fhdsd%2Fscd%2Ffsm%2Fscd_cont_wrapper_if.h;fp=dol%2Fsrc%2Fdol%2Fvisitor%2Fhdsd%2Fscd%2Ffsm%2Fscd_cont_wrapper_if.h;h=12d6f5021991db82ede2ede8121001b22e4beb92;hb=8c411cf24ed0eb889191aaeafd8fa1e69081df42;hp=0000000000000000000000000000000000000000;hpb=dea7a4fb1ed110d3ce6e6d9255103d724bd66c0e;p=jump.git diff --git a/dol/src/dol/visitor/hdsd/scd/fsm/scd_cont_wrapper_if.h b/dol/src/dol/visitor/hdsd/scd/fsm/scd_cont_wrapper_if.h new file mode 100644 index 0000000..12d6f50 --- /dev/null +++ b/dol/src/dol/visitor/hdsd/scd/fsm/scd_cont_wrapper_if.h @@ -0,0 +1,80 @@ +#ifndef SCD_CONT_WRAPPER_IF_H +#define SCD_CONT_WRAPPER_IF_H + +#include "systemc" + + +/** + * Extends the public interface of the slave wrapper FSM. + */ +class scd_cont_wrapper_if +{ +public: + /** + * Sends a time_req command to the slave. + */ + virtual void send_time_req() = 0; + + /** + * Sends a time_nack command to the slave. + */ + virtual void send_time_nack() = 0; + + /** + * Sends a time command to the slave. + */ + virtual void send_time(const sc_core::sc_time& time) = 0; + + /** + * Sends a term_req command to the slave. + */ + virtual void send_term_req() = 0; + + /** + * Sends a term_nack command to the slave. + */ + virtual void send_term_nack() = 0; + + /** + * Sends a term command to the slave. + */ + virtual void send_term() = 0; + + /** + * Inidcates if the slave is in term_req state. + * \return true if the slave seems to be in time_req state + */ + virtual bool time_req() const = 0; + + /** + * Inidcates if the slave is in time_ack state. + * \return true if the slave seems to be in time_ack state + */ + virtual bool time_ack() const = 0; + + /** + * Inidcates if the slave is in term_req state. + * \return true if the slave seems to be in term_req state + */ + virtual bool term_req() const = 0; + + /** + * Inidcates if the slave is in term_ack state. + * \return true if the slave seems to be in term_ack state + */ + virtual bool term_ack() const = 0; + + /** + * Inidcates if the slave is in idle state. + * \return true if the slave seems to be in idle state + */ + virtual bool idle() const = 0; + + /** + * Indicates if the slave is in done state. + * \return true if the slave seems to be in done state + */ + virtual bool done() const = 0; +}; + +#endif