14#ifndef SIMICS_SYSTEMC_SYSTEMC2SIMICS_SIGNAL_H
15#define SIMICS_SYSTEMC_SYSTEMC2SIMICS_SIGNAL_H
26namespace systemc2simics {
39 const sc_core::sc_signal<bool,
41 FATAL_ERROR_IF(gasket_ ==
nullptr,
"gasket_ is null");
42 FATAL_ERROR_IF(
dynamic_cast<Gasket*
>(gasket_) == NULL,
43 "Missing call to systemc2simics::Signal::set_pin()");
50 void set_pin(sc_core::sc_inout<bool> *target_pin,
51 bool initial_value =
false);
54 virtual void create_gasket(sc_core::sc_module_name,
55 bool initial_value =
false);
60#if INTC_EXT && USE_SIMICS_CHECKPOINTING
66 void create_gasket(sc_core::sc_module_name,
67 bool initial_value =
false)
override;
69using Signal = SignalSerializable;
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:30
Gasket for translating a SystemC sc_signal of type bool into a Simics signal interface call.
Definition: gasket.h:38
Definition: gasket_interface.h:26
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:33
SignalBase()
Definition: signal.h:31
friend class SignalSerializable
Definition: signal.h:30
const sc_core::sc_signal< bool, sc_core::SC_MANY_WRITERS > * operator->() const
Definition: signal.h:40
void set_pin(sc_core::sc_inout< bool > *target_pin, bool initial_value=false)
SignalBase Signal
Definition: signal.h:71