Go to the documentation of this file.
28 #ifndef __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
29 #define __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
35 #include "../core/sc_event.hh"
36 #include "../core/sc_module.hh"
37 #include "../core/sc_prim.hh"
38 #include "../dt/bit/sc_logic.hh"
57 virtual const char *
kind()
const {
return "sc_signal"; }
123 template <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);
159 template <
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)
218 os <<
" name = " << this->
name() << ::std::endl;
228 return WRITER_POLICY;
241 template <
typename T, sc_core::sc_writer_policy WRITER_POLICY>
271 template <
class T, sc_writer_policy WRITER_POLICY=SC_ONE_WRITER>
315 template <
class T, sc_writer_policy WRITER_POLICY>
316 inline std::ostream &
323 template <sc_writer_policy WRITER_POLICY>
329 sc_gem5::ScSignalBinary<bool, WRITER_POLICY>(
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);
387 template <sc_writer_policy WRITER_POLICY>
393 sc_gem5::ScSignalBinary<
sc_dt::sc_logic, WRITER_POLICY>(
401 sc_gem5::ScSignalBinary<
sc_dt::sc_logic, WRITER_POLICY>(
436 this->_signalPosedge();
438 this->_signalNegedge();
448 #endif //__SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
bool _addReset(sc_gem5::Reset *reset) const
virtual const char * kind() const
virtual bool event() const
InternalScEvent _posedgeEvent
ScSignalBaseBinary(const char *_name)
virtual void print(std::ostream &os=std::cout) const
ScSignalBasePicker(const char *_name)
ScSignalBinary(const char *_name)
InternalScEvent _negedgeEvent
std::vector< sc_gem5::Reset * > _resets
sc_signal(const char *name)
virtual const T & read() const
sc_core::sc_port_base * _gem5WriterPort
const sc_core::sc_event & negedgeEvent() const
WriteChecker< WRITER_POLICY > _checker
virtual sc_core::sc_writer_policy get_writer_policy() const
const sc_core::sc_event & posedge_event() const
virtual sc_core::sc_writer_policy get_writer_policy() const =0
InternalScEvent _valueChangedEvent
sc_core::sc_port_base * firstPort
virtual const sc_core::sc_event & value_changed_event() const
virtual void dump(std::ostream &os=std::cout) const
const sc_core::sc_event & defaultEvent() const
sc_signal(const char *name, const sc_dt::sc_logic &initial_value)
std::ostream & operator<<(std::ostream &os, sc_status s)
ScSignalBaseT(const char *_name)
ScSignalBaseT(const char *_name, const T &initial_value)
const sc_logic SC_LOGIC_0(Log_0)
const char * sc_gen_unique_name(const char *seed)
sc_signal(const char *name, const T &initial_value)
virtual const sc_core::sc_event & default_event() const
sc_signal(const char *name, const bool &initial_value)
ScSignalBinary(const char *_name, const T &initial_value)
virtual void write(const T &t)
const char * name() const
ScSignalBasePicker(const char *_name)
const sc_core::sc_event & negedge_event() const
sc_signal(const char *name)
const sc_core::sc_event & posedgeEvent() const
virtual void register_port(sc_core::sc_port_base &port, const char *iface_type_name)
sc_signal< T, WRITER_POLICY > & operator=(const T &t)
sc_signal(const char *name)
const sc_logic SC_LOGIC_1(Log_1)
ScSignalBase(const char *_name)
const sc_core::sc_event & valueChangedEvent() const
ScSignalBasePicker(const char *_name)
Generated on Wed Sep 30 2020 14:02:15 for gem5 by doxygen 1.8.17