FuncUnitConfig.py revision 3223
1from m5.SimObject import SimObject
2from m5.params import *
3from FuncUnit import *
4
5class IntALU(FUDesc):
6    opList = [ OpDesc(opClass='IntAlu') ]
7    count = 6
8
9class IntMultDiv(FUDesc):
10    opList = [ OpDesc(opClass='IntMult', opLat=3),
11               OpDesc(opClass='IntDiv', opLat=20, issueLat=19) ]
12    count=2
13
14class FP_ALU(FUDesc):
15    opList = [ OpDesc(opClass='FloatAdd', opLat=2),
16               OpDesc(opClass='FloatCmp', opLat=2),
17               OpDesc(opClass='FloatCvt', opLat=2) ]
18    count = 4
19
20class FP_MultDiv(FUDesc):
21    opList = [ OpDesc(opClass='FloatMult', opLat=4),
22               OpDesc(opClass='FloatDiv', opLat=12, issueLat=12),
23               OpDesc(opClass='FloatSqrt', opLat=24, issueLat=24) ]
24    count = 2
25
26class ReadPort(FUDesc):
27    opList = [ OpDesc(opClass='MemRead') ]
28    count = 0
29
30class WritePort(FUDesc):
31    opList = [ OpDesc(opClass='MemWrite') ]
32    count = 0
33
34class RdWrPort(FUDesc):
35    opList = [ OpDesc(opClass='MemRead'), OpDesc(opClass='MemWrite') ]
36    count = 4
37
38class IprPort(FUDesc):
39    opList = [ OpDesc(opClass='IprAccess', opLat = 3, issueLat = 3) ]
40    count = 1
41
42