gen/build: use name_override for all IOs defined in Platform file (avoid random naming of IOs)
This commit is contained in:
parent
53c86e34f4
commit
a716c562f0
|
@ -161,10 +161,14 @@ class ConstraintManager:
|
|||
def request(self, name, number=None):
|
||||
resource = _lookup(self.available, name, number)
|
||||
rt = _resource_type(resource)
|
||||
if isinstance(rt, int):
|
||||
obj = Signal(rt, name_override=resource[0])
|
||||
if number is None:
|
||||
resource_name = name
|
||||
else:
|
||||
obj = Record(rt, name=resource[0])
|
||||
resource_name = name + str(number)
|
||||
if isinstance(rt, int):
|
||||
obj = Signal(rt, name_override=resource_name)
|
||||
else:
|
||||
obj = Record(rt, name=resource_name, use_name_override=True)
|
||||
|
||||
for element in resource[2:]:
|
||||
if isinstance(element, PlatformInfo):
|
||||
|
|
|
@ -86,7 +86,7 @@ def layout_partial(layout, *elements):
|
|||
|
||||
|
||||
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
|
||||
|
||||
|
@ -100,7 +100,10 @@ class Record:
|
|||
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)
|
||||
|
|
Loading…
Reference in New Issue