fpga-bringup

fpga-bringup is a skill for Claude Code from Midstall/claude-for-hardware. It costs 46 tokens per session (2,654 once invoked), scanned A, original, Apache-2.0.

A bench-testing method for loading a configuration bitstream onto a physical FPGA and checking its inputs and outputs through connections such as JTAG, SPI, or GPIO.

In plain words
What is it for?
It helps load bitstreams, bit-bang JTAG from a host such as a Raspberry Pi, drive hardware test vectors, read pin outputs, and diagnose silent configuration failures.
Why use it?
A reported configuration success may hide wiring, voltage, clock, or pin-mapping problems. Testing the transport first prevents misleading design-level debugging.

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 load bitstreams, bit-bang JTAG from a host such as a Raspberry Pi, drive hardware test vectors, read pin outputs, and diagnose silent configuration failures.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/midstall/claude-for-hardware/fpga-bringup
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-bringup
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-bringup

README.md
[![agentmods](https://agentmods.dev/badge/skills/midstall/claude-for-hardware/fpga-bringup/github.svg)](https://agentmods.dev/skills/midstall/claude-for-hardware/fpga-bringup)
Your own site
<a href="https://agentmods.dev/skills/midstall/claude-for-hardware/fpga-bringup"><img src="https://agentmods.dev/badge/skills/midstall/claude-for-hardware/fpga-bringup/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-bringup

Your own site · 80×15
<a href="https://agentmods.dev/skills/midstall/claude-for-hardware/fpga-bringup"><img src="https://agentmods.dev/badge/skills/midstall/claude-for-hardware/fpga-bringup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,654 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.00046 $0.02654
Opus 5 $0.00023 $0.01327
Sonnet 5 $0.00009 $0.00531
Haiku 4.5 $0.00005 $0.00265

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

Security

Grade A, and why

fpga-bringup 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 10d 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-bringup/SKILL.md · 114 lines

How it starts

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

FPGA Bring-Up

Overview

Bringing up an FPGA on the bench means three things: get the bitstream in over a real transport, drive the design's inputs, and observe its outputs. Most early failures are transport and pin-mapping problems, not logic problems.

Core principle: Bring the transport up first and prove it independently, before you trust anything the design does. A bitstream that "loaded" but didn't is the most expensive hour on the bench.

When to Use

  • Loading a bitstream onto a board over JTAG, SPI, or a custom config chain
  • Bit-banging JTAG from GPIO (Pi-as-host, no FTDI/FT2232)
  • Driving test vectors into pins and reading results back
  • Configuration "succeeds" but the design doesn't run

Bring Up The Transport First

Before any design-level work, prove the link end to end:

  1. Read the IDCODE. Shift the JTAG IDCODE instruction and confirm the value matches the part. If IDCODE is wrong or all-ones/all-zeros, you have a wiring, voltage, or clock problem. Stop here and fix it. Nothing downstream matters yet.
  2. Confirm the IR width. The instruction register width is part-specific and must match the design's TAP. A wrong IR width shifts every instruction into garbage and configuration silently no-ops. Make the IR width a parameter, not a magic constant baked in one place.
  3. Confirm clock and levels. TCK speed, signal voltage, pull directions. Bit-banged GPIO has no buffering; mind the levels and keep TCK slow until the link is proven.

Load The Bitstream

  • Use the part's documented configuration instruction (for example a JTAG CONFIG opcode) to enter config mode, then shift the bitstream.
  • After load, read back a status or DONE indication. Do not assume success from "the shift completed." A clocked-but-ignored shift looks identical to a real one.
  • If load fails intermittently, suspect TCK too fast, marginal levels, or a shared bus contending during config.

Generate The Bitstream At A Safe Clock

Before you blame the bench, confirm the bitstream's configured clock is at or below the design's real Fmax. The PLL output, UART baud divisor, and timer timebase all derive from it. A bitstream configured for 48 MHz on logic that only times at 29 MHz fails with setup violations AND a wrong baud rate, which looks exactly like a wiring or transport fault. Regenerate at a clean integer PLL divide below Fmax. See fpga-synthesis-fit.

Read the full file on GitHub · 114 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. 10d ago First seen · 114 lines · 46 tokens per session scan A 169222308d41

Subscribe to this mod's changes

fpga-bringup is a skill published in the GitHub repository Midstall/claude-for-hardware (20 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 46 tokens to every session and 2,654 once invoked, about $0.0002 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

robotics-testing

Testing strategies, patterns, and tools for robotics software. Use this skill when writing unit tests, integration tests, simulation tests, or hardware-in-the-loop tests for robot systems. Trigger whenever the user mentions testing ROS nodes, pytest with ROS, launchtesting, simulation testing, CI/CD for robotics, test…

arpitg1304/robotics-agent-skills · 110 tokens

tia-testsuite

TIA Portal V21 Test Suite operations. Use for Application Tests with PLCSIM, Style Guide rules, System Tests through OPC UA, import/scope management, execution, and recursive result evaluation.

Czarnak/totally-integrated-claude · 43 tokens

ea-skill

An AI-assisted workflow for developing and testing embedded-device software. Embedded software runs on hardware such as microcontrollers, and the workflow covers project setup, feature work, tests, device programming, debugging, verification, and records.

jzl-maker/EA-SKILL · 200 tokens

unity-ceedling-integration

Use when adding, configuring, or debugging Unity, Ceedling, CMock, or embedded C unit tests, mocks, fixtures, build variants, or CI test runs.

easyzoom/aix-skills · 41 tokens

pylabrobot

Develop and review PyLabRobot lab-automation resources, liquid-handling plans, offline simulations, and supported-device integrations. Use for PyLabRobot protocols or API questions; keep physical execution behind an explicit operator safety gate.

K-Dense-AI/scientific-agent-skills · 49 tokens

offensive-wifi

Wireless / 802.11 attack methodology for red team engagements and wireless security assessments. Covers monitor-mode setup, WPA/WPA2-PSK handshake capture and PMKID attacks, WPA3 SAE downgrade and Dragonblood, WPA-Enterprise (EAP) attacks (MSCHAPv2 cracking, EAP-TLS cert theft, evil-twin RADIUS), Karma / Known Beacons…

SnailSploit/Claude-Red · 183 tokens