diff options
author | whitequark <whitequark@whitequark.org> | 2021-07-17 17:22:15 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-17 17:22:15 +0000 |
commit | 101d72ccb35715908ea6814f3c6b177789a79ccf (patch) | |
tree | c964daaf3f9a2b3407ca12543ee402d748a19356 | |
parent | 414154dd275b8cf9f0ffa071d12fc20fd6fee503 (diff) | |
parent | 4aa65f406f3f793978278454fe8d8000a442e2f2 (diff) | |
download | yosys-101d72ccb35715908ea6814f3c6b177789a79ccf.tar.gz yosys-101d72ccb35715908ea6814f3c6b177789a79ccf.tar.bz2 yosys-101d72ccb35715908ea6814f3c6b177789a79ccf.zip |
Merge pull request #2879 from whitequark/cxxrtl-fix-2739-again
cxxrtl: treat internal wires used only for debug as constants
-rw-r--r-- | backends/cxxrtl/cxxrtl_backend.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/backends/cxxrtl/cxxrtl_backend.cc b/backends/cxxrtl/cxxrtl_backend.cc index 7ff344e66..56305258a 100644 --- a/backends/cxxrtl/cxxrtl_backend.cc +++ b/backends/cxxrtl/cxxrtl_backend.cc @@ -2881,6 +2881,12 @@ struct CxxrtlWorker { debug_live_nodes.erase(node); } else if (wire_type.is_local()) { debug_wire_type = {WireType::LOCAL}; // wire not inlinable + } else if (wire_type.type == WireType::UNUSED) { + if (wire_init.count(wire)) { + debug_wire_type = {WireType::CONST, wire_init.at(wire)}; + } else { + debug_wire_type = {WireType::CONST, RTLIL::SigSpec(RTLIL::S0, wire->width)}; + } // wire never modified } else { log_assert(wire_type.is_member()); debug_wire_type = wire_type; // wire is a member |