Last updated: September 2023.

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.

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

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!