The LibFPGA blog

Practical FPGA design, one problem at a time: FIFOs and clock domains, timing closure, RISC-V soft cores, and the tools that make the hard parts routine.

The first FPGA: how a 1985 chip learned to be any circuit

Picture a single chip that can become almost any digital circuit you ask for. This morning it is a traffic-light controller. This afternoon, with no soldering and no trip back to the chip factory, it is a music synthesizer, then the flight logic for a small satellite, then a tiny computer running its own programs. You never rewire it. You reload it, the way you reload a document on a laptop, except what you are loading is not software. It is the wiring diagram of hardware itself.

Jul 8, 2026 · 18 min read

FPGA vs CPU vs GPU: three ways to compute

Every digital problem can run on a CPU, a GPU, or an FPGA, but the three chips go about it in completely different ways, and the differences are easiest to see if you just look at the silicon. A useful cartoon: a CPU is a few big, chunky blocks, a GPU is thousands of thin, long rectangles, and an FPGA is a sea of tiny blocks with wires running between all of them.

Jul 7, 2026 · 13 min read