fhdl/namer: detect leaf nodes better

This commit is contained in:
Sebastien Bourdeauducq 2013-08-08 12:22:58 +02:00
parent eb1417c5ed
commit 2c580fff03
1 changed files with 17 additions and 16 deletions

View File

@ -61,10 +61,6 @@ def _build_tree(signals, basic_tree=None):
return root
def _set_use_name(node, node_name=""):
if not node.children:
node.use_name = True
return {(node_name, )}
else:
cnames = [(k, _set_use_name(v, k)) for k, v in node.children.items()]
for (c1_prefix, c1_names), (c2_prefix, c2_names) in combinations(cnames, 2):
if not c1_names.isdisjoint(c2_names):
@ -77,6 +73,11 @@ def _set_use_name(node, node_name=""):
r.add((c_prefix, ) + c_name)
else:
r |= c_names
if node.signal_count > sum(c.signal_count for c in node.children.values()):
node.use_name = True
r.add((node_name, ))
return r
def _name_signal(tree, signal):