gem5 v24.0.0.0
Loading...
Searching...
No Matches
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

namespace  sc_dt
 
namespace  sc_gem5
 
namespace  gem5
 Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
 
namespace  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

Processsc_gem5::newMethodProcess (const char *name, ProcessFuncWrapper *func)
 
Processsc_gem5::newThreadProcess (const char *name, ProcessFuncWrapper *func)
 
Processsc_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_modulesc_core::sc_module_sc_new (sc_module *mod)
 

Macro Definition Documentation

◆ SC_CTHREAD

#define SC_CTHREAD ( name,
clk )
Value:
{ \
::sc_gem5::newCThreadProcess( \
#name, new ::sc_gem5::ProcessMemberFuncWrapper< \
SC_CURRENT_USER_MODULE>(this, \
&SC_CURRENT_USER_MODULE::name)); \
if (p) \
this->sensitive(p, clk); \
}
const std::string & name()
Definition trace.cc:48

Definition at line 323 of file sc_module.hh.

Referenced by memory::memory(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), SC_MODULE(), and test::test().

◆ SC_CTOR

◆ SC_HAS_PROCESS

◆ SC_METHOD

◆ 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.

Referenced by SC_MODULE().

◆ SC_THREAD

◆ SC_WAIT

#define SC_WAIT ( )
Value:
::sc_core::sc_set_location(__FILE__, __LINE__); \
::sc_core::wait(); \
::sc_core::sc_set_location(NULL, 0)
void sc_set_location(const char *file, int lineno)

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:
::sc_core::sc_set_location(__FILE__, __LINE__); \
::sc_core::wait(n); \
::sc_core::sc_set_location(NULL, 0)

Definition at line 368 of file sc_module.hh.


Generated on Tue Jun 18 2024 16:24:08 for gem5 by doxygen 1.11.0