hdl.ir: resolve hierarchy conflicts before creating missing domains.
authorwhitequark <cz@m-labs.hk>
Sat, 18 Jan 2020 10:30:36 +0000 (10:30 +0000)
committerwhitequark <cz@m-labs.hk>
Sat, 18 Jan 2020 10:30:36 +0000 (10:30 +0000)
commit62f3d2652efa4ae9ce4fd5d91105d9be74648142
tree80f44ee7e6f396f99983d21c3f68be2bb3c2fe1f
parent024ca37a93c2c2c7e7e6f917c3a79e75511af9cd
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