Project guide
25 FPGA Project Ideas That Actually Build Skill
A tiered catalog of FPGA projects — from debounced counters to a RISC-V core — with what each project teaches, how to grade yourself, and how to turn demos into portfolio evidence.
Published · Updated · 11 min read · By the Silicore team
FPGA projects are the fastest way to convert theory into demonstrable skill: they force you through the full loop of design, simulation, constraints, synthesis and on-hardware debug. But the internet is full of project lists that are either trivial (blink an LED) or fantasy (build a GPU). This guide organizes 25 project ideas into three tiers, and for each one states what it actually teaches — so you can pick projects that close your specific gaps.
How to choose (and finish) a project
- Pick for the skill, not the demo. Decide what you need to learn — CDC, memory interfacing, timing closure — and choose a project that forces it.
- Simulate first, always. A project without a testbench is a gamble, not engineering. Waveform screenshots are part of the deliverable.
- Constrain properly. Every project should have a real constraints file: clocks, pins, and I/O standards. Copy-pasting a board template without reading it teaches nothing.
- Document like you would at work. README with block diagram, interface tables, utilization and timing summary. This is what interviewers actually read.
Tier 1 — Foundations (weeks 1–6)
- Debounced button counter on 7-segment display. Teaches: input synchronization, debouncing, display multiplexing — your first taste of real-world signal messiness.
- PWM LED dimmer with breathing effect. Teaches: counters, duty-cycle control, parameterization.
- Stopwatch with lap function. Teaches: clock division done right (enable pulses, not derived clocks), BCD counters, mode FSMs.
- Sequence-detector door lock. Teaches: Moore/Mealy FSM design, the classic interview topic, on real hardware.
- UART transmitter, then receiver. Teaches: baud-rate generation, oversampling, framing — the canonical serial protocol, built from scratch.
- Synchronous FIFO with full/empty flags. Teaches: pointer arithmetic, flag generation corner cases; the single most reused block you will ever write.
- Rotary encoder reader. Teaches: quadrature decoding, edge detection, glitch filtering.
- VGA test-pattern generator. Teaches: precise timing generation (sync pulses, porches), the satisfaction of putting pixels on a monitor.
Tier 2 — Integration (months 2–4)
- UART-controlled register file / command console. Teaches: protocol parsing FSMs, connecting comms to control — the skeleton of every lab instrument.
- SPI master driving a real peripheral (ADC or DAC). Teaches: SPI modes, datasheet reading, timing diagrams against actual silicon.
- I2C master with clock stretching support. Teaches: open-drain thinking, multi-byte transactions, ACK/NACK handling.
- Asynchronous FIFO across two clock domains. Teaches: Gray-code pointers, synchronizers, CDC — the topic that separates intermediate from beginner.
- Digital oscilloscope front-end. Sample an ADC, buffer in block RAM, stream to a PC over UART; plot on any serial plotter. Teaches: sampling pipelines, memory buffering, triggering logic.
- PS/2 keyboard or USB-UART text terminal on VGA. Teaches: multiple protocol blocks cooperating, character ROMs, framebuffers.
- Signal generator (DDS). Direct digital synthesis with phase accumulator and sine lookup table. Teaches: fixed-point arithmetic, ROM inference, frequency resolution math.
- PID motor speed controller. Encoder feedback, PWM output, fixed-point PID. Teaches: control loops in hardware, saturation arithmetic.
- Simple DMA-style data mover between memories. Teaches: address generation, handshakes, burst thinking — a gentle on-ramp to bus protocols.
- AXI4-Lite peripheral (if using Xilinx/Intel SoC parts). Wrap one of your earlier blocks as a memory-mapped peripheral. Teaches: industry bus protocol, address decoding, the IP integration workflow.
Tier 3 — Portfolio flagships (months 4+)
- RISC-V RV32I subset core. The definitive portfolio project. Start single-cycle, then pipeline it. Teaches: ISA decoding, hazards, the vocabulary of every architecture interview.
- Pipelined FFT engine (radix-2, 256–1024 points). Teaches: butterfly datapaths, fixed-point scaling, block RAM ping-pong buffering.
- SDRAM/DDR controller (or disciplined use of a vendor MIG core). Teaches: refresh, timing parameters, why external memory is hard.
- Ethernet packet echo (MII/RMII). Teaches: real networking frames, CRC32, FIFO buffering under back-pressure.
- Camera-to-display pipeline with live filter. OV7670-class sensor in, VGA/HDMI out, convolution filter in between. Teaches: streaming video, line buffers, real throughput budgets.
- Logic analyzer with trigger engine. Capture N channels to BRAM with programmable trigger patterns, dump over UART. Teaches: you can build your own lab tools — employers notice.
- Custom accelerator vs software benchmark. Pick a kernel (matrix multiply, AES round, CRC), implement it in fabric, and benchmark honestly against a soft-core or host CPU. Teaches: the entire hardware-acceleration argument, with numbers.
Grading yourself like a lab instructor
For each project, an honest completion rubric looks like:
| Level | Evidence |
|---|---|
| Simulated | Self-checking testbench passes; waveforms captured for key scenarios |
| Synthesized | Clean synthesis: no inferred latches, no critical warnings; utilization recorded |
| Constrained | Clock and pin constraints written by you; timing report reviewed and met |
| Demonstrated | Working on the board; photo/video; failure modes noted |
| Documented | README with block diagram, interfaces, results — readable by a stranger |
Silicore’s free FPGA Lab Tracker app implements exactly this workflow — experiments, checklists, rubrics and demo readiness — in your browser. And if you want structured guidance from idea to verified behavior, that is what the FPGA Project Studio service is for.