From a start-up x86 design to GPU drivers, server firmware, multicore SoCs and timing chips, the work has always been finding what fails, and why.
Company names show where the work was done. They do not imply endorsement.
Montalvo Systems · x86 CPU · 2006–2008
Defects found in a brand-new x86 design
Detected a defect in the write-combining buffer's non-temporal instruction handling, and another where several virtual addresses mapped to one physical address under MOVNT instructions. Wrote test suites for all x86 system-level instructions.
AMD · Processor validation · 2012–2013
Microcode debugged on emulation
Validated new ISA instructions and used Cadence Palladium, with save, restore and checkpoints, to debug microcode logic. Found defects in the random test tools and simulator during silicon bring-up.
NVIDIA · GPU software · 2008–2009
GPU channel switching validated
Wrote C++ tests for GPU channel switching, root-caused driver failures with Windows debuggers and gdb, and built overnight regression runs on fast models with emailed reports.
Honeywell · Hard real-time · 2015–2016
Processors characterised for real-time use
Assessed processor behaviour for hard real-time applications, including the feasibility of cache colouring and the effect of system-memory interference across several microprocessors.
Infineon · Post-silicon · 2016–2019
A new way to validate the whole clock tree
Proposed and built a methodology to traverse and validate the complete clock tree, and verified customer-driven clock ratios of the SoC using testbench automation.
Intel · Silicon validation lead · 2021–2025
Regression triage at team scale
Led a team through daily regression monitoring, triage and debug of automation results, reproducing failures for debug, and found a data-inconsistency flagging issue in a validation tool.