43#include "debug/ThermalDomain.hh"
44#include "params/ThermalDomain.hh"
55 :
SimObject(
p), _initTemperature(
p.initial_temperature),
56 node(NULL), subsystem(NULL),
57 ADD_STAT(currentTemp, statistics::units::DegreeCelsius::get(),
"Temperature")
This class describes a linear equation with constant coefficients.
ProbePointArg generates a point for the class of Arg.
Abstract superclass for simulation objects.
The SubSystem simobject does nothing, it is just a container for other simobjects used by the configu...
double getDynamicPower() const
double getStaticPower() const
The class stores temperatures in Kelvin and provides helper methods to convert to/from Celsius.
constexpr double toCelsius() const
void emitUpdate()
Emit a temperature update through probe points interface.
ProbePointArg< Temperature > * ppThermalUpdate
Probe to signal for temperature changes in this domain.
statistics::Value currentTemp
Stat for reporting voltage of the domain.
ThermalDomain(const Params &p)
LinearEquation getEquation(ThermalNode *tn, unsigned n, double step) const override
Get nodal equation imposed by this node.
void setSubSystem(SubSystem *ss)
Set the SubSystem reference we belong to.
Temperature currentTemperature() const
Get the current temperature.
ThermalDomainParams Params
A ThermalNode is used to connect thermal entities, such as resistors, capacitors, references and doma...
Derived & functor(const T &func)
ClockedObject declaration and implementation.
#define ADD_STAT(n,...)
Convenience macro to add a stat to a statistics group.
ProbeManager * getProbeManager()
Get the probe manager for this object.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Declaration of Statistics objects.