Loading header...

FPGA Design

An FPGA is not a microcontroller with different syntax. It is a chip full of programmable logic, flip-flops, memories, routing, clock networks, and I/O blocks that you configure into hardware.

This section is now separated like a course: first the FPGA fabric and tool flow, then Verilog HDL, then VHDL, then simulation and validation. That way students do not meet always or process before they understand the hardware those constructs create.

What You'll Learn

  • what programmable logic is and how LUTs implement Boolean functions;
  • the difference between software execution and hardware concurrency;
  • open-source FPGA flows using Yosys, nextpnr, APIO, simulators, and waveform tools;
  • Verilog HDL patterns for combinational and sequential logic;
  • VHDL patterns for combinational and sequential logic;
  • simulation, testbenches, timing constraints, and static timing analysis;
  • finite-state machines, resets, PLLs, clock-domain crossing, RAMs, ROMs, and FIFOs;
  • how to build and validate a small FPGA peripheral system.

Prerequisites

  • Digital electronics: gates, truth tables, flip-flops, counters, and memories.
  • Boolean algebra and binary arithmetic.
  • Basic programming discipline, especially version control and testing.
  • Comfort reading timing diagrams.

Course Map

flowchart TD A["Introduction"] --> B["FPGA fundamentals"] B --> C["Open-source toolchains"] C --> D["Verilog HDL"] C --> E["VHDL"] D --> F["Simulation and validation"] E --> F F --> G["Timing closure and capstone"]

The order matters. Students often jump directly to a board tutorial, see an LED blink, and still do not know what the FPGA actually became. Here we build the mental model first, then the code.

Track What it teaches Start here
FPGA fundamentals Programmable circuits, LUTs, routing, timing, memories, clocks, toolchains What Is an FPGA?
Verilog HDL Modules, ports, combinational logic, sequential logic, FSMs, style Introduction to Verilog HDL
VHDL Entities, architectures, signals, types, processes, FSMs Introduction to VHDL
Simulation and validation Testbenches, Verilator, Icarus Verilog, GHDL, GTKWave, timing exercises Simulation and Testbenches
Ecosystem Common tools Typical learning use
AMD/Xilinx Vivado, Vitis Artix-7, Zynq, larger education boards
Intel/Altera Quartus Prime Cyclone boards and industrial designs
Lattice Radiant, Diamond, open-source flows on some parts Small low-power FPGAs
Open-source Yosys, nextpnr, APIO, Verilator, Icarus Verilog, GHDL, GTKWave transparent learning and CI-friendly experiments

Applications

  • Signal processing
  • Custom hardware acceleration
  • High-speed interfaces
  • Prototyping ASICs
  • glue logic and protocol bridging
  • motor control and deterministic I/O
  • soft processors and teaching CPUs

How to Study This Section

Do not memorize HDL syntax first. For every design, ask:

  • What hardware should exist after synthesis?
  • Which signals are combinational and which are registered?
  • What clock domain owns each register?
  • How will I prove the design behaves correctly before downloading it?
  • What timing requirement must the implementation meet?

That discipline is what separates “code that compiles” from real FPGA engineering.

Safety and Hardware Note

The examples here are low-voltage digital designs for education. Always check your FPGA board manual before connecting external hardware. I/O bank voltage, current limits, configuration mode, oscillator pins, and pin constraints are board-specific.

Start here: What Is an FPGA?.