Chirag Sakhuja PhD Student Pursuing my PhD in computer architecture under Dr. Calvin Lin

Chirag Sakhuja's Projects

Listed below are some select projects that I've worked on. For additional projects, see my Github.

ARM CPU with value prediction feature image Photo Credit: Andrew Carr

ARM CPU with value prediction

I worked with three team members to design and implement an ARM-based CPU from the ground up and develop a successful form of value prediction. We first designed an in-order pipeline, but eventually moved to an HPS-style out-of-order microarchitecture. After modeling the architecture in SystemC, we implemented the design in structural Verilog with unit- and top-level SystemVerilog testbenches. To aid us with verification and demoes, we also built a wide array of tooling.

Autonomous robot car feature image

Autonomous robot car

Our team of four built an autonomous car that navigates a maze with obstacles and other cars. The car ran on a real-time operating system of our own making that managed two microcontrollers, several sensors, and a set of motors. Our car also won a class-wide race. ECE post.

LC-3 assembler and simulator feature image

LC-3 assembler and simulator

I creating an LC-3 assembler and simulator to revamp the existing set of tools available to students using the Introduction to Computing textbook by Dr. Yale Patt and Dr. Sanjay Patel. The tools run across all major platforms and decouple the backend from the Electron and command line frontends. I specifically designed the tools to cater to students as much as the graders.

Interactive fractal path tracer feature image

Interactive fractal path tracer

With one other team member, I built a CUDA-accelerated path tracer with a free floating camera. The path tracer renders noisy, but recognizable, scenes with primitive shapes and fractals (using the marching rays algorithm) within milliseconds. For simple scenes, it can converge to a noise-free image within seconds, but with difficult lighting conditions it can take minutes.