End to end development of the emoji picker for chat.google.com in 2018 from database schema and server-side handlers to client-side behavior, layout, and animations with unit and integration tests. Design and implementation of a complete development environment and circuit library for self-timed circuits in 2016 with automatic test generation and mixed-signal simulation.
Research into self-timed multiplier architectures, taking advantage of irregular data patterns to yield a variety of high throughput solutions.
Design of tests and test coverage for the power controller of the Haswell architecture in 2012 and low level cache of the Ivytown architecture in 2011. Design and implementation of a static analysis tool to automatically generate tests from coverage reports.
Implemented an array of arithmetic operators that leverage program workload characteristics to double the throughput per transistor and halve the energy per operation compared to industry standard approaches.
Developed a formal synthesis engine for Quasi-Delay Insensitive (QDI) circuits including a simulator, state space elaborator, and state conflict checker for Handshaking Expansions (HSE) along with partial implementations for unique state encoding, and guard strengthening.
Collaborated on the tapeout of the Braindrop chip, and was responsible for the design, verification, and layout of the asynchronous memory.
A rendering engine for large randomly generated planets with smooth level-of-detail transition from space to ground.
A full container library implemented as an educational exercise, implementing generic slices using any container of iterators.
Four small neuron toys that can be connected together to form a simple neural network. Upon firing, a set of LEDs along the axon and dendrites light up in sequence to show a depolarization travel from one neuron to the next.
Managed the interactions between the flight computer and the sensors, keeping track of data formats, data transfer speeds, and sensor health.
VLSI, Digital Logic, Verilog, Spice, Place & Route, Floor Planning, Java, Python, Perl, Matlab, MySQL, E (verification), Git, Slurm, Cadence Virtuoso, Magic VLSI, Blender, 3DS Max, Maya, Compilers, Distributed Systems