AssertionForge: Enhancing Formal Verification Assertion Generation with Structured Representation of Specifications and RTL
Yunsheng Bai, Ghaith Bany Hamad, Syed Suhaib, Haoxing Ren
TL;DR
AssertionForge tackles the challenge of generating correct SVAs from ambiguous natural language specifications by building a unified Knowledge Graph from both specifications and RTL. It introduces a hardware-specific KG construction via GraphRAG, RTL refinement with a PyVerilog-based parser, and a multi-resolution context synthesis pipeline, including GRW-AS guided walks and an LLM-based pruner. The approach yields substantial improvements in SVA quality and coverage across five designs, outperforming specification-only LLM methods and RTL-only baselines. This structured representation enhances formal verification and opens avenues for code generation and deeper design understanding.
Abstract
Generating SystemVerilog Assertions (SVAs) from natural language specifications remains a major challenge in formal verification (FV) due to the inherent ambiguity and incompleteness of specifications. Existing LLM-based approaches, such as AssertLLM, focus on extracting information solely from specification documents, often failing to capture essential internal signal interactions and design details present in the RTL code, leading to incomplete or incorrect assertions. We propose a novel approach that constructs a Knowledge Graph (KG) from both specifications and RTL, using a hardware-specific schema with domain-specific entity and relation types. We create an initial KG from the specification and then systematically fuse it with information extracted from the RTL code, resulting in a unified, comprehensive KG. This combined representation enables a more thorough understanding of the design and allows for a multi-resolution context synthesis process which is designed to extract diverse verification contexts from the KG. Experiments on four designs demonstrate that our method significantly enhances SVA quality over prior methods. This structured representation not only improves FV but also paves the way for future research in tasks like code generation and design understanding.
