gem5  v22.1.0.0
Classes | Namespaces | Macros | Typedefs | Functions
sc_module.hh File Reference
#include <string>
#include <vector>
#include "sc_object.hh"
#include "sc_process_handle.hh"
#include "sc_sensitive.hh"
#include "sc_time.hh"

Go to the source code of this file.

Classes

class  sc_core::sc_bind_proxy
 
class  sc_core::sc_module
 

Namespaces

 sc_dt
 
 sc_gem5
 
 gem5
 Reference material can be found at the JEDEC website: UFS standard http://www.jedec.org/standards-documents/results/jesd220 UFS HCI specification http://www.jedec.org/standards-documents/results/jesd223.
 
 sc_core
 

Macros

#define SC_MODULE(name)   struct name : ::sc_core::sc_module
 
#define SC_CTOR(name)
 
#define SC_HAS_PROCESS(name)   typedef name SC_CURRENT_USER_MODULE
 
#define SC_METHOD(name)
 
#define SC_THREAD(name)
 
#define SC_CTHREAD(name, clk)
 
#define SC_NEW(x)   ::sc_core::sc_module_sc_new(new x);
 
#define SC_WAIT()
 
#define SC_WAITN(n)
 
#define SC_WAIT_UNTIL(expr)    do { SC_WAIT(); } while (!(expr))
 

Typedefs

typedef sc_module sc_core::sc_behavior
 
typedef sc_module sc_core::sc_channel
 

Functions

Process * sc_gem5::newMethodProcess (const char *name, ProcessFuncWrapper *func)
 
Process * sc_gem5::newThreadProcess (const char *name, ProcessFuncWrapper *func)
 
Process * sc_gem5::newCThreadProcess (const char *name, ProcessFuncWrapper *func)
 
void sc_core::next_trigger ()
 
void sc_core::next_trigger (const sc_event &e)
 
void sc_core::next_trigger (const sc_event_or_list &eol)
 
void sc_core::next_trigger (const sc_event_and_list &eal)
 
void sc_core::next_trigger (const sc_time &t)
 
void sc_core::next_trigger (double d, sc_time_unit u)
 
void sc_core::next_trigger (const sc_time &t, const sc_event &e)
 
void sc_core::next_trigger (double d, sc_time_unit u, const sc_event &e)
 
void sc_core::next_trigger (const sc_time &t, const sc_event_or_list &eol)
 
void sc_core::next_trigger (double d, sc_time_unit u, const sc_event_or_list &eol)
 
void sc_core::next_trigger (const sc_time &t, const sc_event_and_list &eal)
 
void sc_core::next_trigger (double d, sc_time_unit u, const sc_event_and_list &eal)
 
void sc_core::wait ()
 
void sc_core::wait (int n)
 
void sc_core::wait (const sc_event &e)
 
void sc_core::wait (const sc_event_or_list &eol)
 
void sc_core::wait (const sc_event_and_list &eal)
 
void sc_core::wait (const sc_time &t)
 
void sc_core::wait (double d, sc_time_unit u)
 
void sc_core::wait (const sc_time &t, const sc_event &e)
 
void sc_core::wait (double d, sc_time_unit u, const sc_event &e)
 
void sc_core::wait (const sc_time &t, const sc_event_or_list &eol)
 
void sc_core::wait (double d, sc_time_unit u, const sc_event_or_list &eol)
 
void sc_core::wait (const sc_time &t, const sc_event_and_list &eal)
 
void sc_core::wait (double d, sc_time_unit u, const sc_event_and_list &eal)
 
bool sc_core::timed_out ()
 
void sc_core::halt ()
 
void sc_core::at_posedge (const sc_signal_in_if< bool > &s)
 
void sc_core::at_posedge (const sc_signal_in_if< sc_dt::sc_logic > &s)
 
void sc_core::at_negedge (const sc_signal_in_if< bool > &s)
 
void sc_core::at_negedge (const sc_signal_in_if< sc_dt::sc_logic > &s)
 
const char * sc_core::sc_gen_unique_name (const char *seed)
 
bool sc_core::sc_hierarchical_name_exists (const char *name)
 
bool sc_core::sc_start_of_simulation_invoked ()
 
bool sc_core::sc_end_of_simulation_invoked ()
 
sc_module * sc_core::sc_module_sc_new (sc_module *mod)
 

Macro Definition Documentation

◆ SC_CTHREAD

#define SC_CTHREAD (   name,
  clk 
)
Value:
{ \
#name, new ::sc_gem5::ProcessMemberFuncWrapper< \
SC_CURRENT_USER_MODULE>(this, \
if (p) \
this->sensitive(p, clk); \
}
Bitfield< 54 > p
Definition: pagetable.hh:70
Process * newCThreadProcess(const char *name, ProcessFuncWrapper *func)
Definition: sc_module.cc:84
const std::string & name()
Definition: trace.cc:49

Definition at line 323 of file sc_module.hh.

◆ SC_CTOR

#define SC_CTOR (   name)
Value:
typedef name SC_CURRENT_USER_MODULE; \

Definition at line 297 of file sc_module.hh.

◆ SC_HAS_PROCESS

#define SC_HAS_PROCESS (   name)    typedef name SC_CURRENT_USER_MODULE

Definition at line 301 of file sc_module.hh.

◆ SC_METHOD

#define SC_METHOD (   name)
Value:
{ \
#name, new ::sc_gem5::ProcessMemberFuncWrapper< \
SC_CURRENT_USER_MODULE>(this, \
if (p) \
this->sensitive << p; \
}
Process * newMethodProcess(const char *name, ProcessFuncWrapper *func)
Definition: sc_module.cc:54

Definition at line 303 of file sc_module.hh.

◆ SC_MODULE

#define SC_MODULE (   name)    struct name : ::sc_core::sc_module

Definition at line 295 of file sc_module.hh.

◆ SC_NEW

#define SC_NEW (   x)    ::sc_core::sc_module_sc_new(new x);

Definition at line 359 of file sc_module.hh.

◆ SC_THREAD

#define SC_THREAD (   name)
Value:
{ \
#name, new ::sc_gem5::ProcessMemberFuncWrapper< \
SC_CURRENT_USER_MODULE>(this, \
if (p) \
this->sensitive << p; \
}
Process * newThreadProcess(const char *name, ProcessFuncWrapper *func)
Definition: sc_module.cc:69

Definition at line 313 of file sc_module.hh.

◆ SC_WAIT

#define SC_WAIT ( )
Value:
::sc_core::sc_set_location(__FILE__, __LINE__); \
void sc_set_location(const char *file, int lineno)
void wait()
Definition: sc_module.cc:653

Definition at line 362 of file sc_module.hh.

◆ SC_WAIT_UNTIL

#define SC_WAIT_UNTIL (   expr)     do { SC_WAIT(); } while (!(expr))

Definition at line 374 of file sc_module.hh.

◆ SC_WAITN

#define SC_WAITN (   n)
Value:

Definition at line 368 of file sc_module.hh.


Generated on Wed Dec 21 2022 10:23:00 for gem5 by doxygen 1.9.1