Project

# Title Team Members TA Documents Sponsor
76 FPGA-based stock market data feed handler
Neel Ghosal
Saksham Jairath
Sara Sehgal
Gerasimos Gerogiannis design_document2.pdf
final_paper1.pdf
proposal1.pdf
video
Problem
Electronic trading systems must process extremely high-rate streams of market data with very low and predictable latency. Software-based feed handlers running on general-purpose CPUs often suffer from nondeterministic delays due to instruction overhead, caching, and operating system scheduling, which can lead to delayed reactions or dropped messages under heavy load. Hardware-based solutions are therefore commonly used in industry to achieve deterministic performance. This project addresses the need for a low-latency, reliable market data processing system.

Solution
We propose an FPGA-based hardware market data feed handler that processes packetized trading updates in real time. The system ingests a continuous byte stream, parses market data messages, maintains per-symbol trading state (top-of-book), and generates low-latency trigger events when predefined conditions are met. By implementing the data path entirely in hardware, the design provides deterministic latency and high throughput, demonstrating the advantages of hardware acceleration for latency-critical trading workloads.

Solution Components
Subsystem 1: Input Interface and Buffering
Receives incoming data via the FPGA’s UART interface and buffers it using a FIFO implemented in block RAM to prevent data loss during bursts.
Components: FPGA UART, BRAM FIFO.

Subsystem 2: Packet Parser
A finite state machine parses incoming bytes into structured market data messages based on a predefined packet format.
Components: SystemVerilog FSM.

Subsystem 3: Trading State Manager
Maintains best bid and best ask prices per symbol and updates state based on incoming messages.
Components: BRAM, comparison logic.

Subsystem 4: Trigger Engine and Output
Evaluates trading conditions and outputs trigger events and system metrics via UART.
Components: Arithmetic/comparison logic, UART transmitter.

Criterion For Success
Correctly parses all valid packets and updates top-of-book state to match a software reference model.
Sustains a target message throughput without data loss.
Produces deterministic, bounded latency from packet reception to trigger generation.
Detects and reports sequence gaps or malformed packets.
Meets FPGA resource and timing constraints.

Automatic Water Bottle Filler

Priyank Jain, Jakub Migus, Abby Mohan

Automatic Water Bottle Filler

Featured Project

# Automatic Water Bottle Filler

Team Members:

- Priyank Jain (priyank3)

- Abby Mohan (ammohan2)

- Jakub Migus (jmigus2)

# Problem

In normal liquid dispensing and water bottle filling systems, the process requires the user’s attention and constant manual activation of the device. This may require the holding of a button, the action of pushing the bottle against a sensor for a specific amount of time, or holding the bottle in front of a sensor until it is full. If the user gets distracted or is unable to provide that attention (blindness or lack of motor function), liquid may spill or the bottle may not be filled enough.

# Solution

Our goal with this project is to make an automatic water bottle filling station. Our device senses when a water bottle is placed underneath it, begins filling the bottle with water once a start button is pressed, determines when the bottle is full and shuts off automatically. After placing the bottle on a platform and pressing a button, the user can walk away knowing their bottle will be filled accurately.

# Solution Components

## Sensing Component

This subsystem utilizes multiple sensors including an ultrasonic sensor to measure the water level and a light-based sensor to determine the height of the bottle.

## Control

This subsystem connects the sensors to the water system. It receives data from the sensors, compares the water level height to the height of the water bottle, then decides to either begin, continue, or stop dispensing water.

## Display/Interface System

An LCD display will show instructions for the user and will display simple messages. A few push buttons will be included for manual filling and selection of desired amount of liquid (ex. Half bottle, full bottle)

## Water System

This subsystem utilizes a water tank attached to a pump and tubing, which transport water to the dispenser.

# Criterion for Success

The device…

- detects a water bottle and accurately measures the height

- monitors the water level in the bottle

- stops filling when a desired water level is reached

If there is no bottle/ the bottle is removed, the device stops filling water.

Project Videos