From: Luke Kenneth Casson Leighton Date: Sun, 31 May 2020 14:58:04 +0000 (+0100) Subject: HA! found a bug in MultiCompUnit handling of write-masks X-Git-Tag: div_pipeline~714 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2ecaeb50ba86871035ca8ce09dca77fc5c966f29;p=soc.git HA! found a bug in MultiCompUnit handling of write-masks --- diff --git a/src/soc/experiment/compalu_multi.py b/src/soc/experiment/compalu_multi.py index d41fdd64..c2faf5ba 100644 --- a/src/soc/experiment/compalu_multi.py +++ b/src/soc/experiment/compalu_multi.py @@ -205,7 +205,8 @@ class MultiCompUnit(RegSpecALUAPI, Elaboratable): req_done = Signal(reset_less=True) m.d.comb += self.done_o.eq(self.busy_o & ~(self.wr.rel.bool())) m.d.comb += wr_any.eq(self.wr.go.bool()) - m.d.comb += req_done.eq(wr_any & ~self.alu.n.ready_i & (req_l.q == 0)) + m.d.comb += req_done.eq(wr_any & ~self.alu.n.ready_i & \ + ((req_l.q & self.wrmask) == 0)) # shadow/go_die reset = Signal(reset_less=True)