aboutsummaryrefslogtreecommitdiffstats
path: root/passes/cmds
diff options
context:
space:
mode:
authorwhitequark <whitequark@whitequark.org>2020-06-10 19:59:08 +0000
committerwhitequark <whitequark@whitequark.org>2020-06-10 19:59:08 +0000
commit2139a5c21a9a20b6a5c254bd2f7c09ea29fdaf3d (patch)
tree694a8ca06645311dae5f09ae85641d0236235435 /passes/cmds
parent8a4841d78690313a91af97e8c6d9aa3e65a3e491 (diff)
downloadyosys-2139a5c21a9a20b6a5c254bd2f7c09ea29fdaf3d.tar.gz
yosys-2139a5c21a9a20b6a5c254bd2f7c09ea29fdaf3d.tar.bz2
yosys-2139a5c21a9a20b6a5c254bd2f7c09ea29fdaf3d.zip
splitnets: propagate (*hdlname*) and disambiguate via start_offset.
This allows reliably coalescing the split wires later.
Diffstat (limited to 'passes/cmds')
-rw-r--r--passes/cmds/splitnets.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/passes/cmds/splitnets.cc b/passes/cmds/splitnets.cc
index 1e7dedd70..de275874f 100644
--- a/passes/cmds/splitnets.cc
+++ b/passes/cmds/splitnets.cc
@@ -59,10 +59,14 @@ struct SplitnetsWorker
new_wire->port_id = wire->port_id ? wire->port_id + offset : 0;
new_wire->port_input = wire->port_input;
new_wire->port_output = wire->port_output;
+ new_wire->start_offset = wire->start_offset + offset;
if (wire->attributes.count(ID::src))
new_wire->attributes[ID::src] = wire->attributes.at(ID::src);
+ if (wire->attributes.count(ID::hdlname))
+ new_wire->attributes[ID::hdlname] = wire->attributes.at(ID::hdlname);
+
if (wire->attributes.count(ID::keep))
new_wire->attributes[ID::keep] = wire->attributes.at(ID::keep);