assertion-design

Community

Executable SVAs for RTL specifications.

AuthorMameMame777
Version1.0.0
Installs0

System Documentation

What problem does it solve?

SystemVerilog Assertions (SVAs) provide a formal, executable specification layer for RTL behavior, but teams often struggle to organize and reuse these properties while keeping them separate from the design. This skill advocates a specification-first approach, enabling precise, RTL-agnostic properties and a clean binding mechanism to DUTs.

Core Features & Use Cases

  • Specification-first design: write properties in SVAs that are RTL-agnostic and attach them via separate assertion modules (bind) rather than embedding in DUT.
  • Clear organization: dedicated locations for timing specs (sim/assertions/spec/), functional assertions (sim/assertions/functional/), and bindings (sim/assertions/bind/).
  • Scenarios: define timing requirements, protocol properties (e.g., AXI/UART), and formal properties for transaction sequences to guide rigorous verification.

Quick Start

  • Set up the directory structure as described above: sim/assertions/spec/, sim/assertions/functional/, sim/assertions/bind/.
  • Create sample files: sim/assertions/spec/uart_timing_spec.sva, sim/assertions/functional/Uart_Tx_Assertions.sv, and sim/assertions/bind/bind_Uart_Tx.sv; compile with ENABLE_ASSERTIONS and verify properties with a bound DUT.

Dependency Matrix

Required Modules

None required

Components

Standard package

💻 Claude Code Installation

Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.

Please help me install this Skill:
Name: assertion-design
Download link: https://github.com/MameMame777/FT4232Hmin/archive/main.zip#assertion-design

Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 223,000+ vetted skills library on demand.