aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwhitequark <whitequark@whitequark.org>2021-07-16 07:36:18 +0000
committerwhitequark <whitequark@whitequark.org>2021-07-16 07:54:49 +0000
commit44a3d924ce30adfd3a09ffea40031a8d28445e25 (patch)
tree7fa68e74d99b7d1d91ba7dd41b780832e9251702
parentc17e385e3563e918e87a4f8bafbe290dd0911a8b (diff)
downloadyosys-44a3d924ce30adfd3a09ffea40031a8d28445e25.tar.gz
yosys-44a3d924ce30adfd3a09ffea40031a8d28445e25.tar.bz2
yosys-44a3d924ce30adfd3a09ffea40031a8d28445e25.zip
cxxrtl: don't mark buffered internal wires as UNUSED for debug.
Public wires may alias buffered internal wires, so keep BUFFERED wires in debug information even if they are private. Debug items are only created for public wires, so this does not otherwise affect how debug information is emitted. Fixes #2540. Fixes #2841.
-rw-r--r--backends/cxxrtl/cxxrtl_backend.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/backends/cxxrtl/cxxrtl_backend.cc b/backends/cxxrtl/cxxrtl_backend.cc
index 26c534bec..eea8103a7 100644
--- a/backends/cxxrtl/cxxrtl_backend.cc
+++ b/backends/cxxrtl/cxxrtl_backend.cc
@@ -2795,7 +2795,7 @@ struct CxxrtlWorker {
const auto &wire_type = wire_types[wire];
auto &debug_wire_type = debug_wire_types[wire];
if (wire_type.type == WireType::UNUSED) continue;
- if (!wire->name.isPublic()) continue;
+ if (!wire->name.isPublic() && !wire_type.is_buffered()) continue;
if (!debug_info) continue;
if (wire->port_input || wire_type.is_buffered())