smithery/mindrally

systemverilog

SystemVerilog development guidelines for FPGA and ASIC design covering modular design, verification, and timing optimization.

Installation

$ npx skills add smithery/mindrally --skill systemverilog

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/mindrally · top by installs.

npx skills add smithery/mindrally

Browse all from smithery/mindrally

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,630 B
  • docs SUMMARY.md 146 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

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