28#ifndef __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
29#define __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
57 virtual const char *
kind()
const {
return "sc_signal"; }
123template <sc_core::sc_writer_policy WRITER_POLICY>
133 std::string iface_type_name, std::string out_name);
150 std::string iface_type_name, std::string out_name);
159template <
class T, sc_core::sc_writer_policy WRITER_POLICY>
177# if !defined(SC_NO_WRITE_CHECK)
179 _checker.checkPort(port, iface_type_name,
186 operator const T&()
const {
return read(); }
191# if !defined(SC_NO_WRITE_CHECK)
216 dump(std::ostream &os=std::cout)
const
218 os <<
" name = " << this->
name() << ::std::endl;
219 os <<
" value = " <<
m_cur_val << ::std::endl;
220 os <<
"new value = " <<
m_new_val << ::std::endl;
228 return WRITER_POLICY;
241template <
typename T, sc_core::sc_writer_policy WRITER_POLICY>
271template <
class T, sc_writer_policy WRITER_POLICY=SC_ONE_WRITER>
315template <
class T, sc_writer_policy WRITER_POLICY>
323template <sc_writer_policy WRITER_POLICY>
379 this->
_resets.push_back(reset);
387template <sc_writer_policy WRITER_POLICY>
sc_signal(const char *name)
sc_signal(const sc_signal< bool, WRITER_POLICY > &)
bool _addReset(sc_gem5::Reset *reset) const
sc_signal(const char *name, const bool &initial_value)
sc_signal(const char *name, const sc_dt::sc_logic &initial_value)
sc_signal(const char *name)
sc_signal(const sc_signal< sc_dt::sc_logic, WRITER_POLICY > &)
sc_signal(const char *name)
sc_signal(const sc_signal< T, WRITER_POLICY > &)
sc_signal< T, WRITER_POLICY > & operator=(const T &t)
sc_signal(const char *name, const T &initial_value)
InternalScEvent _negedgeEvent
InternalScEvent _posedgeEvent
const sc_core::sc_event & negedgeEvent() const
ScSignalBaseBinary(const char *_name)
const sc_core::sc_event & posedgeEvent() const
std::vector< sc_gem5::Reset * > _resets
void _signalReset(sc_gem5::Reset *reset)
ScSignalBasePicker(const char *_name)
ScSignalBasePicker(const char *_name)
ScSignalBasePicker(const char *_name)
virtual const sc_core::sc_event & default_event() const
virtual const T & read() const
virtual void dump(std::ostream &os=std::cout) const
virtual const sc_core::sc_event & value_changed_event() const
ScSignalBaseT(const char *_name)
WriteChecker< WRITER_POLICY > _checker
virtual void register_port(sc_core::sc_port_base &port, const char *iface_type_name)
virtual bool event() const
ScSignalBaseT(const char *_name, const T &initial_value)
virtual sc_core::sc_writer_policy get_writer_policy() const
virtual void print(std::ostream &os=std::cout) const
virtual void write(const T &t)
virtual sc_core::sc_writer_policy get_writer_policy() const =0
InternalScEvent _valueChangedEvent
const sc_core::sc_event & valueChangedEvent() const
virtual const char * kind() const
const sc_core::sc_event & defaultEvent() const
ScSignalBase(const char *_name)
sc_core::sc_port_base * _gem5WriterPort
const sc_core::sc_event & posedge_event() const
const sc_core::sc_event & negedge_event() const
ScSignalBinary(const char *_name, const T &initial_value)
ScSignalBinary(const char *_name)
WriteChecker(ScSignalBase *_sig)
void checkPort(sc_core::sc_port_base &port, std::string iface_type_name, std::string out_name)
sc_core::sc_port_base * firstPort
WriteChecker(ScSignalBase *_sig)
void checkPort(sc_core::sc_port_base &port, std::string iface_type_name, std::string out_name)
std::ostream & operator<<(std::ostream &os, sc_status s)
const char * sc_gen_unique_name(const char *seed)
const sc_logic SC_LOGIC_0(Log_0)
const sc_logic SC_LOGIC_1(Log_1)
const std::string & name()