fpga-led-probe-allocation

Generates FPGA LED probe allocation plans and top-level Verilog templates for board-level verification.

26|8|Updated Jun 13, 2026
One-click install
npx skills add https://github.com/vibeic/vibe-ic --skill fpga-led-probe-allocation-vibeic
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: fpga-led-probe-allocation
Source: https://github.com/vibeic/vibe-ic/tree/main/vibe-ic-marketplace/plugins/vibe-ic/skills/fpga-led-probe-allocation
Command: npx skills add https://github.com/vibeic/vibe-ic --skill fpga-led-probe-allocation-vibeic

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When verifying a chip on a DE10-Lite-class FPGA board with no oscilloscope or SignalTap, the on-board LEDs are the only observability. This Skill removes the guesswork of assigning signals to LEDs by codifying four probe modes and producing a documented top-level template. ## Core Features & Use Cases - Four probe modes: instantaneous, pulse-stretched, sticky, and byte-display, each matched to a signal's timing behavior so a 30 fps webcam can actually capture the state. - Comment-table template: emits a Verilog top module with an LED PROBE TABLE comment mapping each LED to its signal and expected behavior per test stage. - Deterministic lint integration: pairs with fpga_led_probe_lint.py, which flags anti-patterns like instantaneous-on-pulse, mode-mix-without-table, sticky-without-reset-clear, and shared-pin-vs-QSF. - Use Case: A fresh agent must verify a chip on a DE10-Lite using only LEDR[9:0] and a USB webcam; the Skill allocates sticky flags for tx_done and cmd_decoded plus a byte-display column for the last response byte, then validates the result with the lint and compliance gate. ## Quick Start Allocate the ten LEDs on my DE10-Lite board to probe my UART DUT's tx_done, cmd_decoded, and last response byte signals, and generate the FPGA top template with the probe table.

Frequently Asked Questions about fpga-led-probe-allocation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify an FPGA design without an oscilloscope?▼

Use the board's LEDs as probes by allocating signals across four modes: instantaneous for steady states, pulse-stretched for 1-cycle pulses, sticky for event flags, and byte-display for register snapshots. Capture LED states with a webcam and diff before/after images to confirm behavior.

How to make a 1-cycle FPGA pulse visible on an LED?▼

Use the pulse-stretched mode, which extends a 1-cycle pulse to at least 5 ms so a 30 fps camera can catch it. Instantiate a pulse_stretch module between the signal and the LED rather than assigning the pulse directly.

What LED probe mode should I use for a done or valid signal?▼

Handshake signals like done or valid are ambiguous: they may be held levels or pulses. The lint reports them as warnings, not errors, so you must judge from the actual timing whether instantaneous, sticky, or pulse-stretched mode fits.

Does the LED probe lint work without a Quartus QSF file?▼

Yes, the shared-pin-vs-QSF rule is skipped entirely when no --qsf argument is supplied, so absence of the file is never a false failure. The other three structural rules still run on the Verilog top alone.

Why does my sticky LED stay on forever after reset?▼

A sticky latch set to 1'b1 that is never cleared on reset will remain on even if the test never stimulated the signal. The lint's sticky-without-reset-clear rule flags this; add a reset branch clearing the register, either individually or as a group clear.