Last updated: September 2023.
Featured projects
Workload Characterization of SAT/SMT solvers · Jan–Apr 2023
- Investigated the hardware utilization of SAT/SMT solvers, identifying bottlenecks and hotspots in the various components of a typical computer architecture system using perf.
- Identified optimized computer architectural features to improve runtime and tested them using gem5.
Design of Out-of-Order RISC-V Processor · Sep–Dec 2022
- Designed and implemented a P6-style, 2-way superscalar out of order processor in SystemVerilog, with a 4-way set associative data cache, direct-mapped instruction cache with prefetching, local 2-bit saturating counter branch predictor, and post-retirement store buffer. (RTL and synthesis)
- Automated testing of the processor and validated its correctness.
- Achieved a CPI of 2.68 at a clock period of 8.5ns.
Silicon-on-Insulator (SOI) and Dual Gate Volume Inversion SOI MOSFET Design · Sep–Dec 2022
- Investigated device properties of SOI MOSFETs using Silvaco TCAD simulation.
- Optimized device parameters (device dimensions and doping concentrations) to improve switching speed, channel mobility, and threshold voltage for better performance.
Convolutional Neural Network Accelerator with Logarithmic Computation · Jan–Apr 2022
- Implemented a CNN accelerator based on the Eyeriss v1 architecture (Verilog, synthesis, APR).
- Implemented logarithmic quantization in the processing element to improve area, speed, and efficiency.
Physical Design of RISC-V Processor with Custom Multiply-Accumulate Unit · Sep–Dec 2021
- Physically implemented a 16-bit processor using RISC-V ISA, with most of the modules using custom layout.
- Implemented a custom MAC unit.
- Tested and validated the correctness of the instructions and processor performance.
Capstone project (undergrad)
Design and Implementation of Bidirectional Associative Memory (BAM) Neural Network Using Memristors · Jan–May 2021
- Simulated a circuit realization of a BAM neural network implemented using memristors in Xyce.
- Evaluated the retrieval performance of the network when storing corresponding Braille and Latin patterns.
Featured projects (undergrad)
Thin object segmentation for portraits using deep image matting · March–October 2020
- Completed in association with Samsung R&D Institute, Bangalore under the PRISM program.
- Developed and implemented a deep image matting algorithm that achieved an MSE of 0.028.
- ⭐ Our work was awarded a certificate of excellence.
Smart delivery bot · Winter 2019–20
- This was a project for my course ECE3999: Technical answers to real-world projects.
- ⭐ Our work on this project led to a conference publication, “Autonomous wheeled bot with monocular camera,” presented at VICFCNT 2020.
Smart home automation system · Fall 2019–20
- This project was for the two courses, ECE2010: Control Systems and ECE4003: Embedded System Design.
- Designed and developed a home automation system in which appliances are switched on or off based on certain predefined conditions.
- Implemented Bluetooth and web interfaces for control and monitoring.
- ⭐ It was selected in the top 5 projects of the ECE department.
Isolation of lung sounds from heart sounds using Adaptive Noise Cancellation · Fall 2019–20
- This project was for the course ECE2006: Digital Signal Processing.
- Implemented Adaptive Neuro Fuzzy Inference System (ANFIS) to perform adaptive noise cancellation.
- ⭐ It was selected in the top 5 projects of the ECE department.
All other projects
⚠️ This section is under construction. In the meantime, for a complete listing of projects, please contact me.
Modified Signed Booth Multiplier · Fall 2019–20
- This was an assignment in the form of a mini-project for the course ECE3004: Computer Organization and Architectures.
- Implemented Booth encoder, Booth decoder, and carry look ahead adder modules in structural Verilog to simulate a modified 8×8 signed Booth multiplier.
Wireless Morse Code-based Communication System · Winter 2018–19
- This project was for the course ECE3003: Microcontrollers and their Applications.
- Designed and developed 8051-based simplex wireless communication system.
- Input in the form of Morse code was converted to ASCII and transmitted to LCD.
Circuit solver · Feb 2018
- This was an assignment for the course ECE2001: Network Theory.
- Designed a Python application to solve values of voltage, impedance, and current for the same circuit with different values of components.
- The source code is available at this repository.
Breath analyser · Winter 2017–18
- This was a project for the course ECE1005: Sensors & Instrumentation.
- Designed, implemented, and tested a breathalyzer circuit using the MQ-3 ethanol sensor.
Personal projects
⚠️ This section is under construction. In the meantime, for a complete listing of projects, please contact me.
Personal website and blog theme · Summer 2020
- Designed a performant and accessible theme from scratch for my personal website using Jekyll.
- Tested under different browsers, dark/light modes, and devices.
- Some design notes are documented on these pages:
My Arch Linux setup · March 2019–Present, on and off
- Installed and configured Arch Linux on my personal laptop from scratch.
- Learned about Linux internals and became proficient with the Linux command line.
- I have documented parts of my journey with Arch Linux on my blog. Read here!