Working on hardware verification, FPGA Development, ML acceleration, PCB Design & more.
M.S. in Electrical and Computer Engineering from UC Davis. Specializing in Design Verification, FPGA development, Hardware acceleration, PCB design, and System Testing. I love building and verifying digital hardware systems.
Technical Skills
Silicon Verification & Deployment
NASDAQ ITCH 5.0 Hardware Decoder
Engineered a 3-stage byte-serial pipelined NASDAQ ITCH 5.0 hardware decoder in SystemVerilog for high-frequency trading (HFT) applications, streaming market protocol data at a deterministic 1 byte/cycle while eliminating variable-length message alignment overhead. Designed a low-area microarchitecture on a Xilinx Zynq-7020 FPGA by deploying a 3-state length-prediction FSM and a 2-state Mealy FSM parser that multiplexes 8 per-type decoders over a shared broadcast data bus using one-hot valid signaling. Constructed an end-to-end integration testbench and a Python golden reference model validated against 100k real BX messages.
RISC-V UVM Verification Ecosystem
Designed a modular UVM ecosystem for a 32-bit RV32I core enabling directed and constrained-random verification. Developed a Register Abstraction Layer (RAL) with front-door/back-door access and integrated TLM-based transaction flows. Debugged corner-case failures to achieve >98% functional coverage across all instruction groups, increasing test regression throughput by 30%.
32-Bit Pipelined RISC-V Processor on FPGA
Designed and implemented a 32-bit RISC-V processor in Verilog on the Intel DE10-Lite FPGA with a single-issue, in-order 4-stage pipeline. Engineered control-flow recovery and hazard mitigation via a decode-stage branch/jump ALU (1-cycle penalty) and merged MEM+WB forwarding. Integrated a memory-mapped Avalon-MM SoC containing dual-port SRAM, UART, and GPIO peripherals.
Miscellaneous Systems Projects
ML-Based PCB Auto-Routing Pipeline
Implemented and validated an ML-guided PCB auto-routing pipeline utilizing a U-Net segmentation model backed by an integrated A* search algorithm. Adjusted routing parameters across multiple test layouts to perform batch inference testing, resulting in a 5% optimization improvement in baseline trace lengths and total via counts.