Skip to content
Back to skills

Systemverilog

ASecurity

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

  • 248 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added February 10, 2026
developmentdebuggingperformance

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add Mindrally/skills --skill systemverilog --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Systemverilog?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Systemverilog
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mindrally-systemverilog/badge)](https://www.skillsdirectory.com/skills/mindrally-systemverilog)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: systemverilog
description: SystemVerilog development guidelines for FPGA and ASIC design covering modular design, verification, and timing optimization.
---

# 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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…