What are the different types of Formal Verification?
I know only 2 types :
Logic Equivalence Checking (Checks equivalence between various designs like RTL & Synthesized Netlist or Synthesized Netlist & Post Layout Netlist)
Property Checking / Assertion Based Checking (Checks Functional Correctness of any RTL)
Please let me know, if there are more types of Formal Verification.
Is Model Checking is same as Assertion Based Checking?
You’re correct on all of what you stated.
On formal verification, see
Also, see my recommendations for the book Formal Verification: An Essential Toolkit for Modern VLSI Design 1st Edition by Erik Seligman (Author), Tom Schubert (Author), M V Achutha Kiran Kumar (Author) http://goo.gl/u20Om2
Also, read the reviews at Amazon.
In reply to Karan:
From Model checking - Wikipedia
model checking or property checking refers to the following problem: Given a model of a system, exhaustively and automatically check whether this model meets a given specification.
In reply to Karan:
From Formal verification overview
I believe that there is an implicit understanding that “model checking” means “Model-checking formal verification” done with assertions using an assertion language like PSL or SVA. This would contract to checking a model with simulation, which is then referred to as “simulation verification”
I did a search on “model checking formal verification onespinsolutions” (OneSpin is vendor of formal verification tools).
I also did a search on “model Checking formal verification mentor graphics”
(Mentor is also a vendor of formal verification tools).
They both referred to articles on the Use of Formal Model Checking in SoC Design Verification
Ben Cohen http://www.systemverilog.us/ben@systemverilog.us
SystemVerilog Assertions Handbook 4th Edition, 2016 ISBN 978-1518681448