From 8384460b4baeb62b6c5d93fd6824a7af31cf65fc Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Fri, 15 Aug 2025 11:14:02 +0200 Subject: [PATCH] check: add bufnorm invariant check --- passes/cmds/check.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/passes/cmds/check.cc b/passes/cmds/check.cc index 8bbcb8da0..a90b916e8 100644 --- a/passes/cmds/check.cc +++ b/passes/cmds/check.cc @@ -287,6 +287,13 @@ struct CheckPass : public Pass { pool init_bits; for (auto wire : module->wires()) { + if (design->flagBufferedNormalized) { + if (!wire->driverKnown()) + log_error("Wire %s has no bufnorm driver cell in buffer normalized mode\n", log_id(wire)); + } else { + if (wire->driverKnown()) + log_error("Wire %s has a bufnorm driver cell outside of buffer normalized mode\n", log_id(wire)); + } if (wire->port_input) { SigSpec sig = sigmap(wire); for (int i = 0; i < GetSize(sig); i++)