summaryrefslogtreecommitdiff
path: root/src/gpuwattch/memoryctrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpuwattch/memoryctrl.h')
-rw-r--r--src/gpuwattch/memoryctrl.h156
1 files changed, 75 insertions, 81 deletions
diff --git a/src/gpuwattch/memoryctrl.h b/src/gpuwattch/memoryctrl.h
index 5a15d3e..e725e85 100644
--- a/src/gpuwattch/memoryctrl.h
+++ b/src/gpuwattch/memoryctrl.h
@@ -29,8 +29,7 @@
*
***************************************************************************/
/********************************************************************
-* Modified by:
-**
+* Modified by: *
* Jingwen Leng, Univeristy of Texas, Austin *
* Syed Gilani, University of Wisconsin–Madison *
* Tayler Hetherington, University of British Columbia *
@@ -49,100 +48,95 @@
#include "basic_components.h"
class MCBackend : public Component {
- public:
- InputParameter l_ip;
- uca_org_t local_result;
- enum MemoryCtrl_type mc_type;
- MCParam mcp;
- statsDef tdp_stats;
- statsDef rtp_stats;
- statsDef stats_t;
- powerDef power_t;
- MCBackend(InputParameter *interface_ip_, const MCParam &mcp_,
- enum MemoryCtrl_type mc_type_);
- void compute();
- void computeEnergy(bool is_tdp = true);
- void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true);
- ~MCBackend(){};
+ public:
+ InputParameter l_ip;
+ uca_org_t local_result;
+ enum MemoryCtrl_type mc_type;
+ MCParam mcp;
+ statsDef tdp_stats;
+ statsDef rtp_stats;
+ statsDef stats_t;
+ powerDef power_t;
+ MCBackend(InputParameter* interface_ip_, const MCParam & mcp_, enum MemoryCtrl_type mc_type_);
+ void compute();
+ void computeEnergy(bool is_tdp=true);
+ void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true);
+ ~MCBackend(){};
};
class MCPHY : public Component {
- public:
- InputParameter l_ip;
- uca_org_t local_result;
- enum MemoryCtrl_type mc_type;
- MCParam mcp;
- statsDef tdp_stats;
- statsDef rtp_stats;
- statsDef stats_t;
- powerDef power_t;
- MCPHY(InputParameter *interface_ip_, const MCParam &mcp_,
- enum MemoryCtrl_type mc_type_);
- void compute();
- void computeEnergy(bool is_tdp = true);
- void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true);
- ~MCPHY(){};
+ public:
+ InputParameter l_ip;
+ uca_org_t local_result;
+ enum MemoryCtrl_type mc_type;
+ MCParam mcp;
+ statsDef tdp_stats;
+ statsDef rtp_stats;
+ statsDef stats_t;
+ powerDef power_t;
+ MCPHY(InputParameter* interface_ip_, const MCParam & mcp_, enum MemoryCtrl_type mc_type_);
+ void compute();
+ void computeEnergy(bool is_tdp=true);
+ void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true);
+ ~MCPHY(){};
};
class MCFrontEnd : public Component {
- public:
- ParseXML *XML;
- InputParameter interface_ip;
- enum MemoryCtrl_type mc_type;
- MCParam mcp;
- selection_logic *MC_arb;
- ArrayST *frontendBuffer;
- ArrayST *readBuffer;
- ArrayST *writeBuffer;
+ public:
+ ParseXML *XML;
+ InputParameter interface_ip;
+ enum MemoryCtrl_type mc_type;
+ MCParam mcp;
+ selection_logic * MC_arb;
+ ArrayST * frontendBuffer;
+ ArrayST * readBuffer;
+ ArrayST * writeBuffer;
- ArrayST *PRT;
- ArrayST *threadMasks;
- ArrayST *PRC;
- double coalesce_scale;
+ ArrayST * PRT;
+ ArrayST * threadMasks;
+ ArrayST * PRC;
+ double coalesce_scale;
- MCFrontEnd(ParseXML *XML_interface, InputParameter *interface_ip_,
- const MCParam &mcp_, enum MemoryCtrl_type mc_type_);
- void computeEnergy(bool is_tdp = true);
- void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true);
- ~MCFrontEnd();
+ MCFrontEnd(ParseXML *XML_interface,InputParameter* interface_ip_, const MCParam & mcp_, enum MemoryCtrl_type mc_type_);
+ void computeEnergy(bool is_tdp=true);
+ void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true);
+ ~MCFrontEnd();
};
class DRAM : public Component {
- public:
- ParseXML *XML;
- InputParameter interface_ip;
- enum Dram_type dram_type;
- DRAMParam dramp;
- powerDef power_t;
- DRAM(ParseXML *XML_interface, InputParameter *interface_ip_,
- enum Dram_type dram_type_);
- void set_dram_param();
- void computeEnergy(bool is_tdp = true);
- void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true);
- ~DRAM();
+ public:
+ ParseXML *XML;
+ InputParameter interface_ip;
+ enum Dram_type dram_type;
+ DRAMParam dramp;
+ powerDef power_t;
+ DRAM(ParseXML *XML_interface,InputParameter* interface_ip_, enum Dram_type dram_type_);
+ void set_dram_param();
+ void computeEnergy(bool is_tdp=true);
+ void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true);
+ ~DRAM();
};
class MemoryController : public Component {
- public:
- ParseXML *XML;
- InputParameter interface_ip;
- enum MemoryCtrl_type mc_type;
- MCParam mcp;
- DRAM *dram;
- MCFrontEnd *frontend;
- MCBackend *transecEngine;
- MCPHY *PHY;
- Pipeline *pipeLogic;
+ public:
+ ParseXML *XML;
+ InputParameter interface_ip;
+ enum MemoryCtrl_type mc_type;
+ MCParam mcp;
+ DRAM * dram;
+ MCFrontEnd * frontend;
+ MCBackend * transecEngine;
+ MCPHY * PHY;
+ Pipeline * pipeLogic;
- // Add coalescing logic related modules with each memory controller --Syed
- // Gilani
+ //Add coalescing logic related modules with each memory controller --Syed Gilani
+
- // clock_network clockNetwork;
- MemoryController(ParseXML *XML_interface, InputParameter *interface_ip_,
- enum MemoryCtrl_type mc_type_, enum Dram_type dram_type_);
- void set_mc_param();
- void computeEnergy(bool is_tdp = true);
- void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true);
- ~MemoryController();
+ //clock_network clockNetwork;
+ MemoryController(ParseXML *XML_interface,InputParameter* interface_ip_, enum MemoryCtrl_type mc_type_,enum Dram_type dram_type_);
+ void set_mc_param();
+ void computeEnergy(bool is_tdp=true);
+ void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true);
+ ~MemoryController();
};
#endif /* MEMORYCTRL_H_ */