SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_core::sc_signal_rv< W > Class Template Reference

#include <sysc/communication/sc_signal_rv.h>

Inheritance diagram for sc_core::sc_signal_rv< W >:
Collaboration diagram for sc_core::sc_signal_rv< W >:

Public Types

typedef sc_signal_rv< W > this_type
 
typedef sc_signal< sc_dt::sc_lv< W >, SC_MANY_WRITERSbase_type
 
typedef sc_dt::sc_lv< W > value_type
 
typedef sc_signal_inout_if< sc_dt::sc_lv< W > > if_type
 
typedef sc_writer_policy_check< POL > policy_type
 
enum  { list_end = 0xdb }
 
typedef unsigned phase_cb_mask
 

Public Member Functions

 sc_signal_rv ()
 
 sc_signal_rv (const char *name_)
 
 sc_signal_rv (const char *name_, const value_type &initial_value_)
 
virtual ~sc_signal_rv ()
 
virtual void register_port (sc_port_base &, const char *)
 
virtual void write (const value_type &)
 
virtual const char * kind () const
 
this_typeoperator= (const value_type &a)
 
this_typeoperator= (const sc_signal_in_if< value_type > &a)
 
this_typeoperator= (const this_type &a)
 
virtual sc_writer_policy get_writer_policy () const
 
virtual const sc_eventdefault_event () const
 
virtual const sc_eventvalue_changed_event () const
 
virtual const T & read () const
 
virtual const T & get_data_ref () const
 
virtual bool event () const
 
virtual void write (const T &)
 
 operator const T & () const
 
const T & get_new_value () const
 
void trace (sc_trace_file *tf) const
 
virtual void print (::std::ostream &=::std::cout) const
 
virtual void dump (::std::ostream &=::std::cout) const
 
bool update_requested ()
 
void request_update ()
 
void async_request_update ()
 
const char * name () const
 
const char * basename () const
 
sc_simcontextsimcontext () const
 
bool add_attribute (sc_attr_base &)
 
sc_attr_baseget_attribute (const std::string &name_)
 
const sc_attr_baseget_attribute (const std::string &name_) const
 
sc_attr_baseremove_attribute (const std::string &name_)
 
void remove_all_attributes ()
 
int num_attributes () const
 
sc_attr_cltnattr_cltn ()
 
const sc_attr_cltnattr_cltn () const
 
virtual const std::vector< sc_event * > & get_child_events () const
 
virtual const std::vector< sc_object * > & get_child_objects () const
 
sc_objectget_parent () const
 
sc_objectget_parent_object () const
 

Protected Member Functions

virtual void update ()
 
void do_update ()
 
void deprecated_get_data_ref () const
 
void deprecated_get_new_value () const
 
void deprecated_trace () const
 
sc_eventlazy_kernel_event (sc_event **, const char *) const
 
void notify_next_delta (sc_event *ev) const
 
virtual void before_end_of_elaboration ()
 
virtual void end_of_elaboration ()
 
virtual void start_of_simulation ()
 
virtual void end_of_simulation ()
 
bool async_attach_suspending ()
 
bool async_detach_suspending ()
 
void wait ()
 
void wait (const sc_event &e)
 
void wait (const sc_event_or_list &el)
 
void wait (const sc_event_and_list &el)
 
void wait (const sc_time &t)
 
void wait (double v, sc_time_unit tu)
 
void wait (const sc_time &t, const sc_event &e)
 
void wait (double v, sc_time_unit tu, const sc_event &e)
 
void wait (const sc_time &t, const sc_event_or_list &el)
 
void wait (double v, sc_time_unit tu, const sc_event_or_list &el)
 
void wait (const sc_time &t, const sc_event_and_list &el)
 
void wait (double v, sc_time_unit tu, const sc_event_and_list &el)
 
void wait (int n)
 
void next_trigger ()
 
void next_trigger (const sc_event &e)
 
void next_trigger (const sc_event_or_list &el)
 
void next_trigger (const sc_event_and_list &el)
 
void next_trigger (const sc_time &t)
 
void next_trigger (double v, sc_time_unit tu)
 
void next_trigger (const sc_time &t, const sc_event &e)
 
void next_trigger (double v, sc_time_unit tu, const sc_event &e)
 
void next_trigger (const sc_time &t, const sc_event_or_list &el)
 
void next_trigger (double v, sc_time_unit tu, const sc_event_or_list &el)
 
void next_trigger (const sc_time &t, const sc_event_and_list &el)
 
void next_trigger (double v, sc_time_unit tu, const sc_event_and_list &el)
 
bool timed_out ()
 
virtual void add_child_event (sc_event *event_p)
 
virtual void add_child_object (sc_object *object_p)
 
virtual bool remove_child_event (sc_event *event_p)
 
virtual bool remove_child_object (sc_object *object_p)
 
phase_cb_mask register_simulation_phase_callback (phase_cb_mask)
 
phase_cb_mask unregister_simulation_phase_callback (phase_cb_mask)
 

Protected Attributes

std::vector< sc_process_b * > m_proc_vec
 
std::vector< value_type * > m_val_vec
 
m_cur_val
 
m_new_val
 
sc_eventm_change_event_p
 
sc_dt::uint64 m_change_stamp
 

Detailed Description

template<int W>
class sc_core::sc_signal_rv< W >

Definition at line 98 of file sc_signal_rv.h.

Member Typedef Documentation

◆ base_type

Definition at line 106 of file sc_signal_rv.h.

◆ if_type

typedef sc_signal_inout_if<sc_dt::sc_lv< W > > sc_core::sc_signal< sc_dt::sc_lv< W > , POL >::if_type
inherited

Definition at line 354 of file sc_signal.h.

◆ phase_cb_mask

typedef unsigned sc_core::sc_object::phase_cb_mask
inherited

Definition at line 75 of file sc_object.h.

◆ policy_type

typedef sc_writer_policy_check<POL> sc_core::sc_signal< sc_dt::sc_lv< W > , POL >::policy_type
inherited

Definition at line 358 of file sc_signal.h.

◆ this_type

template<int W>
typedef sc_signal_rv<W> sc_core::sc_signal_rv< W >::this_type

Definition at line 105 of file sc_signal_rv.h.

◆ value_type

template<int W>
typedef sc_dt::sc_lv<W> sc_core::sc_signal_rv< W >::value_type

Definition at line 107 of file sc_signal_rv.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
Enumerator
list_end 

Definition at line 54 of file sc_prim_channel.h.

Constructor & Destructor Documentation

◆ sc_signal_rv() [1/3]

template<int W>
sc_core::sc_signal_rv< W >::sc_signal_rv ( )
inline

Definition at line 113 of file sc_signal_rv.h.

◆ sc_signal_rv() [2/3]

template<int W>
sc_core::sc_signal_rv< W >::sc_signal_rv ( const char *  name_)
inlineexplicit

Definition at line 117 of file sc_signal_rv.h.

◆ sc_signal_rv() [3/3]

template<int W>
sc_core::sc_signal_rv< W >::sc_signal_rv ( const char *  name_,
const value_type initial_value_ 
)
inline

Definition at line 121 of file sc_signal_rv.h.

◆ ~sc_signal_rv()

template<int W>
sc_core::sc_signal_rv< W >::~sc_signal_rv ( )
inlinevirtual

Definition at line 178 of file sc_signal_rv.h.

Member Function Documentation

◆ add_attribute()

bool sc_core::sc_object::add_attribute ( sc_attr_base )
inherited

◆ add_child_event()

virtual void sc_core::sc_object::add_child_event ( sc_event event_p)
protectedvirtualinherited

◆ add_child_object()

virtual void sc_core::sc_object::add_child_object ( sc_object object_p)
protectedvirtualinherited

Reimplemented in sc_core::sc_process_b.

◆ async_attach_suspending()

bool sc_core::sc_prim_channel::async_attach_suspending ( )
inlineprotectedinherited

Definition at line 363 of file sc_prim_channel.h.

◆ async_detach_suspending()

bool sc_core::sc_prim_channel::async_detach_suspending ( )
inlineprotectedinherited

Definition at line 370 of file sc_prim_channel.h.

◆ async_request_update()

void sc_core::sc_prim_channel::async_request_update ( )
inlineinherited

Definition at line 356 of file sc_prim_channel.h.

◆ attr_cltn() [1/2]

sc_attr_cltn& sc_core::sc_object::attr_cltn ( )
inherited

◆ attr_cltn() [2/2]

const sc_attr_cltn& sc_core::sc_object::attr_cltn ( ) const
inherited

◆ basename()

const char* sc_core::sc_object::basename ( ) const
inherited

◆ before_end_of_elaboration()

virtual void sc_core::sc_prim_channel::before_end_of_elaboration ( )
protectedvirtualinherited

Reimplemented in sc_core::sc_clock.

◆ default_event()

template<class T, sc_writer_policy POL>
virtual const sc_event& sc_core::sc_signal_t< T, POL >::default_event ( ) const
inlinevirtualinherited

Reimplemented from sc_core::sc_interface.

Definition at line 195 of file sc_signal.h.

◆ deprecated_get_data_ref()

void sc_core::sc_signal_channel::deprecated_get_data_ref ( ) const
protectedinherited

◆ deprecated_get_new_value()

void sc_core::sc_signal_channel::deprecated_get_new_value ( ) const
protectedinherited

◆ deprecated_trace()

void sc_core::sc_signal_channel::deprecated_trace ( ) const
protectedinherited

◆ do_update()

template<class T , sc_writer_policy POL>
void sc_core::sc_signal_t< T, POL >::do_update ( )
inlineprotectedinherited

Definition at line 337 of file sc_signal.h.

◆ dump()

template<class T , sc_writer_policy POL>
void sc_core::sc_signal_t< T, POL >::dump ( ::std::ostream &  os = ::std::cout) const
virtualinherited

Reimplemented from sc_core::sc_object.

Definition at line 317 of file sc_signal.h.

◆ end_of_elaboration()

virtual void sc_core::sc_prim_channel::end_of_elaboration ( )
protectedvirtualinherited

◆ end_of_simulation()

virtual void sc_core::sc_prim_channel::end_of_simulation ( )
protectedvirtualinherited

◆ event()

template<class T, sc_writer_policy POL>
virtual bool sc_core::sc_signal_t< T, POL >::event ( ) const
inlinevirtualinherited

Implements sc_core::sc_signal_in_if< T >.

Definition at line 214 of file sc_signal.h.

◆ get_attribute() [1/2]

sc_attr_base* sc_core::sc_object::get_attribute ( const std::string &  name_)
inherited

◆ get_attribute() [2/2]

const sc_attr_base* sc_core::sc_object::get_attribute ( const std::string &  name_) const
inherited

◆ get_child_events()

virtual const std::vector<sc_event*>& sc_core::sc_object::get_child_events ( ) const
inlinevirtualinherited

Definition at line 114 of file sc_object.h.

◆ get_child_objects()

virtual const std::vector<sc_object*>& sc_core::sc_object::get_child_objects ( ) const
inlinevirtualinherited

Reimplemented in sc_core::sc_process_b, and sc_core::sc_module.

Definition at line 117 of file sc_object.h.

◆ get_data_ref()

template<class T, sc_writer_policy POL>
virtual const T& sc_core::sc_signal_t< T, POL >::get_data_ref ( ) const
inlinevirtualinherited

Implements sc_core::sc_signal_in_if< T >.

Definition at line 207 of file sc_signal.h.

◆ get_new_value()

template<class T, sc_writer_policy POL>
const T& sc_core::sc_signal_t< T, POL >::get_new_value ( ) const
inlineinherited

Definition at line 238 of file sc_signal.h.

◆ get_parent()

sc_object* sc_core::sc_object::get_parent ( ) const
inherited

◆ get_parent_object()

sc_object* sc_core::sc_object::get_parent_object ( ) const
inlineinherited

Definition at line 121 of file sc_object.h.

◆ get_writer_policy()

template<class T, sc_writer_policy POL>
virtual sc_writer_policy sc_core::sc_signal_t< T, POL >::get_writer_policy ( ) const
inlinevirtualinherited

Reimplemented from sc_core::sc_signal_write_if< T >.

Definition at line 191 of file sc_signal.h.

◆ kind()

template<int W>
virtual const char* sc_core::sc_signal_rv< W >::kind ( ) const
inlinevirtual

Reimplemented from sc_core::sc_signal_t< T, POL >.

Definition at line 141 of file sc_signal_rv.h.

◆ lazy_kernel_event()

sc_event* sc_core::sc_signal_channel::lazy_kernel_event ( sc_event **  ,
const char *   
) const
protectedinherited

◆ name()

const char* sc_core::sc_object::name ( ) const
inlineinherited

Definition at line 77 of file sc_object.h.

◆ next_trigger() [1/12]

void sc_core::sc_prim_channel::next_trigger ( )
inlineprotectedinherited

Definition at line 150 of file sc_prim_channel.h.

◆ next_trigger() [2/12]

void sc_core::sc_prim_channel::next_trigger ( const sc_event e)
inlineprotectedinherited

Definition at line 156 of file sc_prim_channel.h.

◆ next_trigger() [3/12]

void sc_core::sc_prim_channel::next_trigger ( const sc_event_or_list el)
inlineprotectedinherited

Definition at line 159 of file sc_prim_channel.h.

◆ next_trigger() [4/12]

void sc_core::sc_prim_channel::next_trigger ( const sc_event_and_list el)
inlineprotectedinherited

Definition at line 162 of file sc_prim_channel.h.

◆ next_trigger() [5/12]

void sc_core::sc_prim_channel::next_trigger ( const sc_time t)
inlineprotectedinherited

Definition at line 165 of file sc_prim_channel.h.

◆ next_trigger() [6/12]

void sc_core::sc_prim_channel::next_trigger ( double  v,
sc_time_unit  tu 
)
inlineprotectedinherited

Definition at line 168 of file sc_prim_channel.h.

◆ next_trigger() [7/12]

void sc_core::sc_prim_channel::next_trigger ( const sc_time t,
const sc_event e 
)
inlineprotectedinherited

Definition at line 171 of file sc_prim_channel.h.

◆ next_trigger() [8/12]

void sc_core::sc_prim_channel::next_trigger ( double  v,
sc_time_unit  tu,
const sc_event e 
)
inlineprotectedinherited

Definition at line 174 of file sc_prim_channel.h.

◆ next_trigger() [9/12]

void sc_core::sc_prim_channel::next_trigger ( const sc_time t,
const sc_event_or_list el 
)
inlineprotectedinherited

Definition at line 178 of file sc_prim_channel.h.

◆ next_trigger() [10/12]

void sc_core::sc_prim_channel::next_trigger ( double  v,
sc_time_unit  tu,
const sc_event_or_list el 
)
inlineprotectedinherited

Definition at line 181 of file sc_prim_channel.h.

◆ next_trigger() [11/12]

void sc_core::sc_prim_channel::next_trigger ( const sc_time t,
const sc_event_and_list el 
)
inlineprotectedinherited

Definition at line 185 of file sc_prim_channel.h.

◆ next_trigger() [12/12]

void sc_core::sc_prim_channel::next_trigger ( double  v,
sc_time_unit  tu,
const sc_event_and_list el 
)
inlineprotectedinherited

Definition at line 188 of file sc_prim_channel.h.

◆ notify_next_delta()

void sc_core::sc_signal_channel::notify_next_delta ( sc_event ev) const
inlineprotectedinherited

Definition at line 128 of file sc_signal.h.

◆ num_attributes()

int sc_core::sc_object::num_attributes ( ) const
inherited

◆ operator const T &()

template<class T, sc_writer_policy POL>
sc_core::sc_signal_t< T, POL >::operator const T & ( ) const
inlineinherited

Definition at line 223 of file sc_signal.h.

◆ operator=() [1/3]

template<int W>
this_type& sc_core::sc_signal_rv< W >::operator= ( const value_type a)
inline

Definition at line 146 of file sc_signal_rv.h.

◆ operator=() [2/3]

template<int W>
this_type& sc_core::sc_signal_rv< W >::operator= ( const sc_signal_in_if< value_type > &  a)
inline

Definition at line 149 of file sc_signal_rv.h.

◆ operator=() [3/3]

template<int W>
this_type& sc_core::sc_signal_rv< W >::operator= ( const this_type a)
inline

Definition at line 152 of file sc_signal_rv.h.

◆ print()

template<class T , sc_writer_policy POL>
void sc_core::sc_signal_t< T, POL >::print ( ::std::ostream &  os = ::std::cout) const
inlinevirtualinherited

Reimplemented from sc_core::sc_object.

Definition at line 310 of file sc_signal.h.

◆ read()

template<class T, sc_writer_policy POL>
virtual const T& sc_core::sc_signal_t< T, POL >::read ( ) const
inlinevirtualinherited

Implements sc_core::sc_signal_in_if< T >.

Definition at line 203 of file sc_signal.h.

◆ register_port()

template<int W>
virtual void sc_core::sc_signal_rv< W >::register_port ( sc_port_base ,
const char *   
)
inlinevirtual

Reimplemented from sc_core::sc_signal_t< T, POL >.

Definition at line 132 of file sc_signal_rv.h.

◆ register_simulation_phase_callback()

phase_cb_mask sc_core::sc_object::register_simulation_phase_callback ( phase_cb_mask  )
protectedinherited

◆ remove_all_attributes()

void sc_core::sc_object::remove_all_attributes ( )
inherited

◆ remove_attribute()

sc_attr_base* sc_core::sc_object::remove_attribute ( const std::string &  name_)
inherited

◆ remove_child_event()

virtual bool sc_core::sc_object::remove_child_event ( sc_event event_p)
protectedvirtualinherited

◆ remove_child_object()

virtual bool sc_core::sc_object::remove_child_object ( sc_object object_p)
protectedvirtualinherited

Reimplemented in sc_core::sc_process_b.

◆ request_update()

void sc_core::sc_prim_channel::request_update ( )
inlineinherited

Definition at line 344 of file sc_prim_channel.h.

◆ simcontext()

sc_simcontext* sc_core::sc_object::simcontext ( ) const
inlineinherited

Definition at line 91 of file sc_object.h.

◆ start_of_simulation()

virtual void sc_core::sc_prim_channel::start_of_simulation ( )
protectedvirtualinherited

◆ timed_out()

bool sc_core::sc_prim_channel::timed_out ( )
inlineprotectedinherited

Definition at line 195 of file sc_prim_channel.h.

◆ trace()

template<class T, sc_writer_policy POL>
void sc_core::sc_signal_t< T, POL >::trace ( sc_trace_file tf) const
inlinevirtualinherited

Reimplemented from sc_core::sc_object.

Definition at line 245 of file sc_signal.h.

◆ unregister_simulation_phase_callback()

phase_cb_mask sc_core::sc_object::unregister_simulation_phase_callback ( phase_cb_mask  )
protectedinherited

◆ update()

template<int W>
void sc_core::sc_signal_rv< W >::update ( )
inlineprotectedvirtual

Reimplemented from sc_core::sc_signal_t< T, POL >.

Definition at line 224 of file sc_signal_rv.h.

◆ update_requested()

bool sc_core::sc_prim_channel::update_requested ( )
inlineinherited

Definition at line 59 of file sc_prim_channel.h.

◆ value_changed_event()

template<class T, sc_writer_policy POL>
virtual const sc_event& sc_core::sc_signal_t< T, POL >::value_changed_event ( ) const
inlinevirtualinherited

Implements sc_core::sc_signal_in_if< T >.

Definition at line 199 of file sc_signal.h.

◆ wait() [1/13]

void sc_core::sc_prim_channel::wait ( )
inlineprotectedinherited

Definition at line 105 of file sc_prim_channel.h.

◆ wait() [2/13]

void sc_core::sc_prim_channel::wait ( const sc_event e)
inlineprotectedinherited

Definition at line 111 of file sc_prim_channel.h.

◆ wait() [3/13]

void sc_core::sc_prim_channel::wait ( const sc_event_or_list el)
inlineprotectedinherited

Definition at line 114 of file sc_prim_channel.h.

◆ wait() [4/13]

void sc_core::sc_prim_channel::wait ( const sc_event_and_list el)
inlineprotectedinherited

Definition at line 117 of file sc_prim_channel.h.

◆ wait() [5/13]

void sc_core::sc_prim_channel::wait ( const sc_time t)
inlineprotectedinherited

Definition at line 120 of file sc_prim_channel.h.

◆ wait() [6/13]

void sc_core::sc_prim_channel::wait ( double  v,
sc_time_unit  tu 
)
inlineprotectedinherited

Definition at line 123 of file sc_prim_channel.h.

◆ wait() [7/13]

void sc_core::sc_prim_channel::wait ( const sc_time t,
const sc_event e 
)
inlineprotectedinherited

Definition at line 126 of file sc_prim_channel.h.

◆ wait() [8/13]

void sc_core::sc_prim_channel::wait ( double  v,
sc_time_unit  tu,
const sc_event e 
)
inlineprotectedinherited

Definition at line 129 of file sc_prim_channel.h.

◆ wait() [9/13]

void sc_core::sc_prim_channel::wait ( const sc_time t,
const sc_event_or_list el 
)
inlineprotectedinherited

Definition at line 132 of file sc_prim_channel.h.

◆ wait() [10/13]

void sc_core::sc_prim_channel::wait ( double  v,
sc_time_unit  tu,
const sc_event_or_list el 
)
inlineprotectedinherited

Definition at line 135 of file sc_prim_channel.h.

◆ wait() [11/13]

void sc_core::sc_prim_channel::wait ( const sc_time t,
const sc_event_and_list el 
)
inlineprotectedinherited

Definition at line 138 of file sc_prim_channel.h.

◆ wait() [12/13]

void sc_core::sc_prim_channel::wait ( double  v,
sc_time_unit  tu,
const sc_event_and_list el 
)
inlineprotectedinherited

Definition at line 141 of file sc_prim_channel.h.

◆ wait() [13/13]

void sc_core::sc_prim_channel::wait ( int  n)
inlineprotectedinherited

Definition at line 144 of file sc_prim_channel.h.

◆ write() [1/2]

template<int W>
void sc_core::sc_signal_rv< W >::write ( const value_type value_)
inlinevirtual

Definition at line 191 of file sc_signal_rv.h.

◆ write() [2/2]

template<class T, sc_writer_policy POL>
void sc_core::sc_signal_t< T, POL >::write ( const T &  value_)
inlinevirtualinherited

Implements sc_core::sc_signal_write_if< T >.

Reimplemented in sc_core::sc_signal_resolved, and sc_core::sc_buffer< T, POL >.

Definition at line 293 of file sc_signal.h.

Member Data Documentation

◆ m_change_event_p

sc_event* sc_core::sc_signal_channel::m_change_event_p
mutableprotectedinherited

Definition at line 132 of file sc_signal.h.

◆ m_change_stamp

sc_dt::uint64 sc_core::sc_signal_channel::m_change_stamp
protectedinherited

Definition at line 133 of file sc_signal.h.

◆ m_cur_val

template<class T, sc_writer_policy POL>
T sc_core::sc_signal_t< T, POL >::m_cur_val
protectedinherited

Definition at line 266 of file sc_signal.h.

◆ m_new_val

template<class T, sc_writer_policy POL>
T sc_core::sc_signal_t< T, POL >::m_new_val
protectedinherited

Definition at line 267 of file sc_signal.h.

◆ m_proc_vec

template<int W>
std::vector<sc_process_b*> sc_core::sc_signal_rv< W >::m_proc_vec
protected

Definition at line 161 of file sc_signal_rv.h.

◆ m_val_vec

template<int W>
std::vector<value_type*> sc_core::sc_signal_rv< W >::m_val_vec
protected

Definition at line 162 of file sc_signal_rv.h.


The documentation for this class was generated from the following file: