27 #ifndef SC_PRIM_CHANNEL_H 
   28 #define SC_PRIM_CHANNEL_H 
   89     virtual const char* 
kind()
 const 
   90         { 
return "sc_prim_channel"; }
 
  254     void wait( 
int n, 
int seg_id = -1 )
 
  379     void perform_update();
 
  382     void construction_done();
 
  385     void elaboration_done();
 
  388     void start_simulation();
 
  391     void simulation_done();
 
  431         { 
return m_prim_channel_vec.size(); }
 
  453     void perform_update();
 
  456     bool construction_done();
 
  459     void elaboration_done();
 
  462     void start_simulation();
 
  465     void simulation_done();
 
  473     class async_update_list;   
 
  475     async_update_list*            m_async_update_list_p; 
 
  476     int                           m_construction_done;   
 
  477     std::vector<sc_prim_channel*> m_prim_channel_vec;    
 
  506     prim_channel_.m_update_next_p = m_update_list_p;
 
  507     m_update_list_p = &prim_channel_;
 
  526     if( ! m_update_next_p ) {
 
  549 sc_prim_channel::perform_update()
 
virtual void update()
The update method (does nothing by default). 
 
sc_process_b * sc_get_current_process_b()
 
void async_request_update()
 
void wait(double v, sc_time_unit tu, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
virtual const char * kind() const 
 
void wait(double v, sc_time_unit tu, const sc_event_and_list &el, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
void wait(const sc_time &t, const sc_event_and_list &el, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
bool timed_out(sc_simcontext *)
 
CHNL_MTX_TYPE_ m_mutex
A mutex to protect concurrent communication. 
 
void next_trigger(const sc_time &t)
A new parameter segment ID is added for the out-of-order simulation. 
 
void next_trigger(const sc_time &t, const sc_event &e)
A new parameter segment ID is added for the out-of-order simulation. 
 
void wait(const sc_time &t, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
bool pending_async_updates() const 
 
void wait(int, sc_simcontext *)
 
void next_trigger(const sc_event &e)
A new parameter segment ID is added for the out-of-order simulation. 
 
void next_trigger()
A new parameter segment ID is added for the out-of-order simulation. 
 
void insert(sc_prim_channel &)
 
sc_simcontext * simcontext() const 
 
void async_request_update(sc_prim_channel &)
 
virtual void end_of_simulation()
 
void wait(double v, sc_time_unit tu, const sc_event_or_list &el, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
virtual void start_of_simulation()
 
void next_trigger(const sc_time &t, const sc_event_and_list &el)
A new parameter segment ID is added for the out-of-order simulation. 
 
User initiated dynamic process support. 
 
void wait(const sc_time &t, const sc_event_or_list &el, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
friend class sc_prim_channel_registry
 
void next_trigger(double v, sc_time_unit tu, const sc_event &e)
A new parameter segment ID is added for the out-of-order simulation. 
 
void wait(const sc_event_or_list &el, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
void next_trigger(const sc_time &t, const sc_event_or_list &el)
A new parameter segment ID is added for the out-of-order simulation. 
 
CHNL_MTX_TYPE_ & m_ref
A reference to the channel lock. 
 
void wait(const sc_event_and_list &el, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
void wait(const sc_time &t, const sc_event &e, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
~chnl_scoped_lock()
The destructor automatically releases the channel lock. 
 
void wait(int n, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
void next_trigger(double v, sc_time_unit tu, const sc_event_and_list &el)
A new parameter segment ID is added for the out-of-order simulation. 
 
void next_trigger(const sc_event_or_list &el)
A new parameter segment ID is added for the out-of-order simulation. 
 
Registry for all primitive channels. 
 
void lock_and_push(CHNL_MTX_TYPE_ *lock)
Acquire a new channel lock or increment the lock counter. 
 
void request_update(sc_prim_channel &)
 
virtual void end_of_elaboration()
 
virtual ~sc_prim_channel()
 
void next_trigger(sc_simcontext *)
A new parameter segment ID is added for the out-of-order simulation. 
 
void wait(int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
void wait(const sc_event &e, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
bool pending_updates() const 
 
virtual void before_end_of_elaboration()
 
void next_trigger(double v, sc_time_unit tu, const sc_event_or_list &el)
A new parameter segment ID is added for the out-of-order simulation. 
 
void next_trigger(double v, sc_time_unit tu)
A new parameter segment ID is added for the out-of-order simulation. 
 
The chnl_scoped_lock class to lock (and automatically release) a mutex. 
 
void next_trigger(const sc_event_and_list &el)
A new parameter segment ID is added for the out-of-order simulation. 
 
void pop_and_unlock(CHNL_MTX_TYPE_ *lock)
Release a channel lock or decrement the lock counter. 
 
void wait(double v, sc_time_unit tu, const sc_event &e, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
Abstract base class of all primitive channel classes. 
 
Abstract base class of all SystemC `simulation' objects. 
 
chnl_scoped_lock(CHNL_MTX_TYPE_ &mtx)
The constructor automatically acquires the channel lock.