actorlib/structuring: fix eop generation in Pack
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Thu, 12 Feb 2015 22:29:53 +0000 (23:29 +0100)
committerSebastien Bourdeauducq <sb@m-labs.hk>
Sat, 14 Feb 2015 11:07:18 +0000 (03:07 -0800)
migen/actorlib/structuring.py

index fa1e557621ee87a7a024c26ce4269f3f7d36741b..de733a26607fbe51799ea9b2a82dee6f25a1f0a9 100644 (file)
@@ -118,11 +118,12 @@ class Pack(Module):
                if description_to.packetized:
                        self.sync += [
                                If(source.stb & source.ack,
-                                       source.sop.eq(load_part & sink.sop)
-                               ).Else(
-                                       source.sop.eq((load_part & sink.sop) | source.sop)
-                               ),
-                               source.eop.eq(load_part & sink.eop)
+                                       source.sop.eq(sink.sop),
+                                       source.eop.eq(sink.eop),
+                               ).Elif(sink.stb & sink.ack,
+                                       source.sop.eq(sink.sop | source.sop),
+                                       source.eop.eq(sink.eop | source.eop)
+                               )
                        ]
 
 class Chunkerize(CombinatorialActor):