From d80ad67f6487904a9be5aa31186f808326b2c695 Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Tue, 21 Jul 2026 14:00:14 +0200 Subject: [PATCH] check: ask per module whether it carries a signorm index --- kernel/rtlil.h | 2 ++ passes/cmds/check.cc | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/rtlil.h b/kernel/rtlil.h index 827e3972b..992839f85 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -3079,6 +3079,8 @@ public: const pool &fanout(SigBit bit); const dict> &signorm_fanout() const; + bool signorm_indexed() const { return sig_norm_index != nullptr; } + const SigMap *signorm_sigmap(); // Equivalent to `connect(lhs, rhs)` followed by `sigNormalize()` for the diff --git a/passes/cmds/check.cc b/passes/cmds/check.cc index 128220f1c..d7d3f821f 100644 --- a/passes/cmds/check.cc +++ b/passes/cmds/check.cc @@ -31,7 +31,7 @@ PRIVATE_NAMESPACE_BEGIN int check_bufnorm_cell(RTLIL::Module *module, RTLIL::Cell *cell) { bool bufnorm = module->design->flagBufferedNormalized; - bool signorm = module->design->flagSigNormalized; + bool signorm = module->design->flagSigNormalized && module->signorm_indexed(); if (!bufnorm && !signorm) return 0; @@ -102,7 +102,7 @@ int check_bufnorm_wire(RTLIL::Module *module, RTLIL::Wire *wire) int check_signorm_fanout(RTLIL::Module *module) { - if (!module->design->flagSigNormalized) + if (!module->design->flagSigNormalized || !module->signorm_indexed()) return 0; int counter = 0;