Transaction Level Hierarchy Guided and Functional Coverage Driven Deductive Formal Verification
Tobias Strauch
TL;DR
The paper addresses the scalability challenges of functional coverage and assertion verification in complex SoCs by replacing dynamic verification with a deductive formal verification flow. It introduces a transaction-level hierarchy built on PDVL, centered on virtual transactions (VTRs), and a DFV pipeline that compiles PDVL to Gallina for Coq-based proofs, enabling cross-level proof reuse. The key contributions include PDVL language extensions for FC and assertions, a TL-hierarchy framework, a PDVL-to-Gallina compiler (MRPHS), and demonstration of proof reuse across TL levels, along with maintaining compatibility with SVA-based ABV. The work shows practical feasibility through a PDVL-based SoC case study, highlighting stronger system-level verification capabilities and potential efficiency gains via proof reuse and parallelized theorem proving.
Abstract
We demonstrate how dynamic verification (e.g. simulation) can be replaced by deductive formal verification and how to benefit from the advantages of symbolic verification and the reuse of verification proofs. To do this, we swap the well-known module-hierarchy based concept with a transaction-level (TL) based alternative, which still allows us to describe the design as precisely as on RTL. We enhance the aspect-oriented and TL oriented language PDVL to support the definition of functional coverage (FC) and assertions at all levels of a TL-hierarchy. We then show how to use a deductive formal verification (DFV) flow which compiles PDVL code into Gallina code to be used by the Coq theorem prover. It can be argued that FC can be converted into proof obligations and that proving them is equivalent to 100\% coverage. We also demonstrate how lower-level proofs can be reused when verifying aspects at higher-levels of a TL-hierarchy. We argue that the traditional assertion-based verification (ABV) methodology is still supported and SVA can be proven using DFV.
