16#ifndef SIMICS_SYSTEMC_SYSTEMC2SIMICS_SIGNAL_H
17#define SIMICS_SYSTEMC_SYSTEMC2SIMICS_SIGNAL_H
28namespace systemc2simics {
41 const sc_core::sc_signal<bool,
43 FATAL_ERROR_IF(gasket_ ==
nullptr,
"gasket_ is null");
44 FATAL_ERROR_IF(
dynamic_cast<Gasket*
>(gasket_) == NULL,
45 "Missing call to systemc2simics::Signal::set_pin()");
50 void set_pin(sc_core::sc_inout<bool> *target_pin);
53 virtual void create_gasket(sc_core::sc_module_name);
58#if INTC_EXT && USE_SIMICS_CHECKPOINTING
64 void create_gasket(sc_core::sc_module_name)
override;
66using Signal = SignalSerializable;
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:32
Gasket for translating a SystemC sc_signal of type bool into a Simics signal interface call.
Definition: gasket.h:40
Definition: gasket_interface.h:28
virtual sc_core::sc_signal< bool, sc_core::SC_MANY_WRITERS > * signal()=0
Utility class that counts the number of instances.
Definition: null_signal.h:35
SignalBase()
Definition: signal.h:33
void set_pin(sc_core::sc_inout< bool > *target_pin)
friend class SignalSerializable
Definition: signal.h:32
const sc_core::sc_signal< bool, sc_core::SC_MANY_WRITERS > * operator->() const
Definition: signal.h:42
SignalBase Signal
Definition: signal.h:68