14#ifndef SIMICS_SYSTEMC_SIMICS2SYSTEMC_GASKET_H
15#define SIMICS_SYSTEMC_SIMICS2SYSTEMC_GASKET_H
23#if INTC_EXT && USE_SIMICS_CHECKPOINTING
24#include <systemc-checkpoint/serialization/sc_signal.h>
25#include <systemc-checkpoint/serialization/serializer.h>
26#include <systemc-checkpoint/serialization/smd.h>
31namespace simics2systemc {
36 ,
public sc_core::sc_module {
39 explicit GasketBase(sc_core::sc_module_name) : output_pin_(
"output_pin") {}
48 sc_core::sc_signal<bool> output_pin_;
51#if INTC_EXT && USE_SIMICS_CHECKPOINTING
57class GasketSerializable :
public GasketBase {
59 explicit GasketSerializable(sc_core::sc_module_name);
61 friend class cci::serialization::access;
62 template <
class Archive>
63 void serialize(Archive& ar,
const unsigned int version) {
64 ar & SMD(output_pin_);
66 static sc_checkpoint::serialization::Serializer<
67 GasketSerializable> output_pin_serializer;
69using Gasket = GasketSerializable;
Gasket for translating a Simics signal interface into a SystemC sc_signal of type bool.
Definition: gasket.h:36
std::string gasket_name() const override
Definition: gasket.h:43
GasketBase(sc_core::sc_module_name)
Definition: gasket.h:39
sc_core::sc_signal< bool > * output_pin() override
Definition: gasket.h:40
friend class GasketSerializable
Definition: gasket.h:38
Definition: gasket_interface.h:28
GasketBase Gasket
Definition: gasket.h:71