gem5  v22.1.0.0
Public Member Functions | Public Attributes | Static Private Member Functions | List of all members
gem5::DRAMPower Class Reference

DRAMPower is a standalone tool which calculates the power consumed by a DRAM in the system. More...

#include <drampower.hh>

Public Member Functions

 DRAMPower (const DRAMInterfaceParams &p, bool include_io)
 

Public Attributes

libDRAMPower powerlib
 

Static Private Member Functions

static Data::MemArchitectureSpec getArchParams (const DRAMInterfaceParams &p)
 Transform the architechture parameters defined in DRAMInterfaceParams to the memSpec of DRAMPower. More...
 
static Data::MemTimingSpec getTimingParams (const DRAMInterfaceParams &p)
 Transforms the timing parameters defined in DRAMInterfaceParams to the memSpec of DRAMPower. More...
 
static Data::MemPowerSpec getPowerParams (const DRAMInterfaceParams &p)
 Transforms the power and current parameters defined in DRAMInterfaceParams to the memSpec of DRAMPower. More...
 
static uint8_t getDataRate (const DRAMInterfaceParams &p)
 Determine data rate, either one or two. More...
 
static bool hasTwoVDD (const DRAMInterfaceParams &p)
 Determine if DRAM has two voltage domains (or one) More...
 
static Data::MemorySpecification getMemSpec (const DRAMInterfaceParams &p)
 Return an instance of MemSpec based on the DRAMInterfaceParams. More...
 

Detailed Description

DRAMPower is a standalone tool which calculates the power consumed by a DRAM in the system.

This class wraps the DRAMPower library.

Definition at line 56 of file drampower.hh.

Constructor & Destructor Documentation

◆ DRAMPower()

gem5::DRAMPower::DRAMPower ( const DRAMInterfaceParams &  p,
bool  include_io 
)

Definition at line 46 of file drampower.cc.

Member Function Documentation

◆ getArchParams()

Data::MemArchitectureSpec gem5::DRAMPower::getArchParams ( const DRAMInterfaceParams &  p)
staticprivate

Transform the architechture parameters defined in DRAMInterfaceParams to the memSpec of DRAMPower.

Definition at line 52 of file drampower.cc.

References hasTwoVDD(), and gem5::VegaISA::p.

Referenced by getMemSpec().

◆ getDataRate()

uint8_t gem5::DRAMPower::getDataRate ( const DRAMInterfaceParams &  p)
staticprivate

Determine data rate, either one or two.

Definition at line 154 of file drampower.cc.

References gem5::divCeil(), fatal, and gem5::VegaISA::p.

◆ getMemSpec()

Data::MemorySpecification gem5::DRAMPower::getMemSpec ( const DRAMInterfaceParams &  p)
staticprivate

Return an instance of MemSpec based on the DRAMInterfaceParams.

Definition at line 138 of file drampower.cc.

References getArchParams(), getPowerParams(), getTimingParams(), and gem5::VegaISA::p.

◆ getPowerParams()

Data::MemPowerSpec gem5::DRAMPower::getPowerParams ( const DRAMInterfaceParams &  p)
staticprivate

Transforms the power and current parameters defined in DRAMInterfaceParams to the memSpec of DRAMPower.

Definition at line 106 of file drampower.cc.

References gem5::VegaISA::p.

Referenced by getMemSpec().

◆ getTimingParams()

Data::MemTimingSpec gem5::DRAMPower::getTimingParams ( const DRAMInterfaceParams &  p)
staticprivate

Transforms the timing parameters defined in DRAMInterfaceParams to the memSpec of DRAMPower.

Definition at line 74 of file drampower.cc.

References gem5::divCeil(), gem5::sim_clock::as_int::ns, and gem5::VegaISA::p.

Referenced by getMemSpec().

◆ hasTwoVDD()

bool gem5::DRAMPower::hasTwoVDD ( const DRAMInterfaceParams &  p)
staticprivate

Determine if DRAM has two voltage domains (or one)

Definition at line 148 of file drampower.cc.

References gem5::VegaISA::p.

Referenced by getArchParams().

Member Data Documentation

◆ powerlib

libDRAMPower gem5::DRAMPower::powerlib

Definition at line 98 of file drampower.hh.


The documentation for this class was generated from the following files:

Generated on Wed Dec 21 2022 10:23:27 for gem5 by doxygen 1.9.1