forked from M-Labs/artiq
rtio: break DMA timing path
This commit is contained in:
parent
ea7549cfa4
commit
838127d914
|
@ -226,9 +226,9 @@ class TimeOffset(Module, AutoCSR):
|
||||||
|
|
||||||
# # #
|
# # #
|
||||||
|
|
||||||
pipe_ce = Signal()
|
self.sync += [
|
||||||
self.sync += \
|
If(self.source.ack, self.source.stb.eq(0)),
|
||||||
If(pipe_ce,
|
If(~self.source.stb,
|
||||||
self.sink.payload.connect(self.source.payload,
|
self.sink.payload.connect(self.source.payload,
|
||||||
leave_out={"timestamp"}),
|
leave_out={"timestamp"}),
|
||||||
self.source.payload.timestamp.eq(self.sink.payload.timestamp
|
self.source.payload.timestamp.eq(self.sink.payload.timestamp
|
||||||
|
@ -236,10 +236,8 @@ class TimeOffset(Module, AutoCSR):
|
||||||
self.source.eop.eq(self.sink.eop),
|
self.source.eop.eq(self.sink.eop),
|
||||||
self.source.stb.eq(self.sink.stb)
|
self.source.stb.eq(self.sink.stb)
|
||||||
)
|
)
|
||||||
self.comb += [
|
|
||||||
pipe_ce.eq(self.source.ack | ~self.source.stb),
|
|
||||||
self.sink.ack.eq(pipe_ce)
|
|
||||||
]
|
]
|
||||||
|
self.comb += self.sink.ack.eq(~self.source.stb)
|
||||||
|
|
||||||
|
|
||||||
class CRIMaster(Module, AutoCSR):
|
class CRIMaster(Module, AutoCSR):
|
||||||
|
|
Loading…
Reference in New Issue