[Libre-soc-bugs] [Bug 742] MultiCompUnit wrmask relies on sync ok
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sat Nov 6 13:20:56 GMT 2021
https://bugs.libre-soc.org/show_bug.cgi?id=742
--- Comment #3 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
as expected, wrmask which comes from all the "ok" signals
which are only supposed to be valid when n.i_valid is set,
is used on the write request latches:
256 # dest operand latch (not using issue_i)
257 m.d.sync += req_l.s.eq(alu_pulsem & self.wrmask)
258 m.d.sync += req_l.r.eq(reset_w | prev_wr_go)
however this does not look right:
361 # write-release gated by busy and by shadow (and write-mask)
362 brd = Repl(self.busy_o & self.shadown_i, self.n_dst)
363 m.d.comb += self.wr.rel_o.eq(req_l.q & brd & self.wrmask)
wrmask gating with the wr.rel_o output is most likely the bug,
it says that wrmask has to be sustained (sync'd) and it is redundant
anyway.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list