diff options
| author | whitequark <whitequark@whitequark.org> | 2021-07-17 14:23:57 +0000 | 
|---|---|---|
| committer | whitequark <whitequark@whitequark.org> | 2021-07-17 14:23:57 +0000 | 
| commit | 4aa65f406f3f793978278454fe8d8000a442e2f2 (patch) | |
| tree | 4b1bd5b3058a53bec7a71d3a38a1d16a29b67f2b /backends/cxxrtl/cxxrtl_backend.cc | |
| parent | 2db41375141dd8098edac134e09b962a5b0821ab (diff) | |
| download | yosys-4aa65f406f3f793978278454fe8d8000a442e2f2.tar.gz yosys-4aa65f406f3f793978278454fe8d8000a442e2f2.tar.bz2 yosys-4aa65f406f3f793978278454fe8d8000a442e2f2.zip | |
cxxrtl: treat internal wires used only for debug as constants.
Fixes #2739 (again).
Diffstat (limited to 'backends/cxxrtl/cxxrtl_backend.cc')
| -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 | 
