fix fdiv/fsqrt control bug in fpu
This commit is contained in:
parent
3c3c946755
commit
213c1a4c81
@ -609,7 +609,7 @@ class FPU(implicit p: Parameters) extends CoreModule()(p) {
|
|||||||
val divSqrt = Module(new hardfloat.DivSqrtRecF64)
|
val divSqrt = Module(new hardfloat.DivSqrtRecF64)
|
||||||
divSqrt_inReady := Mux(divSqrt.io.sqrtOp, divSqrt.io.inReady_sqrt, divSqrt.io.inReady_div)
|
divSqrt_inReady := Mux(divSqrt.io.sqrtOp, divSqrt.io.inReady_sqrt, divSqrt.io.inReady_div)
|
||||||
val divSqrt_outValid = divSqrt.io.outValid_div || divSqrt.io.outValid_sqrt
|
val divSqrt_outValid = divSqrt.io.outValid_div || divSqrt.io.outValid_sqrt
|
||||||
divSqrt.io.inValid := mem_reg_valid && (mem_ctrl.div || mem_ctrl.sqrt)
|
divSqrt.io.inValid := mem_reg_valid && (mem_ctrl.div || mem_ctrl.sqrt) && !divSqrt_in_flight
|
||||||
divSqrt.io.sqrtOp := mem_ctrl.sqrt
|
divSqrt.io.sqrtOp := mem_ctrl.sqrt
|
||||||
divSqrt.io.a := fpiu.io.as_double.in1
|
divSqrt.io.a := fpiu.io.as_double.in1
|
||||||
divSqrt.io.b := fpiu.io.as_double.in2
|
divSqrt.io.b := fpiu.io.as_double.in2
|
||||||
|
Loading…
Reference in New Issue
Block a user