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.

Latest

CORDIC: trigonometry with nothing but shifts and adds

Here is a claim that sounds impossible: you can compute sine, cosine, arctangent

Jul 16, 2026 · 9 min read

Binary Neural Networks on FPGAs: When a Look-Up Table Becomes the Neuron

Here is a genuinely strange idea: you can build a neural network with no multipliers at all. No floating point, no DSP blocks doing multiply-accumulate, not even integer multiplies. Just XNOR gates and a circuit that counts bits. And on an FPGA the payoff is beautiful, because a single look-up table, the basic atom of the chip, can become a neuron. This is the story of binary neural networks (BNNs), the most FPGA-native corner of AI hardware, and why the match is so good it feels like cheating.

Jul 11, 2026 · 17 min read

FPGA for Beginners (2026): The Complete Step-by-Step Guide to Verilog, Free Tools, and Your First Project

New to FPGAs? You can go from "what even is this chip" to a working, simulated design today, in your browser, without buying any hardware or installing a gigabyte of vendor software. This guide walks you the whole way: what an FPGA is, the free modern toolchain, your first blinking LED, the handful of Verilog ideas that matter, the mistakes that trip up every beginner, and exactly where to go next. No prior experience needed.

Jul 10, 2026 · 25 min read

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

Mealy vs Moore: two ways to build a state machine (and a note on feedback)

Every finite state machine is a small loop: a register holds the current state, some logic decides the next state, and some logic decides the outputs. The only real choice is where the outputs come from, and that single decision is the whole difference between a Moore machine and a Mealy machine.

Jul 7, 2026 · 8 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