Projects
From Alkhameripedia, the free encyclopedia
This article covers independent technical projects by Yaseen Alkhameri. For employment, see Yaseen Alkhameri (Career).
Real-Time FPGA Matched-Filter Object Detector
Yaseen built a real-time matched-filter object detector on the Terasic DE1-SoC using a D8M camera input and VGA output. Its Verilog pipeline combines streaming line buffers, matched-filter cores, and hardware cross-correlation against custom template weights generated in Python. VGA debug modes show heatmaps, threshold masks, bounding boxes, and confidence scores; testbenches verify feature extraction, stream delays, scoring, and detection logic.

Compact RISC-V Core (Verilog)
Yaseen designed a compact, synthesizable RV32I-style RISC-V core implemented in Verilog. It includes a program counter, register file, ALU, control unit, and synchronous instruction/data memories targeting Intel M9K BRAMs. He verified functionality with Verilog and C/C++ testbenches in ModelSim and Verilator, then used OpenLane for ASIC synthesis, floorplanning, placement, clock-tree synthesis, routing, and timing closure through GDS II generation.

RV32 Microkernel
Yaseen implemented a minimal but functional RISC-V RV32 microkernel that boots in machine mode on QEMU's virt platform. The kernel includes hand-written entry and trap assembly, timer interrupts, context switching, kernel threads with dedicated stacks, and semaphore-based synchronization. Written in C and RISC-V assembly, it uses a preemptive round-robin scheduler and was booted and debugged with a cross-compiled RV32 toolchain.

Hardware FIFO Design
Yaseen designed a parameterized FIFO in Verilog using dual-port M9K memory blocks on the DE10-Lite FPGA. Read and write modules operated at different clock frequencies to demonstrate clock-domain crossing data transfer. The implementation uses a circular FIFO architecture with full and empty condition detection and was verified through ModelSim simulations and Quartus synthesis results.

Planck ZMK Keyboard Firmware
Yaseen maintains a ZMK configuration for a Planck Rev6 keyboard. The keymap defines default, lower, raise, and mouse layers with media controls, bootloader/reset bindings, scroll controls, and pointer movement. The repository includes a GitHub Actions build matrix for the Planck target and is mostly a fun side project for personal keyboard bindings.
FPGA Dice Game

dExtra Tools - Dex Browser Agent Extensions
Built during AgentHacks with teammates, dExtra Tools extends the Dex browser agent by adding a Working Memory system, a Planning Agent, and a Frontend-WebSocket bridge for selected-text context. The system integrates with an MCP backend and enables deeper, real-time browser interaction for agent workflows. The project won Dex Best Browser Agent at AgentHacks.