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>
276 sc_gen_unique_name(
"signal"))
315template <
class T, sc_writer_policy WRITER_POLICY>
323template <sc_writer_policy WRITER_POLICY>
329 sc_gem5::ScSignalBinary<bool, WRITER_POLICY>(
330 sc_gen_unique_name(
"signal"))
336 sc_gem5::ScSignalBinary<bool, WRITER_POLICY>(
name, initial_value)
368 this->_signalReset();
370 this->_signalPosedge();
372 this->_signalNegedge();
379 this->_resets.push_back(reset);
387template <sc_writer_policy WRITER_POLICY>
393 sc_gem5::ScSignalBinary<
sc_dt::sc_logic, WRITER_POLICY>(
394 sc_gen_unique_name(
"signal"))
401 sc_gem5::ScSignalBinary<
sc_dt::sc_logic, WRITER_POLICY>(
436 this->_signalPosedge();
438 this->_signalNegedge();
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 sc_signal< T, WRITER_POLICY > &)
sc_signal< T, WRITER_POLICY > & operator=(const T &t)
sc_signal(const char *name, const T &initial_value)
sc_signal(const char *name)
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
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)
sc_core::sc_port_base * firstPort
std::ostream & operator<<(std::ostream &os, sc_status s)
const sc_logic SC_LOGIC_0(Log_0)
const sc_logic SC_LOGIC_1(Log_1)
const std::string & name()