16#ifndef SIMICS_SYSTEMC_SIMICS2SYSTEMC_GASKET_H
17#define SIMICS_SYSTEMC_SIMICS2SYSTEMC_GASKET_H
25#if INTC_EXT && USE_SIMICS_CHECKPOINTING
26#include <systemc-checkpoint/serialization/sc_signal.h>
27#include <systemc-checkpoint/serialization/serializer.h>
28#include <systemc-checkpoint/serialization/smd.h>
33namespace simics2systemc {
38 ,
public sc_core::sc_module {
41 explicit GasketBase(sc_core::sc_module_name) : output_pin_(
"output_pin") {}
50 sc_core::sc_signal<bool> output_pin_;
53#if INTC_EXT && USE_SIMICS_CHECKPOINTING
59class GasketSerializable :
public GasketBase {
61 explicit GasketSerializable(sc_core::sc_module_name);
63 friend class cci::serialization::access;
64 template <
class Archive>
65 void serialize(Archive& ar,
const unsigned int version) {
66 ar & SMD(output_pin_);
68 static sc_checkpoint::serialization::Serializer<
69 GasketSerializable> output_pin_serializer;
71using Gasket = GasketSerializable;
Gasket for translating a Simics signal interface into a SystemC sc_signal of type bool.
Definition: gasket.h:38
GasketBase(sc_core::sc_module_name)
Definition: gasket.h:41
virtual sc_core::sc_signal< bool > * output_pin()
Definition: gasket.h:42
friend class GasketSerializable
Definition: gasket.h:40
virtual std::string gasket_name() const
Definition: gasket.h:45
Definition: gasket_interface.h:30
GasketBase Gasket
Definition: gasket.h:73