fix long-latency writeback arbitration bug
This commit is contained in:
		| @@ -633,8 +633,8 @@ class rocketCtrl extends Component | |||||||
|        |        | ||||||
|   // for divider, multiplier, load miss writeback |   // for divider, multiplier, load miss writeback | ||||||
|   val mem_wb = Reg(io.dmem.resp_replay, resetVal = Bool(false)) // delayed for subword extension |   val mem_wb = Reg(io.dmem.resp_replay, resetVal = Bool(false)) // delayed for subword extension | ||||||
|   val mul_wb = io.dpath.mul_result_val && !io.dmem.resp_replay; |   val mul_wb = io.dpath.mul_result_val && !mem_wb; | ||||||
|   val div_wb = io.dpath.div_result_val && !io.dpath.mul_result_val && !io.dmem.resp_replay; |   val div_wb = io.dpath.div_result_val && !io.dpath.mul_result_val && !mem_wb; | ||||||
|  |  | ||||||
|   val ctrl_stalld = |   val ctrl_stalld = | ||||||
|     !take_pc && |     !take_pc && | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user