hdl.rec: thread src_loc_at to all inner Signals and Records.

This commit is contained in:
whitequark 2019-07-03 14:49:20 +00:00
parent 33f21628bb
commit 7059cb4931

View file

@ -110,9 +110,11 @@ class Record(Value):
self.fields[field_name] = field
else:
if isinstance(field_shape, Layout):
self.fields[field_name] = Record(field_shape, name=concat(name, field_name))
self.fields[field_name] = Record(field_shape, name=concat(name, field_name),
src_loc_at=src_loc_at + 1)
else:
self.fields[field_name] = Signal(field_shape, name=concat(name, field_name))
self.fields[field_name] = Signal(field_shape, name=concat(name, field_name),
src_loc_at=src_loc_at + 1)
def __getattr__(self, name):
return self[name]