41 #ifndef __SIM_VOLTAGE_DOMAIN_HH__ 42 #define __SIM_VOLTAGE_DOMAIN_HH__ 47 #include "params/VoltageDomain.hh" 78 double voltage(PerfLevel perf_level)
const 81 "request for voltage perf level %u is outside "\
82 "of numVoltages %u",
name(), perf_level,
void registerSrcClockDom(SrcClockDomain *src_clock_dom)
Register a SrcClockDomain with this voltage domain.
VoltageDomain * voltageDomain() const
Get the voltage domain.
std::vector< SrcClockDomain * > SrcClockChildren
List of associated SrcClockDomains that are connected to this voltage domain.
VoltageDomainStats(VoltageDomain &vd)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
double voltage(PerfLevel perf_level) const
Get the voltage at specified performance level.
Declaration of Statistics objects.
#define chatty_assert(cond,...)
The chatty assert macro will function like a normal assert, but will allow the specification of addit...
PerfLevel perfLevel() const
Get the voltage point of the domain.
bool sanitiseVoltages()
Recomputes the highest (fastest, i.e., numerically lowest) requested performance level of all associa...
ClockDomain declarations.
double voltage() const
Get the current voltage.
virtual const std::string name() const
A VoltageDomain is used to group clock domains that operate under the same voltage.
Stats::Value voltage
Stat for reporting voltage of the domain.
VoltageDomain(const Params *p)
The source clock domains provides the notion of a clock domain that is connected to a tunable clock s...
std::vector< double > Voltages
VoltageDomainParams Params
SrcClockChildren srcClockChildren
std::ostream CheckpointOut
void startup() override
Startup has all SrcClockDomains registered with this voltage domain, so try to make sure that all per...
uint32_t numVoltages() const
void serialize(CheckpointOut &cp) const override
Serialize an object.
SrcClockDomain::PerfLevel PerfLevel
std::vector< Info * > stats
const Voltages voltageOpPoints
List of possible minimum voltage at each of the frequency operational points, should be in descending...
Abstract superclass for simulation objects.