sva-assertions

Solid

Specialized skill for creating and debugging SystemVerilog assertions for FPGA verification

AI & Automation 814 stars 53 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
97
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
79
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# SVA Assertions Skill ## Overview Expert skill for SystemVerilog Assertions (SVA) development, enabling formal property specification and verification for FPGA designs. ## Capabilities - Write concurrent and immediate assertions - Create property specifications and sequences - Implement coverage properties (cover property) - Create assume properties for formal verification - Debug assertion failures with cause analysis - Generate assertion bind files - Optimize assertion performance - Integrate assertions with formal tools ## Target Processes - sva-development.js - constrained-random-verification.js - uvm-testbench.js - verilog-systemverilog-design.js ## Usage Guidelines ### Assertion Types - **Immediate Assertions**: Use for procedural checks within always blocks - **Concurrent Assertions**: Use for temporal properties across clock cycles - **Cover Properties**: Use for functional coverage collection - **Assume Properties**: Use for formal verification constraints ### Best Practices - Use `$rose`, `$fell`, `$stable` for edge detection - Apply `disable iff` for reset handling - Use `|->` for overlapping implication, `|=>` for non-overlapping - Create reusable sequences for common patterns - Add meaningful labels to all assertions ### Performance Optimization - Limit sequence length for simulation efficiency - Use local variables in sequences sparingly - Group related assertions in bind files - Consider assertion synthesis for emulation ## Dependencies - SVA parse...

Details

Author
a5c-ai
Repository
a5c-ai/babysitter
Created
4 months ago
Last Updated
today
Language
JavaScript
License
MIT

Related Skills