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