From eec0efcd6f19826d9ccaafc7a97042951a4a7875 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Tue, 9 Nov 2021 00:27:05 +0000 Subject: [PATCH] whoops must remember to do rdmaskn on LDSTCompUnit as well --- src/soc/experiment/compldst_multi.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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]) -- 2.30.2