must not delay ack to wb request in SRAM master 24jan2021_ls180
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 1 Oct 2020 17:15:54 +0000 (18:15 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 1 Oct 2020 17:15:54 +0000 (18:15 +0100)
nmigen_soc/wishbone/sram.py

index 22b0efd..1575e6a 100644 (file)
@@ -95,16 +95,9 @@ class SRAM(Elaboratable):
             with m.If(wen):
                 m.d.comb += wrport.en.eq(self.bus.sel)
 
-        # generate ack
+        # generate ack (no "pipeline" mode here)
         m.d.sync += self.bus.ack.eq(0)
-        with m.If(self.bus.cyc & self.bus.stb & ~self.bus.ack):
-            if False: # test which deliberately delays response
-                counter = Signal(3)
-                m.d.sync += counter.eq(counter + 1)
-                with m.If(counter == 7):
-                    m.d.sync += self.bus.ack.eq(1)
-                    m.d.sync += counter.eq(0)
-            else:
-                m.d.sync += self.bus.ack.eq(1)
+        with m.If(self.bus.cyc & self.bus.stb):
+            m.d.sync += self.bus.ack.eq(1)
 
         return m