Go to the documentation of this file.
44 #ifndef __MEM_DRAMSIM3_WRAPPER_HH__
45 #define __MEM_DRAMSIM3_WRAPPER_HH__
88 const std::string& file_name)
const;
100 const std::string& working_dir,
101 std::function<
void(uint64_t)> read_cb,
102 std::function<
void(uint64_t)> write_cb);
121 void setCallbacks(std::function<
void(uint64_t)> read_complete,
122 std::function<
void(uint64_t)> write_complete);
169 #endif //__MEM_DRAMSIM3_WRAPPER_HH__
dramsim3::MemorySystem * dramsim
bool canAccept(uint64_t addr, bool is_write) const
Determine if the controller can accept a new packet or not.
double clockPeriod() const
Get the internal clock period used by DRAMsim3, specified in ns.
void setCallbacks(std::function< void(uint64_t)> read_complete, std::function< void(uint64_t)> write_complete)
Set the callbacks to use for read and write completion.
unsigned int burstSize() const
Get the burst size in bytes used by DRAMsim3.
void printStats()
Print the stats gathered in DRAMsim3.
unsigned int queueSize() const
Get the transaction queue size used by DRAMsim3.
DRAMsim3Wrapper(const std::string &config_file, const std::string &working_dir, std::function< void(uint64_t)> read_cb, std::function< void(uint64_t)> write_cb)
Create an instance of the DRAMsim3 multi-channel memory controller using a specific config and system...
T extractConfig(const std::string &field_name, const std::string &file_name) const
Forward declaration to avoid includes.
void enqueue(uint64_t addr, bool is_write)
Enqueue a packet.
Wrapper class to avoid having DRAMsim3 names like ClockDomain etc clashing with the normal gem5 world...
void tick()
Progress the memory controller one cycle.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void resetStats()
Reset stats (useful for fastforwarding switch)
Generated on Tue Sep 21 2021 12:25:32 for gem5 by doxygen 1.8.17