packet.py: fix typo in Packetizer

* in some cases, the delayed sink data was updated even though
    sink was not valid, leading to corrupted source data
  * this broke etherbone reads with DW=64
This commit is contained in:
Michael Betz 2022-04-19 00:57:43 +02:00
parent bc9162d578
commit 5e4dd913fc
1 changed files with 1 additions and 1 deletions

View File

@ -97,7 +97,7 @@ class Packetizer(Module):
) )
if not aligned: if not aligned:
header_offset_multiplier = 1 if header_words == 1 else 2 header_offset_multiplier = 1 if header_words == 1 else 2
self.sync += If(source.ready, sink_d.eq(sink)) self.sync += If(source.valid & source.ready, sink_d.eq(sink))
fsm.act("UNALIGNED-DATA-COPY", fsm.act("UNALIGNED-DATA-COPY",
source.valid.eq(sink.valid | sink_d.last), source.valid.eq(sink.valid | sink_d.last),
source_last_a.eq(sink.last | sink_d.last), source_last_a.eq(sink.last | sink_d.last),