Home Knowledge Base Formal Equivalence Checking (LEC)

Formal Equivalence Checking (LEC) is the mathematical verification technique that proves two representations of a digital design are functionally identical — comparing the RTL against the synthesized gate-level netlist, or the pre-layout netlist against the post-layout netlist, using Boolean algebra and SAT solvers rather than simulation, providing exhaustive proof of correctness without input vectors.

Why LEC Is Necessary

Every transformation step in the design flow — synthesis, scan insertion, clock tree synthesis, place-and-route optimization, engineering change orders (ECOs) — modifies the netlist. Each modification could introduce a functional error. Simulation cannot exhaustively verify that a 500-million-gate netlist is unchanged because the input space is astronomically large (2^n for n inputs). LEC provides mathematical proof of equivalence in hours instead of the years that exhaustive simulation would require.

How LEC Works

1. Key Point Mapping: The tool identifies corresponding state elements (flip-flops, latches, memories) between the reference (golden) and revised designs. Mapping uses net names, hierarchy, and structural analysis. 2. Combinational Cone Extraction: For each mapped key point pair, the tool extracts the combinational logic cone (all gates between the driving flip-flops and the output flip-flop) from both designs. 3. Boolean Comparison: Each pair of corresponding combinational cones is compared using BDD (Binary Decision Diagram) or SAT (Boolean Satisfiability) solvers. If the Boolean functions are identical for all possible input combinations, the pair is marked "equivalent." If a difference exists, the tool generates a counterexample (a specific input pattern that produces different outputs). 4. Reporting: The tool reports the number of equivalent, non-equivalent, and unmapped points. A fully-passing LEC run shows 100% equivalence with zero non-equivalent or unmapped points.

LEC Checkpoints in the Design Flow

CheckpointReferenceRevisedWhat Changed
Post-SynthesisRTLGate-level netlistLogic synthesis optimization
Post-DFTPre-DFT netlistPost-DFT netlistScan insertion, compression
Post-CTSPre-CTS netlistPost-CTS netlistClock tree buffer insertion
Post-RoutePre-route netlistPost-route netlistBuffer insertion, gate resizing
ECOPre-ECO netlistPost-ECO netlistManual or automated changes

Challenges at Scale

Formal Equivalence Checking is the mathematical guarantee that the design was not corrupted during implementation — providing bit-exact proof that every logic transformation preserved the designer's original functional intent.

formal verification equivalencelogic equivalence checking lecdesign verification formalcombinational equivalencesequential equivalence

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.