soc/interconnect/stream: use reset_less attr of signal for payload and param

This commit is contained in:
Florent Kermarrec 2017-06-28 23:10:45 +02:00
parent bd876d4cd6
commit f5a971a8d8
2 changed files with 9 additions and 6 deletions

View File

@ -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)

View File

@ -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