Skip to content

Projects

Building a custom softcore to run Doom

Overview

Doomcore will be a custom RISC-V CPU supporting a custom instruction set (RV32doom?) designed to run Doom at full resolution and framerate on a small FPGA (Gowin Tang Nano 20k).

This project will be split into multiple sections as I complete the various components:

Memory Subsystem

Decoding ADS-B on FPGA

View Source Code on GitHub

Overview

This project implements a complete, hardware-based ADS-B receiver pipeline by interfacing a HackRF One directly with a Gowin FPGA.

Standard ADS-B setups perform the signal processing in software. In this project, all of the signal processing occurs in custom digital logic.

By tuning a HackRF One to 1090MHz, the system captures live transponder messages from overhead aircraft. Instead of relying on an SDR application to process these signals, I modified the HackRF's internal CPLD firmware to duplicate and stream the raw I/Q samples directly to an FPGA. The FPGA processes these signals and sends the extracted ADS-B message to my computer via UART.