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") |