invert write pending before use
[soc.git] / src / scoreboard / fn_unit.py
index c8fc8d76e80d35023d0967034e303272588f9e96..a0d317151294efa2f901a7a6afa2fc64ac0701bd 100644 (file)
@@ -163,7 +163,7 @@ class FnUnit(Elaboratable):
         # readable output signal
         g_rd = Signal(self.reg_width, reset_less=True)
         ro = Signal(reset_less=True)
-        m.d.comb += g_rd.eq(self.g_wr_pend_i & self.rd_pend_o)
+        m.d.comb += g_rd.eq(~self.g_wr_pend_i & self.rd_pend_o)
         m.d.comb += ro.eq(~g_rd.bool())
         m.d.comb += self.readable_o.eq(ro)
 
@@ -171,7 +171,7 @@ class FnUnit(Elaboratable):
         g_wr_v = Signal(self.reg_width, reset_less=True)
         g_wr = Signal(reset_less=True)
         wo = Signal(reset_less=True)
-        m.d.comb += g_wr_v.eq(g_pend_i & xx_pend_o & self.rd_pend_o)
+        m.d.comb += g_wr_v.eq(g_pend_i & xx_pend_o)
         m.d.comb += g_wr.eq(~g_wr_v.bool())
         m.d.comb += wo.eq(g_wr & rd_l.qn & self.req_rel_i & shadown)
         m.d.comb += writable_o.eq(wo)