dv-assertions

Generate SystemVerilog Assertions from testplans and TB data for DV environments.

3|4|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/rajivhasija79-bit/DV-Skills --skill dv-assertions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dv-assertions
Source: https://github.com/rajivhasija79-bit/DV-Skills/tree/main/skills/dv-assertions
Command: npx skills add https://github.com/rajivhasija79-bit/DV-Skills --skill dv-assertions

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

DV teams spend enormous effort hand-writing and coordinating SVA across VIP interfaces, DUT internals, and project-wide checks, leading to delays and inconsistencies.

Core Features & Use Cases

  • Per-VIP assertion modules and protocol support for multiple interfaces
  • DUT bind module and DUT-internal assertion scaffolding
  • Assertion control package and UVM assertion checker for end-to-end visibility
  • Top-level assertion package to simplify integration across tb_top

Quick Start

Run /dv-assertions after providing dv_tb_data.json and testplan to generate all assertion artifacts.

Frequently Asked Questions about dv-assertions

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

FAQPage Schema
How do I auto-generate SystemVerilog Assertions from a testplan for multiple VIP interfaces?

You can auto-generate SVA by providing testplan and TB data files to an automation tool that maps testplan assertions to VIPs and produces per-VIP assertion modules. This approach generates protocol stubs for unsupported protocols and binds the resulting SVA into your testbench top module.

What's the best way to generate SVA bindings for a UVM verification environment?

Generating SVA bindings for a UVM environment is best handled by an automated flow that creates a project bind module and integrates a top-level assertion package. This process binds the generated SVA directly into tb_top and includes a UVM reporter for end-to-end assertion visibility.

Can I generate DUT-internal assertion checks and control them within my existing UVM testbench?

Yes, you can generate DUT-internal assertion scaffolding alongside an assertion control package. This enables you to manage assertion behavior and achieve end-to-end visibility through a UVM assertion checker integrated directly into your existing testbench flow.

How do I handle SVA generation for VIP protocols that are not natively supported by my DV environment?

When generating SVA for unsupported protocols, the automation tool creates auto-generated protocol stubs. This allows the verification flow to proceed by providing the necessary interface placeholders for the per-VIP assertion modules to compile and bind correctly.

What inputs are required to automate SVA generation for end-to-end verification flows?

Automating SVA generation requires a testplan containing the assertion requirements and a dv_tb_data.json file containing testbench data. These inputs are used to map assertions to VIPs, generate protocol stubs, and create the DUT bind module for tb_top integration.

Why does manually coordinating SVA across multiple VIP interfaces cause verification delays?

Manually coordinating SVA across VIP interfaces causes delays and inconsistencies because DV teams must hand-write and match assertions for multiple protocols, DUT internals, and project-wide checks. Automating this generation ensures consistent application across all verification components.