John
L'Amoreaux

Computer Hardware Engineering student at the University of Miami focused on FPGA design, semiconductor research, and low-level systems engineering.
Currently conducting TRNG research at the NanoMagnetoElectronics Lab.

VHDL Verilog FPGA Semiconductor C / C++ Embedded Systems DSP MOKE Magnetometry

01 // about

About Me

I'm a Computer Hardware Engineering student with a deep focus on digital hardware design and semiconductor research. My work spans from RTL design in Verilog and VHDL on real FPGA boards, to hands-on lab research involving optical magnetometry and true random number generation.

At the NanoMagnetoElectronics Lab, I design and operate an automated MOKE (Magneto-Optical Kerr Effect) measurement system, interfacing an SR865A lock-in amplifier with FPGA hardware over RS-232/PyVISA to characterize magnetic thin films. My senior design project — ARIS (Authenticated Randomness Infrastructure Service) — leverages this research to build a cryptographically auditable TRNG.

I'm also active in AI evaluation research, running structured benchmarks across Claude, ChatGPT, and Gemini to assess generative model performance on escalating hardware-engineering task complexity.

Outside of research: IEEE Student Member · Quantum Computing Learning Group · Hackathon Organizer & Planner ·


02 // skills

Technical Skills

HDL / FPGA

VHDL Verilog Quartus Prime Vivado DE1-SoC Nexys 4 DDR ModelSim

Languages

C C++ C# Python SQL ARM Assembly VHDL Verilog

Semiconductor / Lab

MOKE Magnetometry SR865A Lock-In Amplifier Balanced Photodetectors He-Ne Laser Optics PyVISA SMA Fiber Alignment Altium Designer

Digital Design

FSM Design ALU / Datapath Memory-Mapped I/O VGA Controller DSP Filters Timing Analysis

Software / Tools

Git Visual Studio Microsoft SQL Server Valgrind GDB Agile / CI-CD

Concepts

TRNG / Cryptography NIST Test Suite RTL Verification Power Analysis DTMF AI Evaluation

03 // research

Research

ARIS — Authenticated Randomness Infrastructure Service

Senior Design · University of Miami NanoMagnetoElectronics Lab · Ongoing

ARIS is a hardware-based True Random Number Generator (TRNG) that derives entropy from Magneto-Optical Kerr Effect (MOKE) hysteresis measurements of magnetic thin-film samples. The system integrates a Stanford Research SR865A dual-phase lock-in amplifier with FPGA processing to produce cryptographically auditable random bitstreams.

Benchmark_AI — Generative AI Evaluation for Hardware Engineering

Ongoing Collaborative Research · 2025–Present

A structured 4-stage benchmarking study evaluating Claude, ChatGPT, and Gemini on hardware engineering tasks of escalating complexity — from basic RTL generation to multi-module FPGA system design. Evaluation is manual, assessing correctness, code structure, and integration quality.


04 // projects

Projects

Hardware & FPGA

VHDL Etch-A-Sketch
FPGA

Full VGA display system on DE1-SoC FPGA rendering a real-time drawing application at 1280×1024 @ 60 Hz. Implements a 3-state FSM (IDLE→READ→WRITE) with dual-port block RAM frame buffer and read-modify-write memory operations for glitch-free cursor rendering.

Board: DE1-SoC (Cyclone V)
Resolution: 1280×1024 @ 60 Hz
Pixel clock: 108 MHz (PLL-generated)
Frame buffer: ~164 KB (1-bit/pixel)
FSM: IDLE → READ → WRITE
VHDLDE1-SoCVGABlock RAM
4-Bit Adder / Subtractor
Verilog

Ripple-carry adder/subtractor implemented in Verilog on the Nexys 4 DDR Artix-7 board with 7-segment display output, overflow detection, and validated against all 256 input combinations. Power report generated from Vivado.

Board: Nexys 4 DDR (Artix-7)
Dynamic power: 0.090 W
Static power: 0.097 W
Total power: 0.187 W
Tested: 256 input combinations
VerilogArtix-7Vivado7-seg
VHDL Barrel Shifter
FPGA

16-to-32-bit barrel shifter on the DE1 board with 8-bit signed control code, HI/LO reference bit selection, and both sign-preserving and zero-fill shift modes. Implements ripple-carry structure with MUX-based selection and tristate buffers.

Board: DE1 (Cyclone II)
Shift width: 16 → 32-bit output
Control: 8-bit signed code
Modes: sign-preserve / zero-fill
Latency: single clock cycle
VHDLDE1QuartusTristate
BCD Display Driver
VHDL

8-bit binary to 2-digit BCD converter driving a dual 7-segment LED display (range 0–99) with overflow detection logic. Pure combinational design implemented in VHDL.

VHDLBCD7-seg LEDCombinational
VHDL 8-bit Calculator
FPGA

8-bit arithmetic calculator implemented in VHDL supporting add, subtract, multiply, and divide operations with 7-segment display I/O on FPGA hardware.

VHDLALUFPGA7-seg
Digital Signal Processor
In Progress

Multi-project DSP series in VHDL. Project 1 complete: 7-segment hex display decoder (0–F, full behavioral case map). Projects 2–6 target FIR filtering, FFT, and signal analysis pipelines — releasing through April 2026.

VHDLDSPFIRIn Progress

Software

Custom Low-Level I/O Library
C

Complete buffered I/O layer (mio) built in C implementing myopen / myread / mywrite / mygetc / mygets / mygetline / myflush / myclose with configurable buffer sizes, three stream modes, and global STDIN/STDOUT/STDERR wrappers. Zero memory leaks verified with Valgrind. Includes a fully functional ./ls implementation using opendir/stat syscalls.

CSystemsPOSIXValgrind
RPN Calculator (BigInt)
C++

Reverse Polish Notation calculator in C++ with a custom arbitrary-precision integer class using a digit vector. Supports full operator set including compound assignment and factorial, stream I/O, string construction, and O(n) multiply. Tested on 20+ digit operands.

C++BigIntRPNOOP
DTMF Signal Generator
MATLAB

Dual-Tone Multi-Frequency signal generator in MATLAB producing standard telephone keypad tones by summing row and column frequency sinusoids, with spectral analysis and audio output.

MATLABDSPSignal Gen
AI Nim Player
Python

Python implementation of the Nim game with an AI opponent using optimal strategy (Sprague-Grundy / Nim-sum theory). AI plays perfect strategy; human player can choose pile and remove count each turn.

PythonAIGame Theory
Route Mapping
C++

C++ route mapping application implementing graph traversal algorithms for pathfinding. Reads map data, builds adjacency structures, and outputs optimal routes.

C++GraphPathfinding
N-Queens Solver
Python

Backtracking solution to the N-Queens constraint satisfaction problem in Python. Finds all valid queen placements on an N×N board with configurable board size and solution display.

PythonBacktrackingCSP

05 // experience

Experience

Embedded Systems Research Assistant — NanoMagnetoElectronics Lab
University of Miami
Aug 2025 – Present
AI Benchmarking Research Assistant
University of Miami
Jan 2026 – Present
Teaching Assistant — ECE Department
University of Miami
Aug 2024 – Present
Implementation Consultant Intern
Fast Enterprises — Philadelphia, PA
May – Aug 2025

06 // education

Education

B.S. Computer Hardware Engineering
University of Miami
Miami, FL · Expected May 2026
Provost & Dean's List Fall '23 – Spring '25 · Presidential Honor Spring '25 – Fall '25
Coursework: Microcontroller Interfacing, Embedded Systems, Computer Organization & Design, Processors: HW/SW Interfacing, Structured Digital Design, Solid State Electronics I & II, Algorithms
3.88
GPA

07 // contact

Get In Touch

Email
JohnathonRLamoreaux@gmail.com
in
LinkedIn
linkedin.com/in/johnlam12
GitHub
JohnLamLogic
Phone
(305) 742-7386
📍
Location
Miami, FL