SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
sc_signal_access_base.h File Reference

Go to the source code of this file.

Classes

class  simics::systemc::ScSignalAccessBase
 

Namespaces

namespace  simics
 
namespace  simics::systemc
 

Macros

#define __SIMICS_SYSTEMC_SIGNAL_DECLARE_TRANSFORM(type)
 
#define __SIMICS_SYSTEMC_SIGNAL_COMMA   ,
 
#define __SIMICS_SYSTEMC_SIGNAL_WRITE_BASE(signal, type, obj, value, set_func)
 
#define SIMICS_SYSTEMC_SIGNAL_WRITE(type, obj, value, set_func)
 
#define __SIMICS_SYSTEMC_SIGNAL_READ_BASE(signal, type, obj, value, get_func)
 
#define SIMICS_SYSTEMC_SIGNAL_READ(type, obj, value, get_func)
 

Macro Definition Documentation

◆ __SIMICS_SYSTEMC_SIGNAL_COMMA

#define __SIMICS_SYSTEMC_SIGNAL_COMMA   ,

◆ __SIMICS_SYSTEMC_SIGNAL_DECLARE_TRANSFORM

#define __SIMICS_SYSTEMC_SIGNAL_DECLARE_TRANSFORM (   type)
Value:
bool attrToValue(const attr_value_t *attr, type *value) const; \
attr_value_t valueToAttr(type value) const;

◆ __SIMICS_SYSTEMC_SIGNAL_READ_BASE

#define __SIMICS_SYSTEMC_SIGNAL_READ_BASE (   signal,
  type,
  obj,
  value,
  get_func 
)
Value:
do { \
const signal *s = dynamic_cast<const signal *>(obj); \
if (s) { \
*value = get_func(s->read()); \
return true; \
} \
} while (0)

◆ __SIMICS_SYSTEMC_SIGNAL_WRITE_BASE

#define __SIMICS_SYSTEMC_SIGNAL_WRITE_BASE (   signal,
  type,
  obj,
  value,
  set_func 
)
Value:
do { \
signal *s = dynamic_cast<signal *>(obj); \
if (s) { \
type v; \
if (set_func(value, &v)) { \
*s = v; \
return true; \
} \
} \
} while (0)

◆ SIMICS_SYSTEMC_SIGNAL_READ

#define SIMICS_SYSTEMC_SIGNAL_READ (   type,
  obj,
  value,
  get_func 
)
Value:
__SIMICS_SYSTEMC_SIGNAL_READ_BASE(sc_core::sc_signal<type>, \
type, obj, value, get_func); \
__SIMICS_SYSTEMC_SIGNAL_READ_BASE(sc_core::sc_signal<type \
sc_core::SC_MANY_WRITERS>, \
type, obj, value, get_func); \
__SIMICS_SYSTEMC_SIGNAL_READ_BASE(sc_core::sc_in<type>, \
type, obj, value, get_func); \
__SIMICS_SYSTEMC_SIGNAL_READ_BASE(sc_core::sc_inout<type>, \
type, obj, value, get_func);
#define __SIMICS_SYSTEMC_SIGNAL_COMMA
Definition: sc_signal_access_base.h:29
#define __SIMICS_SYSTEMC_SIGNAL_READ_BASE(signal, type, obj, value, get_func)
Definition: sc_signal_access_base.h:56

◆ SIMICS_SYSTEMC_SIGNAL_WRITE

#define SIMICS_SYSTEMC_SIGNAL_WRITE (   type,
  obj,
  value,
  set_func 
)
Value:
__SIMICS_SYSTEMC_SIGNAL_WRITE_BASE(sc_core::sc_signal<type>, \
type, obj, value, set_func); \
__SIMICS_SYSTEMC_SIGNAL_WRITE_BASE(sc_core::sc_signal<type \
sc_core::SC_MANY_WRITERS>, \
type, obj, value, set_func); \
__SIMICS_SYSTEMC_SIGNAL_WRITE_BASE(sc_core::sc_out<type>, \
type, obj, value, set_func); \
__SIMICS_SYSTEMC_SIGNAL_WRITE_BASE(sc_core::sc_inout<type>, \
type, obj, value, set_func);
#define __SIMICS_SYSTEMC_SIGNAL_WRITE_BASE(signal, type, obj, value, set_func)
Definition: sc_signal_access_base.h:31