fpga-synthesis-fit

fpga-synthesis-fit is a skill for Claude Code from Midstall/claude-for-hardware. It costs 65 tokens per session (1,969 once invoked), scanned A, original, Apache-2.0.

A measurement and debugging guide for synthesizing hardware designs written in RTL onto an FPGA, using tools such as Yosys and nextpnr.

In plain words
What is it for?
It helps investigate designs that do not fit or route, measure maximum clock speed and module area, decide whether memories use block RAM, and choose a bring-up clock.
Why use it?
Different tool stages report different resource counts, so optimizing the early estimate can waste time or make the placed design worse. It focuses on the numbers that determine whether the design fits and meets its clock target.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the claude-for-hardware plugin — 14 skills, 3 commands, 3 agents, 1 hook shipped together

Good fit It helps investigate designs that do not fit or route, measure maximum clock speed and module area, decide whether memories use block RAM, and choose a bring-up clock.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/midstall/claude-for-hardware/fpga-synthesis-fit
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Midstall/claude-for-hardware --skill fpga-synthesis-fit
Clone the repo
git clone --depth 1 https://github.com/Midstall/claude-for-hardware

Made for: Claude Code.

Or install claude-for-hardware, the plugin that ships this one along with the rest of its 14 skills, 3 commands, 3 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for fpga-synthesis-fit

README.md
[![agentmods](https://agentmods.dev/badge/skills/midstall/claude-for-hardware/fpga-synthesis-fit/github.svg)](https://agentmods.dev/skills/midstall/claude-for-hardware/fpga-synthesis-fit)
Your own site
<a href="https://agentmods.dev/skills/midstall/claude-for-hardware/fpga-synthesis-fit"><img src="https://agentmods.dev/badge/skills/midstall/claude-for-hardware/fpga-synthesis-fit/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for fpga-synthesis-fit

Your own site · 80×15
<a href="https://agentmods.dev/skills/midstall/claude-for-hardware/fpga-synthesis-fit"><img src="https://agentmods.dev/badge/skills/midstall/claude-for-hardware/fpga-synthesis-fit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 65 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,969 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00065 $0.01969
Opus 5 $0.00032 $0.00984
Sonnet 5 $0.00013 $0.00394
Haiku 4.5 $0.00006 $0.00197

Measured 11d ago against content hash b1857d661130, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

fpga-synthesis-fit scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/fpga-synthesis-fit/SKILL.md · 74 lines

How it starts

The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.

FPGA Synthesis and Fit

Overview

Getting RTL to fit and route on an FPGA is a measurement problem before it is an optimization problem. The tools report several different "area" numbers and most of them lie about what will actually fit. Optimizing against the wrong number burns hours and can make the real result worse.

Core principle: Judge fit and timing by the post-pack, post-place numbers (nextpnr TRELLIS_COMB and the critical-path report), never by the synthesis-stage estimate. Measure with data before you change RTL.

When to Use

  • Synthesizing with yosys + nextpnr (ECP5/prjtrellis or a similar open flow)
  • A design won't fit, or the router thrashes and never converges
  • Measuring Fmax or per-module area
  • Building a ROM/RAM and unsure whether it became block RAM or flops
  • Generating a bring-up bitstream and picking its clock

The Metric Trap: Pre-Pack LUT4 != Post-Pack TRELLIS_COMB

yosys stat after synth_ecp5 reports LUT4, which is pre-pack. nextpnr reports TRELLIS_COMB, which is post-pack (LUT4 plus PFUMX, L6MUX21, and carry packed into slices). These differ, sometimes a lot.

A change that cuts LUT4 can be neutral or worse for TRELLIS_COMB. Replacing a barrel shifter with a mux tree is the classic example: barrel shifters pack densely into carry chains, mux trees spread into PFUMX/L6MUX. Always judge by the nextpnr Device utilisation: TRELLIS_COMB line. An 80% pre-pack can be a 91% post-pack that won't route.

Routing Congestion: Thresholds and Seeds

  • The router thrashes above roughly 85% TRELLIS_COMB. At 89 to 91% it can churn for an hour or two, sometimes never converging. Around 80% routes in minutes.
  • Seeds matter enormously on congested designs. The same netlist that sticks at tens of thousands of overused wires under one seed can converge cleanly to zero under another in half an hour. If a route thrashes, kill it and try other seeds before touching RTL. Watch the "overused" column trend toward zero; that is convergence.
  • 100% BRAM utilization also congests routing (fixed EBR columns, no placement slack). Keep BRAM under about 90% too.

Read the full file on GitHub · 74 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 74 lines · 65 tokens per session scan A b1857d661130

Subscribe to this mod's changes

fpga-synthesis-fit is a skill published in the GitHub repository Midstall/claude-for-hardware (20 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 65 tokens to every session and 1,969 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

tia-doctor

Manual, read-only prerequisite probe for TIA Portal V21 and its modular Openness API, with optional Python TIA Scripting and TIA MCP checks.

Czarnak/totally-integrated-claude · 36 tokens

routeros-mac-telnet

MAC-Telnet protocol (MikroTik Layer-2 terminal/exec over UDP 20561) wire format, session handshake, and MD5 + MTWEI (EC-SRP) authentication. Use when: implementing or debugging a MAC-Telnet client/server, reaching a RouterOS device by MAC address without IP, parsing MAC-Telnet packets, understanding the WinBox-style…

tikoci/routeros-skills · 141 tokens

routeros-syntax-inspection

Inspecting and validating RouterOS command/script syntax against a live device via /console/inspect (highlight, completion, syntax, child) and :parse IL. Use when: validating RouterOS commands before execution, explaining or linting RouterOS scripts, building syntax-aware tooling (LSP servers, validators, agent…

tikoci/routeros-skills · 111 tokens

routeros-sniffer

RouterOS packet capture and TZSP streaming for protocol debugging. Use when: capturing packets on RouterOS, setting up /tool/sniffer, streaming live traffic via TZSP, using firewall mangle action=sniff-tzsp, debugging network protocols on MikroTik, receiving TZSP with Wireshark or tshark, saving pcap files from…

tikoci/routeros-skills · 107 tokens

8051-mcu-debug

Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers, UART, or startup failures.

easyzoom/aix-skills · 41 tokens

cortex-m-debug

Use when debugging Cortex-M microcontrollers, firmware bring-up, SWD/JTAG sessions, faults, startup code, or flashing failures.

easyzoom/aix-skills · 31 tokens