formal-verification

Write SystemVerilog assertions for formal verification of RTL control paths.

1|1|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/KishoreDamam/VLSI-agkit --skill formal-verification-kishoredamam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: formal-verification
Source: https://github.com/KishoreDamam/VLSI-agkit/tree/main/.agent/skills/formal-verification
Command: npx skills add https://github.com/KishoreDamam/VLSI-agkit --skill formal-verification-kishoredamam

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Formal verification helps you prove RTL control-path correctness by turning protocol and handshake expectations into assertions that a formal tool can exhaustively analyze.

Core Features & Use Cases

  • SVA authoring for control properties: Create immediate and concurrent SystemVerilog assertions, covers, and assumptions for FSMs, arbiters, FIFOs, and bus interfaces.
  • Handshakes and protocol patterns: Encode stable-valid/ready behavior, ordering, reachability, and exclusivity using property/sequence operators.
  • Formal setup guidance: Structure assumptions and cover points so tools like JasperGold or VC Formal can find counterexamples or prove properties reliably.

Quick Start

Use the formal-verification skill to write SVA properties for your valid/ready handshake and generate assume/assert/cover blocks that include proper reset disabling.

Frequently Asked Questions about formal-verification

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write SystemVerilog assertions for AXI protocol handshakes?

SystemVerilog assertions for AXI protocol handshakes encode stable valid/ready behavior, ordering, and reachability using concurrent SVA constructs, property operators, and sequence operators. You structure these proofs with reset disable conditions to reduce vacuous or phantom failures.

What is formal verification and when do I need SVA for FSM control paths?

Formal verification proves RTL control-path correctness by expressing protocol expectations as SystemVerilog assertions that a formal tool exhaustively analyzes. You need SVA for FSM control paths to discover counterexamples and guarantee properties like exclusivity and state reachability.

How do I structure assumptions and cover properties for formal verification tools?

Structure assumptions to define environment constraints and cover properties to check reachability for formal verification tools. This setup allows tools like JasperGold or VC Formal to reliably find counterexamples or prove properties without hitting vacuous failures.

Does formal verification work with FIFOs and AXI-style interfaces?

Formal verification works with FIFOs and AXI-style interfaces by generating immediate or concurrent SVA constructs. It applies to writing SVA for FSM control paths, arbiters, and bus interfaces, encoding stable-valid/ready behavior and ordering.

Why do my SystemVerilog assertions fail vacuously during formal analysis?

SystemVerilog assertions fail vacuously during formal analysis when reset disable conditions are improperly structured or environment assumptions are missing. Structuring proofs with proper reset disabling and adding assumptions for environment constraints reduces these phantom failures.