rtlil: add dump_sigmap for hacky signorm debugging

This commit is contained in:
Emil J. Tywoniak 2026-03-12 22:13:21 +01:00
parent e7a97360a8
commit ae946a598c
2 changed files with 20 additions and 0 deletions

View File

@ -1753,6 +1753,7 @@ public:
pool<RTLIL::Cell *> pending_deleted_cells;
dict<RTLIL::Wire *, pool<RTLIL::Cell *>> buf_norm_connect_index;
void bufNormalize();
void dump_sigmap();
protected:
SigNormIndex *sig_norm_index = nullptr;

View File

@ -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)