def request(self, name, number=None):
resource = _lookup(self.available, name, number)
rt = _resource_type(resource)
+ if number is None:
+ resource_name = name
+ else:
+ resource_name = name + str(number)
if isinstance(rt, int):
- obj = Signal(rt, name_override=resource[0])
+ obj = Signal(rt, name_override=resource_name)
else:
- obj = Record(rt, name=resource[0])
+ obj = Record(rt, name=resource_name, use_name_override=True)
for element in resource[2:]:
if isinstance(element, PlatformInfo):
class Record:
- def __init__(self, layout, name=None):
+ def __init__(self, layout, name=None, use_name_override=False):
self.name = get_obj_var_name(name, "")
self.layout = layout
fname, fsize, fdirection = f
else:
fname, fsize = f
- finst = Signal(fsize, name=prefix + fname)
+ if use_name_override:
+ finst = Signal(fsize, name_override=prefix + fname)
+ else:
+ finst = Signal(fsize, name=prefix + fname)
elif isinstance(f[1], list): # case 3
fname, fsublayout = f
finst = Record(fsublayout, prefix + fname)