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.
npx skills add Mindrally/skills --skill systemverilog -a claude-codeWhat 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-code2Manually: put the files in place
~/.claude/skills/systemverilog/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/systemverilog/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill systemverilog -a codex2Manually: put the files in place
.agents/skills/systemverilog/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill systemverilog -a cursor2Manually: put the files in place
.cursor/skills/systemverilog/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills systemverilog2Manually: put the files in place
.github/skills/systemverilog/SKILL.md1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill systemverilog -a gemini-cli2Platform CLI
gemini skills install https://github.com/Mindrally/skills --path systemverilogManually: put the files in place
.devin/skills/systemverilog/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Mindrally/skills --skill systemverilog -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
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