From de6aa77dc835525cd56f64d0ebf9a2200eecb419 Mon Sep 17 00:00:00 2001 From: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com> Date: Tue, 23 Jun 2026 10:54:00 +1200 Subject: [PATCH] equiv_opt: Add ignore-unknown-cells --- passes/equiv/equiv_opt.cc | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/passes/equiv/equiv_opt.cc b/passes/equiv/equiv_opt.cc index f5eb75730..db793ac6a 100644 --- a/passes/equiv/equiv_opt.cc +++ b/passes/equiv/equiv_opt.cc @@ -69,7 +69,7 @@ struct EquivOptPass:public ScriptPass } std::string command, techmap_opts, make_opts; - bool assert, undef, multiclock, async2sync, nocheck; + bool assert, undef, ignore_unknown_cells, multiclock, async2sync, nocheck; void clear_flags() override { @@ -78,6 +78,7 @@ struct EquivOptPass:public ScriptPass make_opts = ""; assert = false; undef = false; + ignore_unknown_cells = false; multiclock = false; async2sync = false; nocheck = false; @@ -114,6 +115,10 @@ struct EquivOptPass:public ScriptPass undef = true; continue; } + if (args[argidx] == "-ignore-unknown-cells") { + ignore_unknown_cells = true; + continue; + } if (args[argidx] == "-nocheck") { nocheck = true; continue; @@ -197,12 +202,16 @@ struct EquivOptPass:public ScriptPass else opts = make_opts; run("equiv_make" + opts + " gold gate equiv"); + string induct_opts; if (help_mode) - run("equiv_induct [-undef] equiv"); - else if (undef) - run("equiv_induct -undef equiv"); - else - run("equiv_induct equiv"); + induct_opts = " [-undef] [-ignore-unknown-cells]"; + else { + if (undef) + induct_opts += " -undef"; + if (ignore_unknown_cells) + induct_opts += " -ignore-unknown-cells"; + } + run("equiv_induct" + induct_opts + " equiv"); if (help_mode) run("equiv_status [-assert] equiv"); else if (assert)