From fb03a342776ebc1b462aa6938c4b2bbd1ce286e8 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 74ded6a55..cf146f786 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -2119,6 +2119,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 78f99731f..182e159b2 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(); @@ -346,6 +359,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)