hutch31/tv80/synthesize
Claude Code and agent skill by hutch31/tv80
- community
Checking that the SKILL.md file is still in the repository.
Synthesize TV80 RTL using Yosys. Use when: running synthesis, checking area/cell counts, generating netlists, analyzing logic, checking for synthesis warnings or errors, reporting gate-level statistics.
Install
npx vskill@latest install hutch31/tv80/synthesizeSKILL.md
TV80 Synthesis with Yosys
When to Use
- Synthesize the tv80s top-level and its core files
- Check cell counts, flip-flop counts, and logic area
- Generate a synthesized netlist
- Detect synthesis warnings or unresolved references
- Evaluate RTL changes against gate-level results
Environment
- Container:
davidsiaw/yosys-docker:latest - RTL source (original):
rtl/core/(tv80s.v, tv80_core.v, tv80_mcode.v, tv80_alu.v, tv80_reg.v) - RTL source (chisel):
rtl/generated/(Tv80s.sv, Tv80Core.sv, Tv80Mcode.sv, Tv80Alu.sv, Tv80Reg.sv) - Top-level module (original):
tv80s - Top-level module (chisel):
Tv80s - Output:
synth/directory at project root
Procedure
Step 1 – Create output directory
Step 2 – Run Yosys synthesis
Original Verilog core (default):
Chisel-generated core:
This performs the default generic synthesis flow:
- Reads all five core RTL files
- Checks hierarchy starting from
tv80s - Runs
synth(elaboration → coarse → fine → map to generic cells) - Prints cell statistics (
stat) - Writes the synthesized netlist to
synth/tv80s_synth.v
Step 3 – Technology-specific synthesis (optional)
For iCE40 FPGA targets (requires synth_ice40 in yosys):
For iCE40 with Chisel-generated RTL:
For Xilinx/Vivado targets:
For Xilinx/Vivado with Chisel-generated RTL:
Step 4 – Interpret results
Key lines to look for in the stat output:
Number of wires/Number of cells— overall design size$_DFF_/$dff— flip-flop count (≈ state elements in cpu)$_MUX_/$mux— multiplexer count (large in control logic)- Warnings:
Warning: multiple conflicting driversorWarning: found no top module
Step 5 – Check for errors
Any line containing ERROR or Assert failed indicates a synthesis failure. Lines containing Warning should be reviewed — undriven inputs or multi-driver nets may indicate RTL issues.
Notes
- The
TV80DELAYmacro (used in tv80s.v) expands to nothing for synthesis; no special defines needed - If synthesizing Chisel RTL, regenerate first from Scala sources (
sbt "runMain tv80.tv80build") - Do not include testbench or simulation-only files (
verif/) in the synthesis run - The
sd_zmem.vandsd_access64.vfiles inrtl/core/are not part oftv80shierarchy; they are standalone utilities - Output netlist is placed in
synth/which is not version-controlled (add to.gitignoreif needed)
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.github/skills/synthesize/SKILL.md
Popularity
- Repository stars
- 57
- Repository forks
- 11
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 23 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/hutch31/tv80/synthesize)