rtl-coding

Guide engineers to write clean, synthesizable SystemVerilog RTL code.

2|1|Updated Apr 6, 2026
One-click install
npx skills add https://github.com/tangyangchao578-art/icer_skill_package --skill rtl-coding
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: rtl-coding
Source: https://github.com/tangyangchao578-art/icer_skill_package/tree/main/skills/rtl-coding
Command: npx skills add https://github.com/tangyangchao578-art/icer_skill_package --skill rtl-coding

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a structured approach for engineers to produce clean, synthesizable and maintainable RTL code, reducing debugging time and design risk.

Core Features & Use Cases

  • Comprehensive module skeletons, naming conventions, reset strategies, lint-ready patterns, CDC guidelines, and power-aware coding.
  • Step-by-step workflows for starting new RTL blocks, performing code reviews, and verifying designs.
  • Practical templates and templates that accelerate design, verification, and debugging tasks.

Quick Start

Create a new SystemVerilog module following the RTL coding guidelines and apply the standard skeleton, naming conventions, and lint checks.

Frequently Asked Questions about rtl-coding

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write synthesizable SystemVerilog with proper reset strategies and CDC guidelines?▼

Write synthesizable SystemVerilog by applying consistent reset styles, using non-blocking assignments, and following strict CDC guidelines for cross-domain handling to ensure clean, maintainable RTL code.

What are the best practices for RTL coding to pass lint checks and reduce design risk?▼

Best practices to pass lint checks include enforcing default-case coverage, maintaining consistent reset styles, and ensuring proper cross-domain handling, which directly reduces debugging time and design risk.

How do I structure a new SystemVerilog module skeleton for maintainable RTL development?▼

Structure a new SystemVerilog module by applying standard module skeletons, adhering to naming conventions, and integrating lint-ready patterns alongside power-aware coding templates from the start.

Does this RTL coding approach work for both design and verification workflows?▼

Yes, this approach supports both design and verification by providing step-by-step workflows for starting new blocks, performing code reviews, and verifying designs using practical templates.

Why do I need default-case coverage and power-aware patterns in my HDL design?▼

You need default-case coverage and power-aware patterns in HDL design to optimize power consumption, prevent latch inference, and enforce comprehensive lint checks across the verification process.