corrections on spblock ack
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 27 May 2021 12:04:10 +0000 (13:04 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 27 May 2021 12:04:10 +0000 (13:04 +0100)
src/soc/bus/SPBlock512W64B8W.py

index 25f2da74c3bf033235ec8e5e1e371441076305e7..0a0d483b4de458b7d4350a7c3307dc23ca791168 100644 (file)
@@ -59,11 +59,10 @@ class SPBlock512W64B8W(Elaboratable):
         with m.If(self.enable): # in case of layout problems
             # wishbone is active if cyc and stb set
             wb_active = Signal()
-            m.d.comb += wb_active.eq(self.bus.cyc & self.bus.stb &
-                                     ~self.bus.ack)
+            m.d.comb += wb_active.eq(self.bus.cyc & self.bus.stb)
 
-            # generate ack (no "pipeline" mode here)
-            m.d.sync += self.bus.ack.eq(wb_active)
+            # generate ack (no "pipeline" mode here). do "classic" mode
+            m.d.sync += self.bus.ack.eq(wb_active & ~self.bus.ack)
 
             with m.If(wb_active):