hdl.ir: during port propagation, defs should take priority over uses.

This commit is contained in:
whitequark 2019-05-13 15:34:13 +00:00
parent 921f506e69
commit 39bc59c924
2 changed files with 27 additions and 5 deletions

View file

@ -445,11 +445,6 @@ class Fragment:
for sig in uses:
if sig in defs:
lca = reduce(lca_of, uses[sig], defs[sig])
frag = defs[sig]
while frag != lca:
frag.add_ports(sig, dir="o")
frag = parent[frag]
else:
lca = reduce(lca_of, uses[sig])
@ -460,6 +455,12 @@ class Fragment:
frag.add_ports(sig, dir="i")
frag = parent[frag]
if sig in defs:
frag = defs[sig]
while frag != lca:
frag.add_ports(sig, dir="o")
frag = parent[frag]
for sig in ios:
frag = ios[sig]
while frag is not None: