System Overview
Wave Equation Math
System Architecture
RTL Diagram
Chip Planner

Project information

  • Course: ECE 5760 — FPGA & Hardware Accelerator Design
  • Date: March 2 – March 23, 2026
  • Platform: Intel Altera DE1-SoC
  • Tools: Quartus Prime, ModelSim, Qsys (Platform Designer)
  • Demo: YouTube
  • Report: Lab Report
FPGA Verilog HDL Wave Equation Audio Synthesis DSP DE1-SoC Fixed Point

Summary

As part of Cornell's FPGA & Hardware Accelerator Design course (ECE 5760), I designed and implemented a hardware drum synthesizer on an Intel Altera DE1-SoC FPGA. The core of the project is a real-time hardware solver for the 2D wave equation — the physical model governing how a drumhead vibrates when struck.

The 2D Wave Equation

A drumhead is modeled as a 2D elastic membrane with fixed boundary conditions. When struck, the membrane displacement u(x, y, t) evolves according to the wave PDE. The hardware solver discretizes this on a grid and iteratively updates each grid point using its neighbors — a computation that maps naturally to FPGA parallelism since adjacent points can be updated simultaneously.

Hardware Architecture

The design uses a pipelined grid update architecture in fixed-point arithmetic:

  • The membrane grid is stored in on-chip M10K block RAM, with dual-port access for simultaneous read of neighbor points
  • A pipelined arithmetic unit computes the wave equation update for each point per clock cycle
  • The center-point displacement is sampled and sent to the I2S DAC for audio output
  • Drum strikes are triggered via pushbuttons on the DE1-SoC, initiating an impulse at a configurable grid location

Leveraging FPGA parallelism allowed real-time audio synthesis — the grid update rate is high enough to produce audio-frequency output through the board's audio codec.