From: Jean THOMAS Date: Mon, 8 Jun 2020 11:23:48 +0000 (+0200) Subject: Throw exception if two CSR have the same name X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=63c764d45c991cfe4bffd56a9be0fd2c93a70a7f;p=lambdasoc.git Throw exception if two CSR have the same name --- diff --git a/lambdasoc/periph/base.py b/lambdasoc/periph/base.py index 8789ee3..84c3452 100644 --- a/lambdasoc/periph/base.py +++ b/lambdasoc/periph/base.py @@ -253,6 +253,8 @@ class CSRBank: name = name or tracer.get_var_name(depth=2 + src_loc_at).lstrip("_") elem_name = "{}_{}".format(self._name_prefix, name) + if any(elem.name == elem_name for (elem, _, _) in self._csr_regs): + raise Exception("CSR \"{}\" has already been defined".format(elem_name)) elem = csr.Element(width, access, name=elem_name) self._csr_regs.append((elem, addr, alignment)) return elem