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 * |
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 cxx_exports = [ 50 PyBindMethod("getDynamicPower"), 51 PyBindMethod("getStaticPower"), 52 ] |
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") |