30 #ifndef __SYSTEMC_EXT_CHANNEL_SC_IN_HH__ 31 #define __SYSTEMC_EXT_CHANNEL_SC_IN_HH__ 35 #include "../core/sc_event.hh" 36 #include "../core/sc_main.hh" 37 #include "../core/sc_port.hh" 38 #include "../utils/sc_trace_file.hh" 49 class sc_in :
public sc_port<sc_signal_in_if<T>, 1>
121 sc_trace(params->tf, (*this)->read(), params->name);
123 traceParamsVec.clear();
126 const T &
read()
const {
return (*this)->read(); }
127 operator const T& ()
const {
return (*this)->read(); }
133 return (*this)->value_changed_event();
135 bool event()
const {
return (*this)->event(); }
138 virtual const char *
kind()
const {
return "sc_in"; }
161 i.add_trace(tf, name);
265 sc_trace(params->tf, (*this)->read(), params->name);
267 traceParamsVec.clear();
270 const bool &
read()
const {
return (*this)->read(); }
271 operator const bool& ()
const {
return (*this)->read(); }
277 return (*this)->value_changed_event();
282 return (*this)->posedge_event();
287 return (*this)->negedge_event();
290 bool event()
const {
return (*this)->event(); }
291 bool posedge()
const {
return (*this)->posedge(); }
292 bool negedge()
const {
return (*this)->negedge(); }
298 virtual const char *
kind()
const {
return "sc_in"; }
321 const std::string &
name)
324 i.add_trace(tf,
name);
331 public sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>
433 sc_trace(params->tf, (*this)->read(), params->name);
435 traceParamsVec.clear();
445 return (*this)->value_changed_event();
450 bool event()
const {
return (*this)->event(); }
451 bool posedge()
const {
return (*this)->posedge(); }
452 bool negedge()
const {
return (*this)->negedge(); }
458 virtual const char *
kind()
const {
return "sc_in"; }
482 const std::string &
name)
485 i.add_trace(tf,
name);
492 #endif //__SYSTEMC_EXT_CHANNEL_SC_IN_HH__ sc_event_finder_t< sc_signal_in_if< sc_dt::sc_logic > > _posFinder
sc_in< T > & operator=(const sc_in< T > &)
sc_event_finder_t< sc_signal_in_if< sc_dt::sc_logic > > _negFinder
virtual void bind(sc_port< sc_signal_in_if< T >, 1 > &i)
sc_event_finder & value_changed() const
void sc_trace< bool >(sc_trace_file *tf, const sc_in< bool > &i, const std::string &name)
sc_event_finder_t< sc_signal_in_if< T > > _valueChangedFinder
const sc_event & value_changed_event() const
sc_in(const char *name, const sc_signal_in_if< bool > &interface)
const sc_event & default_event() const
const sc_event & negedge_event() const
sc_in(sc_port_b< sc_signal_in_if< bool > > &parent)
sc_event_finder & pos() const
sc_trace_params_vec traceParamsVec
sc_in(const char *name, sc_port_b< sc_signal_in_if< bool > > &parent)
const char * name() const
sc_in(const sc_signal_in_if< T > &interface)
sc_event_finder & value_changed() const
virtual void bind(const sc_signal_in_if< sc_dt::sc_logic > &i)
sc_in(const char *name, sc_port_b< sc_signal_in_if< sc_dt::sc_logic > > &parent)
void add_trace(sc_trace_file *tf, const std::string &name) const
sc_in(const char *name, const sc_signal_in_if< T > &interface)
const sc_event & negedge_event() const
sc_event_finder_t< sc_signal_in_if< bool > > _valueChangedFinder
sc_trace_params_vec traceParamsVec
sc_in(const sc_signal_in_if< sc_dt::sc_logic > &interface)
sc_event_finder & neg() const
virtual void bind(sc_port< sc_signal_inout_if< T >, 1 > &p)
virtual const char * kind() const
sc_event_finder & value_changed() const
virtual void bind(sc_port< sc_signal_inout_if< sc_dt::sc_logic >, 1 > &p)
sc_trace_params_vec traceParamsVec
virtual const char * kind() const
sc_event_finder & pos() const
const sc_event & value_changed_event() const
void sc_trace(sc_trace_file *tf, const sc_in< T > &i, const std::string &name)
sc_in(const char *name, sc_port< sc_signal_in_if< T >, 1 > &parent)
const sc_event & default_event() const
sc_event_finder_t< sc_signal_in_if< bool > > _posFinder
sc_in(const char *name, sc_port_b< sc_signal_in_if< T > > &parent)
sc_in(const char *name, const sc_signal_in_if< sc_dt::sc_logic > &interface)
sc_in(const char *name, sc_port< sc_signal_in_if< sc_dt::sc_logic >, 1 > &parent)
void operator()(const sc_signal_in_if< T > &i)
sc_event_finder_t< sc_signal_in_if< sc_dt::sc_logic > > _valueChangedFinder
virtual void end_of_elaboration()
void add_trace(sc_trace_file *tf, const std::string &name) const
sc_in(const sc_signal_in_if< bool > &interface)
virtual void bind(sc_port< sc_signal_in_if< sc_dt::sc_logic >, 1 > &i)
sc_status sc_get_status()
sc_in(sc_port< sc_signal_in_if< T >, 1 > &parent)
sc_in(const char *name, sc_port< sc_signal_in_if< bool >, 1 > &parent)
sc_in(sc_port_b< sc_signal_in_if< T > > &parent)
virtual void bind(sc_port< sc_signal_in_if< bool >, 1 > &p)
sc_in(sc_port< sc_signal_in_if< bool >, 1 > &parent)
const sc_event & posedge_event() const
virtual void bind(sc_port< sc_signal_inout_if< bool >, 1 > &p)
virtual const char * kind() const
virtual void bind(const sc_signal_in_if< bool > &i)
const sc_dt::sc_logic & read() const
sc_event_finder & neg() const
void add_trace(sc_trace_file *tf, const std::string &name) const
sc_in(sc_port_b< sc_signal_in_if< sc_dt::sc_logic > > &parent)
const sc_event & value_changed_event() const
virtual void end_of_elaboration()
const bool & read() const
void bind(sc_interface &)
virtual void bind(const sc_signal_in_if< T > &i)
const sc_event & default_event() const
sc_in(sc_port< sc_signal_in_if< sc_dt::sc_logic >, 1 > &parent)
const sc_event & posedge_event() const
sc_event_finder_t< sc_signal_in_if< bool > > _negFinder
virtual void end_of_elaboration()