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;
78 DRAMSim::MultiChannelMemorySystem*
dramsim;
88 const std::string& file_name)
const;
104 const std::string& system_file,
105 const std::string& working_dir,
106 const std::string& trace_file,
107 unsigned int memory_size_mb,
122 void setCallbacks(DRAMSim::TransactionCompleteCB* read_callback,
123 DRAMSim::TransactionCompleteCB* write_callback);
170 #endif //__MEM_DRAMSIM2_WRAPPER_HH__
DRAMSim::MultiChannelMemorySystem * dramsim
Wrapper class to avoid having DRAMSim2 names like ClockDomain etc clashing with the normal gem5 world...
bool canAccept() const
Determine if the controller can accept a new packet or not.
void enqueue(bool is_write, uint64_t addr)
Enqueue a packet.
Forward declaration to avoid includes.
unsigned int queueSize() const
Get the transaction queue size used by DRAMSim2.
double clockPeriod() const
Get the internal clock period used by DRAMSim2, specified in ns.
void setCallbacks(DRAMSim::TransactionCompleteCB *read_callback, DRAMSim::TransactionCompleteCB *write_callback)
Set the callbacks to use for read and write completion.
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...
void tick()
Progress the memory controller one cycle.
T extractConfig(const std::string &field_name, const std::string &file_name) const
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
unsigned int burstSize() const
Get the burst size in bytes used by DRAMSim2.
void printStats()
Print the stats gathered in DRAMsim2.
Generated on Sun Jul 30 2023 01:56:58 for gem5 by doxygen 1.8.17