53#ifndef __DEV_ARM_ENERGY_CTRL_HH__
54#define __DEV_ARM_ENERGY_CTRL_HH__
57#include "params/EnergyCtrl.hh"
139 void init()
override;
174 return (uint32_t)(
voltage * 1000000);
DVFS Handler class, maintains a list of all the domains it can handle.
static uint32_t toMicroVolt(double voltage)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
static uint32_t ticksTokHz(Tick period)
Tick read(PacketPtr pkt) override
Read command sent to the device.
void startup() override
startup() is the final initialization call before simulation.
DVFSHandler * dvfsHandler
EventFunctionWrapper updateAckEvent
EnergyCtrl(const Params &p)
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
Tick write(PacketPtr pkt) override
Write command sent to the device.
@ DVFS_HANDLER_TRANS_LATENCY
void updatePLAck()
Update the acknowledgment that is read back by the software to confirm newly requested performance le...
void serialize(CheckpointOut &cp) const override
Serialize an object.
uint32_t perfLevelAck
Acknowledgment (PERF_LEVEL_ACK) RO register, software polls this register to read back the status of ...
uint32_t domainIDIndexToRead
Index for getting the domain ID from the domain ID list available with the DVFS handler.
uint32_t domainID
Cluster ID (DOMAIN_ID) R/W register, programmed to ID of the domain for which the set/get performance...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Tick
Tick count type.