From: Florent Kermarrec Date: Wed, 17 Sep 2014 15:23:27 +0000 (+0200) Subject: flow/actor: add packetized parameter for Sink and Source X-Git-Tag: 24jan2021_ls180~2099^2~290 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=66054af7bb85dbcae4f68e6813055110f7a6f99b;p=litex.git flow/actor: add packetized parameter for Sink and Source --- diff --git a/migen/flow/actor.py b/migen/flow/actor.py index a8388e20..8968b533 100644 --- a/migen/flow/actor.py +++ b/migen/flow/actor.py @@ -13,13 +13,18 @@ def _make_m2s(layout): return r class _Endpoint(Record): - def __init__(self, layout): - full_layout = [ + def __init__(self, layout, packetized=False): + endpoint_layout = [ ("payload", _make_m2s(layout)), ("stb", 1, DIR_M_TO_S), ("ack", 1, DIR_S_TO_M) ] - Record.__init__(self, full_layout) + if packetized: + endpoint_layout += [ + ("sop", 1, DIR_M_TO_S), + ("eop", 1, DIR_S_TO_M) + ] + Record.__init__(self, endpoint_layout) class Source(_Endpoint): def connect(self, sink): @@ -72,7 +77,7 @@ class SequentialActor(BinaryActor): ).Elif(~ready, timer.eq(timer - 1) ) - + mask = Signal() self.comb += [ stb_o.eq(ready & mask),