System Overview
Math
System Design
Speedup Plot
Chip Planner
Resource Utilization
Speedup Results
Floral Pattern
Ant Pattern
Crooked Pattern

Project information

  • Course: ECE 5760 — FPGA & Hardware Accelerator Design
  • Date: February 9 – February 23, 2026
  • Platform: Intel Altera DE1-SoC
  • Tools: Quartus Prime, ModelSim, Qsys (Platform Designer)
  • Demo: YouTube
  • Report: Lab Report
FPGA Verilog HDL Mandelbrot Parallelization VGA DE1-SoC Fixed Point

Summary

As part of Cornell's FPGA & Hardware Accelerator Design course (ECE 5760), I designed and implemented a parallelized Mandelbrot Set visualizer on an Intel Altera DE1-SoC FPGA. The project demonstrated hardware acceleration for a compute-intensive task: determining per-pixel escape iteration counts for a VGA-resolution rendering of the Mandelbrot set in real time.

How It Works

The Mandelbrot set is the set of complex numbers c for which the iteration z → z² + c remains bounded. For each pixel, the hardware computes this iteration in fixed-point complex arithmetic until it either escapes (magnitude > 2) or hits a maximum iteration count, then maps the result to a color. The key challenge is throughput: a 640×480 display requires 307,200 pixels per frame.

The FPGA solves this with a parallel array of compute units — each handling an independent pixel simultaneously. The number of parallel units is tuned to fit within the DE1-SoC's ALM budget while maximizing frames per second.

Results

The parallelized FPGA implementation achieved a significant speedup over a software reference on the HPS ARM core. Resource utilization and speedup plots are included in the image slider. The design also supported interactive zoom and pan via memory-mapped I/O from the HPS.