41 clockEvent(nullptr), periodAttribute(nullptr)
46 auto event_it = std::find_if(event_vec.begin(), event_vec.end(),
49 if (event_it != event_vec.end())
55 "The EVS clock period attribute is not of type " 56 "sc_attribute<Tick>.");
63 "The EVS send functional attribute is not of type " 64 "sc_attribute<PortProxy::SendFunctionalFunc>.");
70 scx::scx_start_cadi_server(
false,
false,
true);
77 threadContexts.clear();
85 count += tc->getCurrentInstCount();
94 tc->initMemProxies(tc);
sc_attr_base * get_attribute(const std::string &)
static const std::string PeriodAttributeName
virtual const std::vector< sc_event * > & get_child_events() const
sc_core::sc_attribute< PortProxy::SendFunctionalFunc > * sendFunctional
std::vector< ThreadContext * > threadContexts
sc_core::sc_attribute< Tick > * periodAttribute
int64_t Counter
Statistics counter type.
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
int16_t ThreadID
Thread index/ID type.
static const std::string ClockEventName
void serializeThread(CheckpointOut &cp, ThreadID tid) const override
Serialize a single thread.
std::ostream CheckpointOut
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
static const std::string SendFunctionalAttributeName
void serialize(CheckpointOut &cp) const override
Serialize this object to the given output stream.
sc_core::sc_event * clockEvent
BaseCPU(BaseCPUParams *params, sc_core::sc_module *_evs)
Counter totalInsts() const override
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...