본문으로 건너뛰기
cccskills
무료GitHub에 공개

vdoc

Aggregate all per-module documentation into a single comprehensive IP document

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Verilog IP Documenter

Overview

This guide defines the workflow for collecting all documentation generated during the development process and synthesizing it into a single, comprehensive IP-level document.

The input is the IP name. The output is a single Markdown file ./doc/<ip_name>.md covering the full IP.

Step 1 - Collect Documentation Sources

Read the module docs as the primary source — do not also read every _req.md and _proposal.md. The ModuleDocContract guarantees ./doc/<module>.md is complete enough to "instantiate, drive, and reason about the module without reading its RTL," so it already carries the interface and functional content this skill aggregates. Reading the requirement and proposal for every module on top of the doc is redundant and the largest token cost here; pull from them only as a fallback (see the Read priority below).

SourceLocationContentWhen to read
Module docs./doc/<module>.mdPer-module interface and functional descriptionAlways — primary source
Top-level skeleton./rtl/<ip_name>_top.vTop-level ports and inter-module wiringAlways
Library module docs./lib/**/<module>.mdReused library module documentationAlways (for reused modules)
Synthesis report./synth/<ip_name>/synth_report.mdUtilization, Fmax, powerIf present (grep the summary tables, §7)
Proposals./ddoc/<module>_proposal.mdArchitecture, algorithm, timing diagramsFallback only — when the module doc lacks the algorithm/timing detail the Architecture section (§2) needs
Requirements./ddoc/<module>_req.mdOriginal per-module requirementsRarely — only to resolve a contradiction in a module doc

Build a list of all submodules in the IP by walking the instantiation hierarchy from the top-level skeleton, following the shared procedure in .claude/skills/shared/HierarchyFilelist.md (use its grep-based extraction — do not read every RTL file).

Step 2 - Detect and Fill Documentation Gaps

For each submodule in the IP:

  1. Check whether a documentation file exists in ./doc/ or ./lib/.
  2. If documentation is missing, use vexplain to generate it from the RTL source before proceeding.
  3. If a proposal file is missing but the RTL exists, note it as a gap — do not infer architecture that is not documented.

Do not proceed to Step 3 until all submodules have documentation.

Step 3 - Generate IP Document

Create the IP document at ./doc/<ip_name>.md.

Required Sections

1. IP Overview

  • One paragraph describing the IP purpose, target use case, and key features
  • List of all submodules with a one-line description each

2. Architecture

  • Block diagram of the IP showing all submodules and their connections, drawn in mermaid format
  • Source: varch proposal or top-level skeleton

3. Top-Level Port Description

  • Full port table with columns: Name, Direction, Width, Description
  • Source: ./rtl/<ip_name>_top.v

4. Inter-Module Interface Table

  • One table per interface between submodules
  • Columns: Signal Name, Direction (relative to master), Width, Description
  • Source: varch proposal and top-level skeleton wire declarations

5. Submodule Descriptions

For each submodule, include a condensed summary:

  • Purpose (one paragraph)
  • Port table
  • Key functional behavior

Do not copy the full module doc verbatim — summarize to the level useful for IP integration.

6. Integration Guide

  • Instantiation example of the top-level module with all ports connected
  • Parameter descriptions and recommended values
  • Any constraints or requirements for correct operation (clock frequency, reset sequence, interface protocol)

7. Synthesis Results (include only if ./synth/<ip_name>/synth_report.md exists)

Pull all values directly from synth/<ip_name>/synth_report.md. Do not modify or re-interpret the numbers.

Include:

  • Configuration table: target part, clock constraint, synthesis mode, date
  • Resource utilization table: LUT, FF, BRAM, DSP (used / available / %)
  • Timing summary table: clock period, WNS, TNS, Fmax, PASS/FAIL status
  • Power estimate table: Dynamic, Static, Total
  • Synthesis warnings: list notable warnings, or state "None"
  • A note at the bottom: Full synthesis artifacts: synth/<ip_name>/

If the synthesis report is absent, omit this section entirely — do not add a placeholder or note its absence.

Writing Rules

  • Write for an engineer integrating the IP, not for someone implementing it
  • Do not include implementation internals or low-level RTL details
  • Keep submodule summaries concise — link to ./doc/<module>.md for full detail
  • All block diagrams must use mermaid format

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

varch

무료

Decompose an IP requirement into submodules, define interfaces, and generate an architecture document plus per-module requirement files and a top-level skeleton

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phamcuong21478/rtl-skills182026년 6월 10일 업데이트

vdebug

무료

Trace failing signals through the RTL hierarchy, classify root cause, and write a debug report per issue — no fix is proposed

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phamcuong21478/rtl-skills182026년 6월 10일 업데이트

vdesign

무료

Generate a design proposal, documentation, and RTL backbone from a requirement file

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phamcuong21478/rtl-skills182026년 6월 10일 업데이트

vexplain

무료

Generate documentation for any RTL module from Verilog source files

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phamcuong21478/rtl-skills182026년 6월 10일 업데이트

vfill

무료

Implement Verilog code from an approved design proposal, then lint and simulate

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phamcuong21478/rtl-skills182026년 6월 10일 업데이트

vflow

무료

Scan project state to determine phase completion, write flow_status.md, and orchestrate the full RTL design flow from architecture to documentation

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phamcuong21478/rtl-skills182026년 6월 10일 업데이트

phamcuong21478의 스킬 모두 보기

이 스킬의 문제 신고