Skip to main content
skill CX Codex

systemverilog — Claude Code skill for FPGA and ASIC design

A skill that gives your agent SystemVerilog rules for FPGA and ASIC work: modular structure, synchronous design, timing closure and verification.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Mindrally/skills --skill systemverilog -a claude-code
Open on GitHub

What systemverilog does

This skill turns the assistant into a SystemVerilog specialist for FPGA and ASIC projects. It pushes small reusable modules, a top-level that decomposes into sub-modules, interface blocks for connections, and one consistent naming style across the codebase. A separate section covers synchronous design: favoring a single clock domain, handling clock domain crossing when you have several, using synchronous reset over asynchronous, and staying away from combinational loops and latches.

On timing, the skill advises creating XDC constraint files early and reviewing Static Timing Analysis reports as you go, then fixing violations with pipelining or logic optimization. Resource sections deal with LUT, FF and BRAM usage, RAM inference through reg [], and built-in IP cores such as AXI interfaces and DSP blocks. There is also material on power (clock gating, power-aware synthesis) and on verification: self-checking testbenches, assert for property checks, behavioral and post-synthesis simulation, ILA for debugging on hardware.

One thing to keep in mind: this is a set of written guidelines, not a linter or a synthesis tool. Timing reports, XDC files and ILA sessions still happen in your vendor toolchain. The skill just keeps the agent inside those practices while it writes or edits RTL.

What it helps with

  • split a large design into reusable modules
  • set up safe clock domain crossing
  • close timing on a high-frequency design with pipelining
  • cut LUT, FF and BRAM usage
  • write a self-checking testbench with assertions

Example prompts for the agent

  • Break this module into sub-modules with interface blocks and one naming style
  • Check my code for combinational loops and latches, switch to synchronous reset
  • Add pipeline stages to this module to shorten the critical path

How to install systemverilog

1Skills CLI (Vercel)

npx skills add Mindrally/skills --skill systemverilog -a claude-code

2Manually: put the files in place

~/.claude/skills/systemverilog/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/systemverilog/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about systemverilog

How do I install systemverilog in Claude?

Run npx skills add Mindrally/skills --skill systemverilog -a claude-code. The skill file lands at ~/.claude/skills/systemverilog/SKILL.md.

What does the systemverilog skill do?

It feeds the agent SystemVerilog guidelines for FPGA and ASIC design: modular structure, synchronous design, timing closure, resource and power optimization, and verification.

Does the skill run timing analysis or synthesize my design?

No. It shapes how the agent writes and edits RTL. Static Timing Analysis reports, XDC files and ILA debugging stay in your own development environment.

Source text

SKILL.md · Apache-2.0
---
name: systemverilog
description: SystemVerilog development guidelines for FPGA and ASIC design covering modular design, verification, and timing optimization.
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# SystemVerilog Development

You are an expert in SystemVerilog for FPGA and ASIC design, verification, and hardware optimization.

## Modular Design & Code Organization

- Structure designs into small, reusable modules to enhance readability and testability
- Begin with a top-level module and decompose into sub-modules
- Use clear `interface` blocks for module connections
- Maintain consistent coding style and naming conventions

## Synchronous Design Principles

- Prioritize single clock domains for simpler timing analysis
- Implement proper clock domain crossing (CDC) handling for multi-clock designs
- Prefer synchronous over asynchronous reset to ensure predictable behavior
- Avoid combinational loops and latches

## Timing Closure & Constraints

- Establish XDC (Xilinx Design Constraints) files early
- Review Static Timing Analysis reports regularly
- Use timing reports to identify critical path bottlenecks
- Address violations through pipelining or logic optimization
- Deploy pipelining in high-frequency designs to reduce critical path loads

## Resource Utilization & Optimization

- Write efficient code for LUT/FF/BRAM usage
- Use `reg []` for RAM inference
- Minimize unnecessary register usage
- Leverage built-in IP cores (AXI interfaces, DSP blocks, memory controllers)
- Select appropriate optimization priorities (area vs. speed)

## Power Optimization

- Implement clock gating for dynamic power reduction
- Enable power-aware synthesis for low-power applications
- Minimize switching activity in non-critical paths

## Verification & Debugging

### Testbenches
- Develop comprehensive testbenches covering typical and edge cases
- Use `assert` statements for property checking
- Implement self-checking testbenches

### Simulation
- Run behavioral and post-synthesis simulations
- Use Integrated Logic Analyzer (ILA) for real-time debugging
- Apply assertion-based verification to catch protocol violations

## Advanced Techniques

### Clock Domain Crossing
- Apply synchronizers or FIFOs for safe CDC implementation
- Use proper handshaking protocols
- Verify CDC paths thoroughly

### Interface Optimization
- Optimize AXI interfaces for high-throughput with proper burst sizing
- Implement efficient handshaking protocols
- Balance latency and throughput

### Pipelining
- Implement fine-tuned pipeline stages for performance-critical modules
- Balance pipeline depth with latency requirements
- Use retiming for optimization

© Mindrally · Apache-2.0 · Mindrally/skills

Similar skills

All skills for Programming languages →

From the same set168

css This skill hands the agent a set of CSS rules: Flexbox, Grid, custom properties, BEM and specificity control. Useful when AI writes your styles. CX Codex +1 1,200installs modern-web-development A rule set for the modern web stack: TypeScript, Next.js 14, React Server Components, Supabase, GraphQL and Tailwind CSS. Useful when your agent writes frontend and API code in the same repo. CX Codex +1 1,200installs ci-cd-best-practices Provides guidelines for automated pipelines, testing workflows, and zero-downtime deployment patterns. Works with assistants supporting pipeline generation and DevOps tasks. CX Codex +1 1,200installs selenium-automation A skill that steers your coding agent toward solid Selenium WebDriver tests: Page Object Model, explicit waits, stable locators. CX Codex +1 1,200installs fpga SystemVerilog and Vivado hardware design guidelines covering timing closure, AXI interfaces, resource savings, and testbench verification. CX Codex +1 1,100installs php-development This skill makes your coding agent write PHP 8+ the disciplined way: SOLID, PSR-12, strict types, PHPUnit tests. Useful once a PHP codebase outgrows one person's habits. CX Codex +1 1,100installs gitlab-workflow Adds GitLab practices to coding assistants, covering merge request guidelines and multi-stage .gitlab-ci.yml pipelines. CX Codex +1 1,100installs ux-design A skill that hands your coding agent a set of UX rules, from user research to accessibility and responsive layout. Useful when you design or review an interface. CX Codex +1 1,100installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor