Fixes - make AvalonStPkts respect valid signals provided in AvalonSTWord if present
@@ -662,12 +662,16 @@ class AvalonSTPkts(ValidatedBusDriver):
if self.on is not True and self.on:
self.on -= 1
- self.bus <= word
+ if not hasattr(word, "valid"):
self.bus.valid <= 1
+ else:
+ self.bus <= word
# If this is a bus with a ready signal, wait for this word to
# be acknowledged
if hasattr(self.bus, "ready"):
+ yield ReadOnly()
+ if (self.bus.valid):
yield self._wait_ready()
yield clkedge
