hdl.ir: resolve hierarchy conflicts before creating missing domains.
authorwhitequark <whitequark@whitequark.org>
Sat, 18 Jan 2020 10:30:36 +0000 (10:30 +0000)
committerwhitequark <whitequark@whitequark.org>
Sat, 18 Jan 2020 10:30:36 +0000 (10:30 +0000)
commita7be3b480adbf18006b34f8aae1b73e17d092e26
tree80f44ee7e6f396f99983d21c3f68be2bb3c2fe1f
parent7cb3095334f7734d15ec9d350043b448c7c5e66d
hdl.ir: resolve hierarchy conflicts before creating missing domains.

Otherwise, code such as:

    m.submodules.a = (something with cd_sync)
    m.submodules.b = (something with cd_sync)
    m.d.b_sync += x.eq(y)

causes an assertion failure.

Fixes #304 (again).
nmigen/hdl/ir.py
nmigen/test/test_hdl_ir.py