Welcome to fpga4fun
Learn FPGAs by building things: hands-on Verilog projects, interfaces and tutorials, from blinking an LED to PCI Express.
Latest
March 2024 Let's go retro and play Breakout.
January 2024 Put Sound Blaster music in your FPGA with the OPL2 demo.
New to FPGAs?
What are FPGAs?How they work, their internal RAM, pins, clocks and configuration.
FPGA softwareDesign entry, simulation, pin assignment, synthesis and place-and-route.
HDL tutorialsLearn Verilog and VHDL, with links to the best tutorials.
Your first designMake an LED glow with ten lines of Verilog.
FPGA projects
Music boxBeeps, sirens and a tune from a single FPGA pin.
LED displaysLED intensity, 7-segment displays, multiplexing and dot matrices.
R/C servosDrive a hobby servo with precise PWM pulses.
Text LCD moduleWrite text on an HD44780 character display.
Quadrature decoderTrack a knob, mouse or motor axis.
PWM and one-bit DACPWM, sigma-delta modulation, and playing MP3s through one pin.
DebouncerClean up a bouncing push-button signal.
Crossing clock domainsSafely move signals, flags and data between clocks.
The art of countingBinary, modulus, Gray and LFSR counters, and the carry chain.
Retro
VGAGenerate a video signal from a few FPGA pins.
Pong gameA bouncing ball and a mouse-controlled paddle.
Breakout gameBricks, ball and paddle, all in hardware.
OPL FM musicRecreate the Sound Blaster's YM3812 synthesizer.
Interfaces
RS-232A serial transmitter and receiver to talk to a PC.
JTAGHow JTAG works, query the chain and run a boundary scan.
I2CA compact I2C slave for FPGAs and CPLDs.
EPPFast, simple PC communication over the parallel port.
SPIAn SPI slave that talks to an ARM microcontroller.
SD cardWire up a micro-SD card and speak its protocol.
PCIA PCI target, a bus logic analyzer and plug-and-play drivers.
PCI ExpressLanes, packets and simple transactions with a Xilinx core.
EthernetSend and receive 10BASE-T packets directly from an FPGA.
HDMIDrive an HDMI monitor with TMDS serializers.
SDRAMFrom static to dynamic memory, with a simple controller.
Advanced
Digital oscilloscopeA 100MSPS scope with triggering, built around a flash ADC.
Graphic LCD panelA video generator with graphics, rotozoom and text.
Direct Digital SynthesisA signal generator with phase accumulator and interpolation.
CNC steppersA multi-axis motion controller for a CNC mill.
Spoc CPU coreA tiny soft processor that fits in a corner of the FPGA.
Hands-on: a simple oscilloscopeBuild a working scope from two small boards.
Electronics and tools
SMD technologyComponent sizes, packages, and how to solder them.
Crystals and oscillatorsClock sources for your FPGA board.
ISE quick-startYour first project with Xilinx ISE.
Quartus quick-startYour first project with Altera Quartus.