fifo.reset.eq(1),
NextState("IDLE"),
)
+ self.comb += crc.data.eq(sink.data)
fsm.act("IDLE",
- crc.data.eq(sink.data),
If(sink.stb & sink.sop & sink.ack,
crc.ce.eq(1),
NextState("COPY")
)
)
fsm.act("COPY",
- crc.data.eq(sink.data),
If(sink.stb & sink.ack,
crc.ce.eq(1),
If(sink.eop,
inc_cnt.eq(self.source.ack)
)
)
+
+ self.comb += [
+ self.source.data.eq(self.sink.data),
+ self.source.last_be.eq(self.sink.last_be)
+ ]
fsm.act("COPY",
- Record.connect(self.sink, self.source),
+ Record.connect(self.sink, self.source, leave_out=["data", "last_be"]),
self.source.sop.eq(0),
If(self.sink.stb & self.sink.eop & self.source.ack,
)
)
)
+ self.comb += [
+ self.source.data.eq(self.sink.data),
+ self.source.last_be.eq(self.sink.last_be)
+ ]
fsm.act("COPY",
- Record.connect(self.sink, self.source),
+ Record.connect(self.sink, self.source, leave_out=["data", "last_be"]),
self.source.sop.eq(sop),
clr_sop.eq(self.source.stb & self.source.ack),