From f5a971a8d8b479418faba36c82d0b318be1e6895 Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Wed, 28 Jun 2017 23:10:45 +0200 Subject: [PATCH] soc/interconnect/stream: use reset_less attr of signal for payload and param --- litex/gen/genlib/record.py | 7 +++++-- litex/soc/interconnect/stream.py | 8 ++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/litex/gen/genlib/record.py b/litex/gen/genlib/record.py index 2692ab4b6..a82f9168f 100644 --- a/litex/gen/genlib/record.py +++ b/litex/gen/genlib/record.py @@ -96,11 +96,14 @@ class Record: prefix = "" for f in self.layout: if isinstance(f[1], (int, tuple)): # cases 1/2 - if(len(f) == 3): + freset_less = False + if(len(f) == 4): + fname, fsize, fdirection, freset_less = f + elif(len(f) == 3): fname, fsize, fdirection = f else: fname, fsize = f - finst = Signal(fsize, name=prefix + fname) + finst = Signal(fsize, name=prefix + fname, reset_less=freset_less) elif isinstance(f[1], list): # case 3 fname, fsublayout = f finst = Record(fsublayout, prefix + fname) diff --git a/litex/soc/interconnect/stream.py b/litex/soc/interconnect/stream.py index 69a109a1e..63772a209 100644 --- a/litex/soc/interconnect/stream.py +++ b/litex/soc/interconnect/stream.py @@ -4,11 +4,11 @@ from litex.gen.genlib import fifo (DIR_SINK, DIR_SOURCE) = range(2) -def _make_m2s(layout): +def _make_m2s(layout, reset_less=False): r = [] for f in layout: if isinstance(f[1], (int, tuple)): - r.append((f[0], f[1], DIR_M_TO_S)) + r.append((f[0], f[1], DIR_M_TO_S, reset_less)) else: r.append((f[0], _make_m2s(f[1]))) return r @@ -34,8 +34,8 @@ class EndpointDescription: ("ready", 1, DIR_S_TO_M), ("first", 1, DIR_M_TO_S), ("last", 1, DIR_M_TO_S), - ("payload", _make_m2s(self.payload_layout)), - ("param", _make_m2s(self.param_layout)) + ("payload", _make_m2s(self.payload_layout, True)), + ("param", _make_m2s(self.param_layout, True)) ] return full_layout