Deleted Added
sdiff udiff text old ( 10022:db307bac42fc ) new ( 10249:6bbb7ae309ac )
full compact
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 27 unchanged lines hidden (view full) ---

36 *
37 * Authors: Vasileios Spiliopoulos
38 * Akash Bagdia
39 */
40
41#ifndef __SIM_VOLTAGE_DOMAIN_HH__
42#define __SIM_VOLTAGE_DOMAIN_HH__
43
44#include "base/statistics.hh"
45#include "params/VoltageDomain.hh"
46#include "sim/sim_object.hh"
47
48/**
49 * A VoltageDomain is used to group clock domains that operate under
50 * the same voltage. The class provides methods for setting and
51 * getting the voltage.
52 */
53class VoltageDomain : public SimObject
54{
55
56 private:
57
58 /**
59 * The voltage of the domain expressed in Volts
60 */
61 double _voltage;
62
63 /**
64 * Stat for reporting voltage of the domain
65 */
66 Stats::Value currentVoltage;
67
68 public:
69
70 typedef VoltageDomainParams Params;
71 VoltageDomain(const Params *p);
72
73 /**
74 * Get the current volate.
75 *
76 * @return Voltage of the domain
77 */
78 inline double voltage() const { return _voltage; }
79
80 /**
81 * Set the voltage of the domain.
82 *
83 * @param Voltage value to be set
84 */
85 void voltage(double voltage);
86
87 void regStats();
88
89};
90
91#endif