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