15844fcf0SLinJiaweipackage xiangshan.backend.rename 25844fcf0SLinJiawei 35844fcf0SLinJiaweiimport chisel3._ 45844fcf0SLinJiaweiimport chisel3.util._ 55844fcf0SLinJiaweiimport xiangshan._ 6*9ee0fcaeSLinJiaweiimport xiangshan.backend.regfile.RfReadPort 75844fcf0SLinJiawei 85844fcf0SLinJiaweiclass Rename extends XSModule with NeedImpl { 95844fcf0SLinJiawei val io = IO(new Bundle() { 105844fcf0SLinJiawei val redirect = Flipped(ValidIO(new Redirect)) 115844fcf0SLinJiawei val roqCommits = Vec(CommitWidth, Flipped(ValidIO(new RoqCommit))) 1257c4f8d6SLinJiawei val wbIntResults = Vec(NRWritePorts, Flipped(ValidIO(new ExuOutput))) 1357c4f8d6SLinJiawei val wbFpResults = Vec(NRWritePorts, Flipped(ValidIO(new ExuOutput))) 14*9ee0fcaeSLinJiawei val intRfReadAddr = Vec(NRReadPorts, Input(UInt(PhyRegIdxWidth.W))) 15*9ee0fcaeSLinJiawei val fpRfReadAddr = Vec(NRReadPorts, Input(UInt(PhyRegIdxWidth.W))) 1657c4f8d6SLinJiawei val intPregRdy = Vec(NRReadPorts, Output(Bool())) 1757c4f8d6SLinJiawei val fpPregRdy = Vec(NRReadPorts, Output(Bool())) 1857c4f8d6SLinJiawei // from decode buffer 199a2e6b8aSLinJiawei val in = Vec(RenameWidth, Flipped(DecoupledIO(new CfCtrl))) 2057c4f8d6SLinJiawei // to dispatch1 219a2e6b8aSLinJiawei val out = Vec(RenameWidth, DecoupledIO(new MicroOp)) 225844fcf0SLinJiawei }) 235844fcf0SLinJiawei} 24