varch
FreeDecompose an IP requirement into submodules, define interfaces, and generate an architecture document plus per-module requirement files and a top-level skeleton
The English summary is being prepared. Showing the original description.
Aggregate all per-module documentation into a single comprehensive IP document
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
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.
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).
| Source | Location | Content | When to read |
|---|---|---|---|
| Module docs | ./doc/<module>.md | Per-module interface and functional description | Always — primary source |
| Top-level skeleton | ./rtl/<ip_name>_top.v | Top-level ports and inter-module wiring | Always |
| Library module docs | ./lib/**/<module>.md | Reused library module documentation | Always (for reused modules) |
| Synthesis report | ./synth/<ip_name>/synth_report.md | Utilization, Fmax, power | If present (grep the summary tables, §7) |
| Proposals | ./ddoc/<module>_proposal.md | Architecture, algorithm, timing diagrams | Fallback only — when the module doc lacks the algorithm/timing detail the Architecture section (§2) needs |
| Requirements | ./ddoc/<module>_req.md | Original per-module requirements | Rarely — 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).
For each submodule in the IP:
./doc/ or ./lib/.vexplain to generate it from the RTL source before proceeding.Do not proceed to Step 3 until all submodules have documentation.
Create the IP document at ./doc/<ip_name>.md.
./rtl/<ip_name>_top.vFor each submodule, include a condensed summary:
Do not copy the full module doc verbatim — summarize to the level useful for IP integration.
./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:
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.
./doc/<module>.md for full detailNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Decompose an IP requirement into submodules, define interfaces, and generate an architecture document plus per-module requirement files and a top-level skeleton
The English summary is being prepared. Showing the original description.
Trace failing signals through the RTL hierarchy, classify root cause, and write a debug report per issue — no fix is proposed
The English summary is being prepared. Showing the original description.
Generate a design proposal, documentation, and RTL backbone from a requirement file
The English summary is being prepared. Showing the original description.
Generate documentation for any RTL module from Verilog source files
The English summary is being prepared. Showing the original description.
Implement Verilog code from an approved design proposal, then lint and simulate
The English summary is being prepared. Showing the original description.
Scan project state to determine phase completion, write flow_status.md, and orchestrate the full RTL design flow from architecture to documentation
The English summary is being prepared. Showing the original description.