提交 d0d8f03a 编写于 作者: Y Yinan Xu

exu,div: set io.in.valid though the instruction is flushed

上级 e2117cc6
......@@ -100,7 +100,7 @@ abstract class Exu(val config: ExuConfig) extends XSModule {
val src2 = in.bits.src2
val src3 = in.bits.src3
fu.io.in.valid := in.valid && sel && !in.bits.uop.roqIdx.needFlush(io.redirect)
fu.io.in.valid := in.valid && sel
fu.io.in.bits.uop := in.bits.uop
fu.io.in.bits.src.foreach(_ <> DontCare)
if (fuCfg.srcCnt > 0) {
......
......@@ -85,6 +85,6 @@ class Radix2Divider(len: Int) extends AbstractDivider(len) {
io.out.bits.data := Mux(ctrlReg.isW, SignExt(res(31,0),xlen), res)
io.out.bits.uop := uopReg
io.out.valid := state === s_finish && !kill
io.out.valid := state === s_finish
io.in.ready := state === s_idle
}
\ No newline at end of file
......@@ -220,7 +220,7 @@ class SRT4Divider(len: Int) extends AbstractDivider(len) {
)
io.in.ready := state===s_idle
io.out.valid := state===s_finish && !kill
io.out.valid := state===s_finish
io.out.bits.data := Mux(ctrlReg.isW,
SignExt(res(31, 0), len),
res
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册