FuncUnit.py (4486:aaeb03a8a6e1) FuncUnit.py (4556:00281bdfeb31)
1# Copyright (c) 2006-2007 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

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

24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27# Authors: Kevin Lim
28
29from m5.SimObject import SimObject
30from m5.params import *
31
1# Copyright (c) 2006-2007 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

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

24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27# Authors: Kevin Lim
28
29from m5.SimObject import SimObject
30from m5.params import *
31
32class OpType(Enum):
33 vals = ['(null)', 'IntAlu', 'IntMult', 'IntDiv', 'FloatAdd',
32class OpClass(Enum):
33 vals = ['No_OpClass', 'IntAlu', 'IntMult', 'IntDiv', 'FloatAdd',
34 'FloatCmp', 'FloatCvt', 'FloatMult', 'FloatDiv', 'FloatSqrt',
35 'MemRead', 'MemWrite', 'IprAccess', 'InstPrefetch']
36
37class OpDesc(SimObject):
38 type = 'OpDesc'
39 issueLat = Param.Int(1, "cycles until another can be issued")
34 'FloatCmp', 'FloatCvt', 'FloatMult', 'FloatDiv', 'FloatSqrt',
35 'MemRead', 'MemWrite', 'IprAccess', 'InstPrefetch']
36
37class OpDesc(SimObject):
38 type = 'OpDesc'
39 issueLat = Param.Int(1, "cycles until another can be issued")
40 opClass = Param.OpType("type of operation")
40 opClass = Param.OpClass("type of operation")
41 opLat = Param.Int(1, "cycles until result is available")
42
43class FUDesc(SimObject):
44 type = 'FUDesc'
45 count = Param.Int("number of these FU's available")
46 opList = VectorParam.OpDesc("operation classes for this FU type")
41 opLat = Param.Int(1, "cycles until result is available")
42
43class FUDesc(SimObject):
44 type = 'FUDesc'
45 count = Param.Int("number of these FU's available")
46 opList = VectorParam.OpDesc("operation classes for this FU type")