43 #ifndef _SYSC_PRINT_VERBOSE_MESSAGE_ENV_VAR 
   44 #define _SYSC_PRINT_VERBOSE_MESSAGE_ENV_VAR "SYSC_PRINT_VERBOSE_MESSAGE" 
   51 template<
class T> 
class sc_in;
 
   52 template<
class T> 
class sc_inout;
 
   53 template<
class T> 
class sc_out;
 
  101     const char* 
gen_unique_name( 
const char* basename_, 
bool preserve_first );
 
  103     virtual const char* 
kind()
 const 
  104         { 
return "sc_module"; }
 
  485     bool                        m_end_module_called;
 
  486     std::vector<sc_port_base*>* m_port_vec;
 
  569 #define SC_NEW(x)  ::sc_core::sc_module_dynalloc(new x); 
  576 #define SC_MODULE(user_module_name)                                           \ 
  577     struct user_module_name : ::sc_core::sc_module 
  580 #define SC_CHANNEL(user_module_name)                                           \ 
  581     struct user_module_name : ::sc_core::sc_channel 
  583 #define SC_CTOR(user_module_name)                                             \ 
  584     typedef user_module_name SC_CURRENT_USER_MODULE;                          \ 
  585     user_module_name( ::sc_core::sc_module_name ) 
  588 #define SC_HAS_PROCESS(user_module_name)                                      \ 
  589     typedef user_module_name SC_CURRENT_USER_MODULE 
  606 #define declare_method_process(handle, name, host_tag, func, seg_id, inst_id)  \ 
  608         ::sc_core::sc_process_handle handle =                                  \ 
  609             sc_core::sc_get_curr_simcontext()->create_method_process(          \ 
  610                 name,  false, SC_MAKE_FUNC_PTR( host_tag, func ),              \ 
  611                 this, 0, seg_id, inst_id );                                    \ 
  612         this->sensitive << handle;                                             \ 
  613         this->sensitive_pos << handle;                                         \ 
  614         this->sensitive_neg << handle;                                         \ 
  623 #define declare_thread_process(handle, name, host_tag, func, seg_id, inst_id)  \ 
  625         ::sc_core::sc_process_handle handle =                                  \ 
  626              sc_core::sc_get_curr_simcontext()->create_thread_process(         \ 
  628                  SC_MAKE_FUNC_PTR( host_tag, func ),                           \ 
  629                  this, 0, seg_id, inst_id );                                   \ 
  630         this->sensitive << handle;                                             \ 
  631         this->sensitive_pos << handle;                                         \ 
  632         this->sensitive_neg << handle;                                         \ 
  641 #define declare_cthread_process(handle, name, host_tag, func, edge,            \ 
  644         ::sc_core::sc_process_handle handle =                                  \ 
  645              sc_core::sc_get_curr_simcontext()->create_cthread_process(        \ 
  647                  SC_MAKE_FUNC_PTR( host_tag, func ),                           \ 
  648                  this, 0, seg_id, inst_id );                                   \ 
  649         this->sensitive.operator() ( handle, edge );                           \ 
  658 #define SC_CTHREAD(func, edge, seg_id, inst_id)                               \ 
  659     declare_cthread_process( func ## _handle,                                 \ 
  661                              SC_CURRENT_USER_MODULE,                          \ 
  673 #define SC_METHOD(func, seg_id, inst_id)                                      \ 
  674     declare_method_process( func ## _handle,                                  \ 
  676                             SC_CURRENT_USER_MODULE,                           \ 
  687 #define SC_THREAD(func, seg_id, inst_id)                                      \ 
  688     declare_thread_process( func ## _handle,                                  \ 
  690                             SC_CURRENT_USER_MODULE,                           \ 
  724     virtual const char* 
kind()
 const 
  725         { 
return "sc_channel"; }
 
operand is not sc_logic object already exists internal maximum number of processes per module module construction not properly hierarchical name as shown may be incorrect due to previous errors incorrect use of sc_module_name set time resolution failed default time unit changed to time resolution next_trigger() is only allowed in SC_METHODs" ) SC_DEFINE_MESSAGE(SC_ID_IMMEDIATE_NOTIFICATION_ 
 
Struct for temporarily storing a pointer to an interface or port. 
 
void at_posedge(const sc_signal_in_if< sc_dt::sc_logic > &s, int seg_id)
A new parameter segment ID is added for the out-of-order simulation. 
 
sc_simcontext * sc_get_curr_simcontext()
 
void next_trigger(double v, sc_time_unit tu)
A new parameter segment ID is added for the out-of-order simulation. 
 
void halt(sc_simcontext *)
 
Specialization of sc_signal_in_if<T> for type bool. 
 
void wait(int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
#define SC_REPORT_ERROR(msg_type, msg)
 
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. 
 
Registry for all modules. 
 
void reset_signal_is(const sc_in< bool > &port, bool level)
 
virtual void end_of_simulation()
 
bool timed_out(sc_simcontext *)
 
void at_negedge(const sc_signal_in_if< sc_dt::sc_logic > &s, int seg_id)
A new parameter segment ID is added for the out-of-order 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. 
 
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. 
 
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. 
 
void(sc_process_host::* SC_ENTRY_FUNC)()
 
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 next_trigger(const sc_time &t)
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. 
 
void wait(const sc_event &e, int seg_id=-1)
A new parameter segment ID is added for the out-of-order simulation. 
 
void wait(int, sc_simcontext *)
 
int append_port(sc_port_base *)
 
sc_module & operator,(sc_interface &interface_)
 
virtual void end_of_elaboration()
 
void next_trigger(const sc_event_and_list &el)
A new parameter segment ID is added for the out-of-order simulation. 
 
sc_simcontext * simcontext() const 
 
virtual const char * kind() const 
 
User initiated dynamic process support. 
 
void at_negedge(const sc_signal_in_if< bool > &, int, sc_simcontext *=sc_get_curr_simcontext())
A new parameter segment ID is added for the out-of-order simulation. 
 
virtual const char * kind() const 
 
void async_reset_signal_is(const sc_in< bool > &port, bool level)
 
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. 
 
void operator()(const sc_bind_proxy &p001, const sc_bind_proxy &p002=SC_BIND_PROXY_NIL, const sc_bind_proxy &p003=SC_BIND_PROXY_NIL, const sc_bind_proxy &p004=SC_BIND_PROXY_NIL, const sc_bind_proxy &p005=SC_BIND_PROXY_NIL, const sc_bind_proxy &p006=SC_BIND_PROXY_NIL, const sc_bind_proxy &p007=SC_BIND_PROXY_NIL, const sc_bind_proxy &p008=SC_BIND_PROXY_NIL, const sc_bind_proxy &p009=SC_BIND_PROXY_NIL, const sc_bind_proxy &p010=SC_BIND_PROXY_NIL, const sc_bind_proxy &p011=SC_BIND_PROXY_NIL, const sc_bind_proxy &p012=SC_BIND_PROXY_NIL, const sc_bind_proxy &p013=SC_BIND_PROXY_NIL, const sc_bind_proxy &p014=SC_BIND_PROXY_NIL, const sc_bind_proxy &p015=SC_BIND_PROXY_NIL, const sc_bind_proxy &p016=SC_BIND_PROXY_NIL, const sc_bind_proxy &p017=SC_BIND_PROXY_NIL, const sc_bind_proxy &p018=SC_BIND_PROXY_NIL, const sc_bind_proxy &p019=SC_BIND_PROXY_NIL, const sc_bind_proxy &p020=SC_BIND_PROXY_NIL, const sc_bind_proxy &p021=SC_BIND_PROXY_NIL, const sc_bind_proxy &p022=SC_BIND_PROXY_NIL, const sc_bind_proxy &p023=SC_BIND_PROXY_NIL, const sc_bind_proxy &p024=SC_BIND_PROXY_NIL, const sc_bind_proxy &p025=SC_BIND_PROXY_NIL, const sc_bind_proxy &p026=SC_BIND_PROXY_NIL, const sc_bind_proxy &p027=SC_BIND_PROXY_NIL, const sc_bind_proxy &p028=SC_BIND_PROXY_NIL, const sc_bind_proxy &p029=SC_BIND_PROXY_NIL, const sc_bind_proxy &p030=SC_BIND_PROXY_NIL, const sc_bind_proxy &p031=SC_BIND_PROXY_NIL, const sc_bind_proxy &p032=SC_BIND_PROXY_NIL, const sc_bind_proxy &p033=SC_BIND_PROXY_NIL, const sc_bind_proxy &p034=SC_BIND_PROXY_NIL, const sc_bind_proxy &p035=SC_BIND_PROXY_NIL, const sc_bind_proxy &p036=SC_BIND_PROXY_NIL, const sc_bind_proxy &p037=SC_BIND_PROXY_NIL, const sc_bind_proxy &p038=SC_BIND_PROXY_NIL, const sc_bind_proxy &p039=SC_BIND_PROXY_NIL, const sc_bind_proxy &p040=SC_BIND_PROXY_NIL, const sc_bind_proxy &p041=SC_BIND_PROXY_NIL, const sc_bind_proxy &p042=SC_BIND_PROXY_NIL, const sc_bind_proxy &p043=SC_BIND_PROXY_NIL, const sc_bind_proxy &p044=SC_BIND_PROXY_NIL, const sc_bind_proxy &p045=SC_BIND_PROXY_NIL, const sc_bind_proxy &p046=SC_BIND_PROXY_NIL, const sc_bind_proxy &p047=SC_BIND_PROXY_NIL, const sc_bind_proxy &p048=SC_BIND_PROXY_NIL, const sc_bind_proxy &p049=SC_BIND_PROXY_NIL, const sc_bind_proxy &p050=SC_BIND_PROXY_NIL, const sc_bind_proxy &p051=SC_BIND_PROXY_NIL, const sc_bind_proxy &p052=SC_BIND_PROXY_NIL, const sc_bind_proxy &p053=SC_BIND_PROXY_NIL, const sc_bind_proxy &p054=SC_BIND_PROXY_NIL, const sc_bind_proxy &p055=SC_BIND_PROXY_NIL, const sc_bind_proxy &p056=SC_BIND_PROXY_NIL, const sc_bind_proxy &p057=SC_BIND_PROXY_NIL, const sc_bind_proxy &p058=SC_BIND_PROXY_NIL, const sc_bind_proxy &p059=SC_BIND_PROXY_NIL, const sc_bind_proxy &p060=SC_BIND_PROXY_NIL, const sc_bind_proxy &p061=SC_BIND_PROXY_NIL, const sc_bind_proxy &p062=SC_BIND_PROXY_NIL, const sc_bind_proxy &p063=SC_BIND_PROXY_NIL, const sc_bind_proxy &p064=SC_BIND_PROXY_NIL)
 
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. 
 
Specialization of sc_inout<T> for type bool. 
 
virtual void start_of_simulation()
 
void set_stack_size(std::size_t)
Function to set the stack size of the current (c)thread process and method process. 
 
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 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. 
 
void at_posedge(const sc_signal_in_if< bool > &, int, sc_simcontext *=sc_get_curr_simcontext())
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. 
 
sc_module * sc_module_dynalloc(sc_module *)
 
Abstract base class of all interface classes. 
 
const ::std::vector< sc_object * > & get_child_objects() const 
 
Base class for all structural entities. 
 
Specialization of sc_signal_in_if<T> for type sc_dt::sc_logic. 
 
Abstract base class for class sc_port_b. 
 
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 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. 
 
void at_posedge(const sc_signal_in_if< bool > &s, int seg_id)
A new parameter segment ID is added for the out-of-order simulation. 
 
Base class for all hierarchical channels. 
 
void halt(int seg_id)
A new parameter segment ID is added for the out-of-order simulation. 
 
virtual void before_end_of_elaboration()
 
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. 
 
sc_sensitive_pos sensitive_pos
 
void wait(int n, int seg_id)
A new parameter segment ID is added for the out-of-order simulation. 
 
const char * gen_unique_name(const char *basename_, bool preserve_first)
 
This is the base class for objects which may have processes defined for their methods (e...
 
void next_trigger(const sc_event &e)
A new parameter segment ID is added for the out-of-order simulation. 
 
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. 
 
const sc_bind_proxy SC_BIND_PROXY_NIL
 
int m_instance_id
Instance ID of this module. 
 
void aux_seg_bound(sc_simcontext *simc)
A new parameter segment ID is added for the out-of-order simulation. 
 
void at_negedge(const sc_signal_in_if< bool > &s, int seg_id)
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. 
 
sc_module & operator<<(sc_interface &)
 
Specialization of sc_in<T> for type bool. 
 
void positional_bind(sc_interface &)
 
CHNL_MTX_TYPE_ m_mutex
A mutex to protect concurrent communication. 
 
void wait(const sc_time &t, int seg_id=-1)
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. 
 
sc_sensitive_neg sensitive_neg
 
void elaboration_done(bool &)
 
Abstract base class of all SystemC `simulation' objects.