From ae946a598c8f9c79c3b6ca8bc062461323c7aad0 Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Thu, 12 Mar 2026 22:13:21 +0100 Subject: [PATCH] rtlil: add dump_sigmap for hacky signorm debugging --- kernel/rtlil.h | 1 + kernel/rtlil_bufnorm.cc | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/kernel/rtlil.h b/kernel/rtlil.h index 434a4eadc..c5097f97e 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -1753,6 +1753,7 @@ public: pool pending_deleted_cells; dict> buf_norm_connect_index; void bufNormalize(); + void dump_sigmap(); protected: SigNormIndex *sig_norm_index = nullptr; diff --git a/kernel/rtlil_bufnorm.cc b/kernel/rtlil_bufnorm.cc index 536227972..788b05533 100644 --- a/kernel/rtlil_bufnorm.cc +++ b/kernel/rtlil_bufnorm.cc @@ -55,6 +55,19 @@ struct RTLIL::SigNormIndex setup_fanout(); } + void dump_sigmap() { + for (auto [name, wire] : module->wires_) { + log_debug("wire %s %p %s\n", name, wire, wire->name); + SigSpec ss(wire); + log_debug("ss %s\n", log_signal(ss)); + sigmap(ss); + log_debug("sigmapped %s\n", log_signal(ss)); + } + for (auto [lhs, rhs] : module->connections_) { + log_debug("connection %s %s\n", log_signal(lhs), log_signal(rhs)); + } + } + void normalize() { flush_connections(); flush_newly_driven(); @@ -345,6 +358,12 @@ void RTLIL::Module::sigNormalize() } +void RTLIL::Module::dump_sigmap() +{ + if (sig_norm_index != nullptr) + sig_norm_index->dump_sigmap(); +} + void RTLIL::Module::clear_sig_norm_index() { if (sig_norm_index == nullptr)