Stall div/mul writeback until WB slot is free
This commit is contained in:
		| @@ -162,7 +162,7 @@ class Datapath(implicit conf: RocketConfiguration) extends Module | ||||
|   div.io.req.bits.in2 := ex_rs2 | ||||
|   div.io.req.bits.tag := ex_reg_waddr | ||||
|   div.io.kill := io.ctrl.div_mul_kill | ||||
|   div.io.resp.ready := Bool(true) | ||||
|   div.io.resp.ready := !io.ctrl.mem_wen | ||||
|   io.ctrl.div_mul_rdy := div.io.req.ready | ||||
|    | ||||
|   io.fpu.fromint_data := ex_rs1 | ||||
| @@ -249,7 +249,7 @@ class Datapath(implicit conf: RocketConfiguration) extends Module | ||||
|   val mem_ll_wdata = Bits() | ||||
|   mem_ll_wdata := div.io.resp.bits.data | ||||
|   io.ctrl.mem_ll_waddr := div.io.resp.bits.tag | ||||
|   io.ctrl.mem_ll_wb := div.io.resp.valid | ||||
|   io.ctrl.mem_ll_wb := div.io.resp.valid && !io.ctrl.mem_wen | ||||
|   when (dmem_resp_replay) { | ||||
|     div.io.resp.ready := Bool(false) | ||||
|     mem_ll_wdata := io.dmem.resp.bits.data_subword | ||||
|   | ||||
		Reference in New Issue
	
	Block a user