soc/interconnect/stream: use reset_less attr of signal for payload and param
This commit is contained in:
parent
bd876d4cd6
commit
f5a971a8d8
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue