PowerModel.py (11527:9007a9729815) PowerModel.py (11988:665cd5f8b52b)
1# Copyright (c) 2016 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

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

30# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35#
36# Authors: David Guillen Fandos
37
1# Copyright (c) 2016 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

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

30# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35#
36# Authors: David Guillen Fandos
37
38from m5.SimObject import SimObject
38from m5.SimObject import *
39from m5.params import *
40from m5.proxy import Parent
41
42# Represents a power model for a simobj
43# The model itself is also a SimObject so we can make use some
44# nice features available such as Parent.any
45class PowerModel(SimObject):
46 type = 'PowerModel'
47 cxx_header = "sim/power/power_model.hh"
48
39from m5.params import *
40from m5.proxy import Parent
41
42# Represents a power model for a simobj
43# The model itself is also a SimObject so we can make use some
44# nice features available such as Parent.any
45class PowerModel(SimObject):
46 type = 'PowerModel'
47 cxx_header = "sim/power/power_model.hh"
48
49 @classmethod
50 def export_methods(cls, code):
51 code('''
52 double getDynamicPower() const;
53 double getStaticPower() const;
54''')
49 cxx_exports = [
50 PyBindMethod("getDynamicPower"),
51 PyBindMethod("getStaticPower"),
52 ]
55
56 # Keep a list of every model for every power state
57 pm = VectorParam.PowerModelState([], "List of per-state power models.")
58
59 # Need a reference to the system so we can query the thermal domain
60 # about temperature (temperature is needed for leakage calculation)
61 subsystem = Param.SubSystem(Parent.any, "subsystem")
53
54 # Keep a list of every model for every power state
55 pm = VectorParam.PowerModelState([], "List of per-state power models.")
56
57 # Need a reference to the system so we can query the thermal domain
58 # about temperature (temperature is needed for leakage calculation)
59 subsystem = Param.SubSystem(Parent.any, "subsystem")