Go to the documentation of this file.
43 #ifndef __MEM_DRAMSIM2_WRAPPER_HH__
44 #define __MEM_DRAMSIM2_WRAPPER_HH__
48 #include "DRAMSim2/Callback.h"
55 class MultiChannelMemorySystem;
72 DRAMSim::MultiChannelMemorySystem*
dramsim;
82 const std::string& file_name)
const;
98 const std::string& system_file,
99 const std::string& working_dir,
100 const std::string& trace_file,
101 unsigned int memory_size_mb,
116 void setCallbacks(DRAMSim::TransactionCompleteCB* read_callback,
117 DRAMSim::TransactionCompleteCB* write_callback);
161 #endif //__MEM_DRAMSIM2_WRAPPER_HH__
T extractConfig(const std::string &field_name, const std::string &file_name) const
DRAMSim2Wrapper(const std::string &config_file, const std::string &system_file, const std::string &working_dir, const std::string &trace_file, unsigned int memory_size_mb, bool enable_debug)
Create an instance of the DRAMSim2 multi-channel memory controller using a specific config and system...
DRAMSim::MultiChannelMemorySystem * dramsim
bool canAccept() const
Determine if the controller can accept a new packet or not.
void setCallbacks(DRAMSim::TransactionCompleteCB *read_callback, DRAMSim::TransactionCompleteCB *write_callback)
Set the callbacks to use for read and write completion.
Forward declaration to avoid includes.
void printStats()
Print the stats gathered in DRAMsim2.
unsigned int burstSize() const
Get the burst size in bytes used by DRAMSim2.
unsigned int queueSize() const
Get the transaction queue size used by DRAMSim2.
void tick()
Progress the memory controller one cycle.
void enqueue(bool is_write, uint64_t addr)
Enqueue a packet.
double clockPeriod() const
Get the internal clock period used by DRAMSim2, specified in ns.
Wrapper class to avoid having DRAMSim2 names like ClockDomain etc clashing with the normal gem5 world...
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17