diff --git a/src/main/scala/xiangshan/backend/FloatBlock.scala b/src/main/scala/xiangshan/backend/FloatBlock.scala index 076bbe90a578c98acfd841e8640dc157e43d967a..c2e5663fb2855b0689aa0671c92e5f5e7e4b0fb7 100644 --- a/src/main/scala/xiangshan/backend/FloatBlock.scala +++ b/src/main/scala/xiangshan/backend/FloatBlock.scala @@ -155,7 +155,9 @@ class FloatBlock // read fp rf from ctrl block fpRf.io.readPorts.zipWithIndex.map{ case (r, i) => r.addr := io.fromCtrlBlock.readRf(i) } - (0 until exuParameters.StuCnt).foreach(i => io.toMemBlock.readFpRf(i).data := fpRf.io.readPorts(i + 12).data) + (0 until exuParameters.StuCnt).foreach(i => + io.toMemBlock.readFpRf(i).data := RegNext(ieee(fpRf.io.readPorts(i + 12).data)) + ) // write fp rf arbiter val fpWbArbiter = Module(new Wb( (exeUnits.map(_.config) ++ fastWakeUpIn ++ slowWakeUpIn),