From: Luke Kenneth Casson Leighton Date: Tue, 9 Nov 2021 00:27:05 +0000 (+0000) Subject: whoops must remember to do rdmaskn on LDSTCompUnit as well X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eec0efcd6f19826d9ccaafc7a97042951a4a7875;p=soc.git whoops must remember to do rdmaskn on LDSTCompUnit as well --- diff --git a/src/soc/experiment/compldst_multi.py b/src/soc/experiment/compldst_multi.py index a160ad10..07b101a2 100644 --- a/src/soc/experiment/compldst_multi.py +++ b/src/soc/experiment/compldst_multi.py @@ -367,7 +367,7 @@ class LDSTCompUnit(RegSpecAPI, Elaboratable): sync += opc_l.r.eq(reset_o) # XXX NOTE: INVERTED FROM book! # src operand latch - sync += src_l.s.eq(Repl(issue_i, self.n_src)) + sync += src_l.s.eq(Repl(issue_i, self.n_src) & ~self.rdmaskn) sync += src_l.r.eq(reset_r) #### sync += Display("reset_r = %i",reset_r) @@ -457,7 +457,7 @@ class LDSTCompUnit(RegSpecAPI, Elaboratable): # 2nd operand only needed when immediate is not active slg = Cat(op_is_z, op_is_imm) #is this correct ? bro = Repl(self.busy_o, self.n_src) - comb += self.rd.rel_o.eq(src_l.q & bro & ~slg & ~self.rdmaskn) + comb += self.rd.rel_o.eq(src_l.q & bro & ~slg) # note when the address-related read "go" signals are active comb += rda_any.eq(self.rd.go_i[0] | self.rd.go_i[1])