copy dec SPR into decoder cur_state
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 6 Sep 2020 18:46:41 +0000 (19:46 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 6 Sep 2020 18:46:41 +0000 (19:46 +0100)
src/soc/simple/issuer.py

index 0bba65549a022eaeaa1bf11f140edc43b92857c1..1f4e798e02e607069a337201f418b38cffc7cf6a 100644 (file)
@@ -320,11 +320,11 @@ class TestIssuer(Elaboratable):
             comb += d_xer.ack.eq(1)
 
         # DEC and TB inc/dec FSM
-        self.tb_dec_fsm(m)
+        self.tb_dec_fsm(m, cur_state.dec)
 
         return m
 
-    def tb_dec_fsm(self, m):
+    def tb_dec_fsm(self, m, spr_dec):
         """tb_dec_fsm
 
         this is a FSM for updating either dec or tb.  it runs alternately
@@ -356,6 +356,7 @@ class TestIssuer(Elaboratable):
                 comb += fast_w_dectb.addr.eq(FastRegs.DEC)
                 comb += fast_w_dectb.wen.eq(1)
                 comb += fast_w_dectb.data_i.eq(new_dec)
+                sync += spr_dec.eq(new_dec) # copy into cur_state for decoder
                 m.next = "TB_READ"
 
             # initiates read of current TB