From 8d8a1cb46c5e03af052bd9f5022a2a5d6e8bbe54 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 e365cbebc..4d6c6d6ff 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -2125,6 +2125,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 d1fa778a6..c43ec6da2 100644 --- a/kernel/rtlil_bufnorm.cc +++ b/kernel/rtlil_bufnorm.cc @@ -71,6 +71,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)