Logic Equivalence Check
Logic Equivalence Check
Design
LEC tool Synthesis Conformal
process
Equivalent Equivalent
Yes/No Yes/No
STAGE B Gate level
3
Importance of LEC:
● Design passes through various steps like synthesis, place and route,
sign-offs, ECOs and numerous optimizations before it reaches production. At
every stage, we need to make sure that the logical functionality is intact
and does not break because of any of the automated or manual changes.
● If the functionality changes at any point during the entire process, the
entire chip becomes useless. This is why LEC is one of the most important
checks in the entire chip design process.
4
LEC in ASIC flow:
● After getting the RTL design next step is to go for the gate level
representation by synthesis.
● If it is passed then it goes for place & route then again equivalent checking
check the pre ApR gate level netlist & post ApR netlist for its functionality.
Note: After each and every manual and automated changes LEC takes place to make sure Logic remains same.
5
LEC in ASIC flow:
● Verifies equivalence of design at different stages
of ASIC flow. i,e. After writing an RTL if any
changes are made then LEC takes place to make
sure modified RTL and previous RTL logic is same.
6
LEC process flow:
LEC comprises of three steps-
● Setup Mode
● Mapping Mode
LEC Mode
● Compare Mode
7
Steps for Logic Equivalence Check:
Setup Mode: Tool needs two designs and their associated libraries to perform
LEC. We designate the design types, which are Golden (which is verified, such as
RTL verified from Front-end) and Revised (which is modified).
8
Setup Mode:
● Saving LEC transcript to a log file: Specify the name of the log file where
LEC session transcript is to be written.
9
Setup Mode:
● Reading libraries and designs: All the library files and design files are
defined in this section.
○ Library
■ Verilog (standard simulation libraries), Liberty
10
Setup Mode:
● Specifying design constraints:
○ First of all what are the design constraints?
- User’s inputs to control part of a design’s logic
○ Purpose of constraints:
■ To disable test logic (for example; scan and JTAG)
■ To specify relationships between pins
■ To constrain undriven signals
○ Example of constraints:
■ Pin constraint
■ Instance constraint
■ Pin equivalence
■ Tied signal
■ Undriven signal
11
Design constraints:
● Pin constraints: Specify the mode of circuit operation under which
comparison will take place (for example; functional vs. scan operation).
12
Design constraints:
● Instance constraint: Apply to any internal DFF or D-latch output to Logic-0
or logic-1 (for example; JTAG registers).
13
Design constraints:
● Pin equivalence: Specify the relationship (equivalent or inverted equivalent)
between two or more primary input pins.
14
Design constraints:
● Tied signal: Specify floating nets or pins to be tied to Logic-0 or Logic-1 (for
example; equate GND to 0 or VDD to 1).
15
Design constraints:
● Undriven signals: Specify the global behavior of floating signals in the
designs (for example; ties all floating signals to a constant).
16
Setup Mode:
● Specifying modeling directives: In SETUP mode, user can specify directives
to influence the way LEC models the design.
17
Modeling directives:
● Latch folding: Tool might use 2 D-latches (master/slave) to model a DFF.
Which will create a mapping issue.
18
Modeling directives:
● Gated-clock: Tools create latch-based gated clock circuit instead of using
specified cell, which causes aomparing problem.
19
Modeling directives:
● Latch transparent: Designer’s choice to have a D-latch with its clock always
enabled as a buffer (transparent latch), causes comparing problem.
20
Setup Mode:
● Switching to LEC mode: After defining the black boxes, libraries, designs,
constraints and directives, setup is done. Now we will move to LEC mode for
further operations.
22
LEC mode:
After completing the setup we will check the logic equivalence in between of
our golden and revised design.
● LEC mode:
○ Mapping process
■ Resolving unmapped key points
○ Compare process
■ Debugging non-equivalent key points
23
Mapping process:
Here, we are going to map the key points and as well as resolve the unmapped
key points.
24
Mapping process:
Conformal maps design in few processes.
25
Mapping process:
set mapping method <mapping_option>
26
Mapping process:
Key point Mapping: Pairing corresponding key points PI’s, PO’s, DFFs, D-latches,
black boxes in between Golden and Revised netlists.
● While key points are mapped corresponding logic cones are also correctly
paired.
27
Unmapped key points:
Warning: Key point mapping is incomplete
There could be some unmapped key points while mapping in between Golden
and Revised. There have several types of unmapped points:
Extra: Key point that exists in only the Golden design or in only the Revised
design, but does not affect the circuit functionality. Example: scan_in, scan_out
29
Compare Process:
Compare points are:
● Logic cones
● Primary outputs, DFFs, D-latches, and black boxes
30
Compare Process:
● Corresponding combinational logic cones
● Two designs are equivalent when all corresponding cones are equivalent
compare
31
Compare Process:
● Comparison result: report compare data -class [...]
33
Thank You
34