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