diff options
author | Catherine <whitequark@whitequark.org> | 2021-12-15 08:48:49 +0000 |
---|---|---|
committer | Catherine <whitequark@whitequark.org> | 2021-12-15 09:14:33 +0000 |
commit | 7f2ea7d222f159842e391d080a1b5bdc6c5a7006 (patch) | |
tree | e4e4bb64b165ee6a768a217984eb40a2dfb49fe3 /backends | |
parent | b07ca8756a6ca4fafd725f008ac871a0e24d75e8 (diff) | |
download | yosys-7f2ea7d222f159842e391d080a1b5bdc6c5a7006.tar.gz yosys-7f2ea7d222f159842e391d080a1b5bdc6c5a7006.tar.bz2 yosys-7f2ea7d222f159842e391d080a1b5bdc6c5a7006.zip |
cxxrtl: demote wires not inlinable only in debug_eval to locals.
Fixes #3112.
Co-authored-by: Irides <irides@irides.network>
Diffstat (limited to 'backends')
-rw-r--r-- | backends/cxxrtl/cxxrtl_backend.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/backends/cxxrtl/cxxrtl_backend.cc b/backends/cxxrtl/cxxrtl_backend.cc index 6623e025e..ba11179c6 100644 --- a/backends/cxxrtl/cxxrtl_backend.cc +++ b/backends/cxxrtl/cxxrtl_backend.cc @@ -2888,15 +2888,16 @@ struct CxxrtlWorker { debug_wire_type = {WireType::INLINE, node->cell}; // wire replaced with cell break; case FlowGraph::Node::Type::CONNECT: - debug_wire_type = {WireType::INLINE, node->connect.second}; // wire replaced with sig + debug_wire_type = {WireType::INLINE, node->connect.second}; // wire replaced with sig break; default: continue; } debug_live_nodes.erase(node); - } else if (wire_type.is_member() || wire_type.is_local()) { + } else if (wire_type.is_member() || wire_type.type == WireType::LOCAL) { debug_wire_type = wire_type; // wire not inlinable } else { - log_assert(wire_type.type == WireType::UNUSED); + log_assert(wire_type.type == WireType::INLINE || + wire_type.type == WireType::UNUSED); if (flow.wire_comb_defs[wire].size() == 0) { if (wire_init.count(wire)) { // wire never modified debug_wire_type = {WireType::CONST, wire_init.at(wire)}; |