From: Florent Kermarrec Date: Mon, 30 Nov 2015 17:15:48 +0000 (+0100) Subject: gen/build: use name_override for all IOs defined in Platform file (avoid random namin... X-Git-Tag: 24jan2021_ls180~2036 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a716c562f07611c4a0eb9ff7afd3b29f17d70bf5;p=litex.git gen/build: use name_override for all IOs defined in Platform file (avoid random naming of IOs) --- diff --git a/litex/build/generic_platform.py b/litex/build/generic_platform.py index a5a12fe1..d96e3d76 100644 --- a/litex/build/generic_platform.py +++ b/litex/build/generic_platform.py @@ -161,10 +161,14 @@ class ConstraintManager: 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): diff --git a/litex/gen/genlib/record.py b/litex/gen/genlib/record.py index 0038b069..f31a2c24 100644 --- a/litex/gen/genlib/record.py +++ b/litex/gen/genlib/record.py @@ -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)