I'm comparing two gate-level netlists:
- netlist which has been technology mapped from a source technology - just swapped gates - gate mapping equivalency checked with KF
- netlist which has been synthesized using the target library
When I run the design through with "lec", KF reports the designs are equivalent:
[2026-08-06 22:02:58.959] [kepler_formal_main_logger] [info] [KeplerFormal.cpp:2700] Found top design: gcd
[2026-08-06 22:02:59.225] [kepler_formal_main_logger] [info] [KeplerFormal.cpp:2851] No difference was found.
When I run using "sec", KF reports that the result is inconclusive:
[2026-08-06 22:03:38.908] [kepler_formal_main_logger] [info] [KeplerFormal.cpp:2006] SEC checked-output coverage: 61.11% (11/18 covered/existing outputs).
[2026-08-06 22:03:38.908] [kepler_formal_main_logger] [info] [KeplerFormal.cpp:2035] SEC skipped observed outputs due to extraction or coverage limitations:
- req_rdy[0]: dual-rail PDR steady-state proof was inconclusive
- resp_msg[0]: dual-rail PDR steady-state proof was inconclusive
- resp_msg[8]: dual-rail PDR steady-state proof was inconclusive
- resp_msg[9]: dual-rail PDR steady-state proof was inconclusive
- resp_msg[11]: dual-rail PDR steady-state proof was inconclusive
- resp_msg[12]: dual-rail PDR steady-state proof was inconclusive
- resp_msg[13]: dual-rail PDR steady-state proof was inconclusive
[2026-08-06 22:03:38.908] [kepler_formal_main_logger] [info] [KeplerFormal.cpp:2094] SEC partially proved equivalence at k = 7: 11/18 outputs proved; remaining outputs are inconclusive.
[2026-08-06 22:03:38.908] [kepler_formal_main_logger] [warning] [KeplerFormal.cpp:2100] SEC verification did not prove all observed outputs.
[2026-08-06 22:03:38.908] [kepler_formal_main_logger] [info] [KeplerFormal.cpp:2103] SEC partial-proof details: Exact dual-rail PDR proved 11 of 18 observed outputs; remaining outputs are inconclusive
Can you provide some user-actionable messages to help identify where the differences are?
Here are the files for the test case:
1_2_yosys.v.txt
gt2n_gcd.v.txt
native_gt2n_lec.sh.txt
You can get the gt2n liberty files from: https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/tree/master/flow/platforms/gt2n/lib
I'm comparing two gate-level netlists:
When I run the design through with "lec", KF reports the designs are equivalent:
When I run using "sec", KF reports that the result is inconclusive:
Can you provide some user-actionable messages to help identify where the differences are?
Here are the files for the test case:
1_2_yosys.v.txt
gt2n_gcd.v.txt
native_gt2n_lec.sh.txt
You can get the gt2n liberty files from: https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/tree/master/flow/platforms/gt2n/lib