19a2e6b8aSLinJiaweiimport chisel3._ 29a2e6b8aSLinJiaweiimport chisel3.util._ 39a2e6b8aSLinJiawei 49a2e6b8aSLinJiaweipackage object xiangshan { 59a2e6b8aSLinJiawei object SrcType { 69a2e6b8aSLinJiawei def reg = "b00".U 79a2e6b8aSLinJiawei def pc = "b01".U 89a2e6b8aSLinJiawei def imm = "b01".U 99a2e6b8aSLinJiawei def fp = "b10".U 109a2e6b8aSLinJiawei def apply() = UInt(2.W) 119a2e6b8aSLinJiawei } 129a2e6b8aSLinJiawei 139a2e6b8aSLinJiawei object SrcState { 149a2e6b8aSLinJiawei def busy = "b00".U 159a2e6b8aSLinJiawei def rdy = "b01".U 169a2e6b8aSLinJiawei def specRdy = "b10".U // speculative ready, for future use 179a2e6b8aSLinJiawei def apply() = UInt(2.W) 189a2e6b8aSLinJiawei } 199a2e6b8aSLinJiawei 209a2e6b8aSLinJiawei object FuType extends HasXSParameter { 219a2e6b8aSLinJiawei def num = exuConfig.NRFuType 229a2e6b8aSLinJiawei def bru = "b0000".U 239a2e6b8aSLinJiawei def alu = "b0001".U 249a2e6b8aSLinJiawei def mul = "b0010".U 259a2e6b8aSLinJiawei def mdu = "b0011".U 269a2e6b8aSLinJiawei def fmac = "b0100".U 279a2e6b8aSLinJiawei def fmisc = "b0101".U 289a2e6b8aSLinJiawei def fmiscDivSqrt = "b0110".U 299a2e6b8aSLinJiawei def ldu = "b1001".U 309a2e6b8aSLinJiawei def stu = "b1000".U 319a2e6b8aSLinJiawei 329a2e6b8aSLinJiawei def apply() = UInt(log2Up(num).W) 339a2e6b8aSLinJiawei 349a2e6b8aSLinJiawei def isIntExu(fuType: UInt) = fuType(3, 2) === "b00".U 359a2e6b8aSLinJiawei def isFpExu(fuType: UInt) = fuType(2) 369a2e6b8aSLinJiawei def isMemExu(fuType: UInt) = fuType(3) 379a2e6b8aSLinJiawei } 389a2e6b8aSLinJiawei 399a2e6b8aSLinJiawei object FuOpType extends HasXSParameter { 409a2e6b8aSLinJiawei def apply() = UInt(exuConfig.FuOpWidth.W) 419a2e6b8aSLinJiawei } 42*ebd97ecbSzhanglinjuan 43*ebd97ecbSzhanglinjuan object BTBtype { 44*ebd97ecbSzhanglinjuan def B = "b00".U // branch 45*ebd97ecbSzhanglinjuan def J = "b01".U // jump 46*ebd97ecbSzhanglinjuan def I = "b10".U // indirect 47*ebd97ecbSzhanglinjuan def R = "b11".U // return 48*ebd97ecbSzhanglinjuan 49*ebd97ecbSzhanglinjuan def apply() = UInt(2.W) 50*ebd97ecbSzhanglinjuan } 519a2e6b8aSLinJiawei} 52