#pragma once #include #include "types.h" #include namespace vortex { class MemSim : public SimObject{ public: struct Config { uint32_t channels; uint32_t num_cores; }; struct PerfStats { uint64_t reads; uint64_t writes; PerfStats() : reads(0) , writes(0) {} }; SimPort MemReqPort; SimPort MemRspPort; MemSim(const SimContext& ctx, const char* name, const Config& config); ~MemSim(); void reset(); void tick(); const PerfStats& perf_stats() const; private: class Impl; Impl* impl_; }; };