FPGA Projects Portfolio

Hardware Design & Digital Logic

Slow Clock

What it does: Blinks an LED at 1Hz (once per second) by diciding down the FPGA's 100MHz clock to a human visible frequency.

Design Logic: The FPGA's 100MHz clock is too fast for visible LED blinking (100 million cycles/second). Thsi design implements a clock divider using a 26-bit counter that increments on every clock cycle. When the counter reaches 50 million, it resets and toggles the output. Since toggling happens twice per second (at 50M and 100M), the LED blinks at 1 Hz. The 26-bit width was chosed as the minimum size needed to count to 50 million without wasting FPGA resources.

Results: Successfully creates a 1Hz Square wave output.Runs at 100MHz on Basys3 board. Uses minimal resources. This frequency divider pattern is fundamental to many FPGA designs requiring human visible timing.

Verilog Vivado 2025.1 Basys3

RISC-V Soft Processor

A 32-bit RISC-V processor core implementing the RV32I instruction set with a 5-stage pipeline. Features include hazard detection, forwarding, and branch prediction.

Verilog RISC-V Pipelining

8-bit CPU Design

Custom 8-bit CPU with 16 instructions, 256 bytes of RAM, and simple I/O. Includes assembler and example programs demonstrating basic computational tasks.

VHDL Custom ISA Assembler

FFT Accelerator

Hardware implementation of a 1024-point FFT using Cooley-Tukey algorithm. Optimized for throughput with pipelined butterfly units and on-chip memory.

Verilog DSP Fixed-Point

Digital FIR Filter

Configurable FIR filter with adjustable tap count and coefficients. Implemented using systolic array architecture for high-speed audio processing applications.

SystemVerilog Audio DSP Systolic Array

VGA Display Controller

Complete VGA controller with sprite engine, double buffering, and custom graphics primitives. Supports 640x480 resolution at 60Hz refresh rate.

Verilog VGA Graphics

AXI4 Interconnect

Full AXI4 bus implementation with crossbar switch, arbitration logic, and support for multiple masters and slaves. Includes verification testbench.

SystemVerilog AXI4 Bus Protocol