All the links direct to github files or reporsitories

Hardware for ACORN Encryption/Decryption cipher algorithm

  • An implementation of the ACORN authenticated encryption cipher in Verilog. A cryptographic design showcasing hardware security principles.

16-bit Neuron Unit with ReLU Activation

  • The fundamental building block of an artificial neural network, using a 16-bit ReLU activation function. A step toward hardware implementations of machine learning.

AI Powered Solar panel monitor Hardware design

  • This RTL block implements an AI-powered solar panel monitor. It takes the voltage, current, and temperature readings from the solar panel as inputs, and calculates the power and efficiency of the solar panel. The results are then displayed on an external display.

RTL to GDS for a Modified 8-bit Dadda Multiplier using 3:2 Compressors with sky130 PDK and OpenLane

  • A modified Dadda multiplier uses 3:2 compressors to further reduce the speed and improve the efficiency of the design. The multiplier design uses two 8-bit inputs(A and B) to produce a 16-bit output.

Design of Inter Integrated Circuit I2C in Verilog

  • RTL for I2C controller in verilog, passed through OpenLANE flow to generate GDS II

Schematic design of Wallace tree multiplier using SKY130 PDK in eSim]

  • A Wallace multiplier is a digital circuit which multiplies two integers in binary format. It uses half and full adders to sum partial products in stages until two numbers are left.

Logging Fundamental Parameters of Plants with Raspberry-Pi

  • This project is built using Raspberry Pi which acts as a Gardener collecting sensor data and computing accordingly.

Verilog Design Projects

  1. Basic Gates: AND, OR, NAND, NOR, XOR, XNOR [code]
  2. 1-Bit Inverter [code]
  3. Half Adder [code]
  4. Pulse Width Modulation (PWM) [repo]
  5. 8-bit Numerically Controlled Oscillator [repo]
  6. Universal Asynchronous Receiver-Transmitter (UART) Receiver [code]

  7. 16-Bit Binary Adder Tree [code]
  8. 1-Bit Full Adder [code]
  9. Building block for any binary arithmetic operation.
  10. 2:1 Multiplexer
  11. A simple 2:1 MUX, essential for data routing in digital systems.
  12. Cilantro RISC-V Processor [repo] (In Progress)
  13. Focus on hardware implementation of RISC-V with minimalistic architecture.
  14. MIPS Processor [repo] (In Progress)
  15. 16-bit Neuron Unit with ReLU Activation [repo]
  16. Simon 32/64 Cipher [code]
  17. Ripple carry adder testbench [code]
  18. Universal Shift register - DUT, TB
  19. FNN - Example neural network [code], [TB]
  20. High performance ALU [code]
  21. VLSI Design through verilog part 1 [pdf]: 4 X 1 Multiplexer, Full Adder, 4 bit UP/DOWN Counter
  22. VLSI Design through verilog part 2 [pdf]: Verilog code for an ALU, Decoder, 4×2 Multiplexer using 2×1 mux, Parity Checker, Encoder

Schematic and PCB Designs

  1. Digital Gates circuit AND , OR , XOR , Inverter
  2. Half adder circuit [repo]
  3. Full adder circuit [repo]
  4. 555 Timer circuit [repo]
  5. Wallace Tree multiplier circuits 2 bit , 3 bit , 4 bit , 8 bit
  6. Breadboard power supply [repo]
  7. Raspberry Pi FS Hat v01 [repo]
  8. Arduino Battery Powered clone with extended EEPROM and clock [repo]
  9. Op Amp Logarthmic amplifier [repo]
  10. DC to DC converter [repo]
  11. Gouriet clapp capacitive three point oscillator [repo]
  12. Decimal counter [repo]

Hardware Programming

  • Raspberry pi projects
    1. Measuring Soil Moisture using Raspberry Pi [code]
    2. Using Ultrasonic Sensor to Capture Positional Changes of Objects [code]
    3. Intruder Detection Using Pi Camera [code]
  • Getting Started with Arduino
    1. Blinking internal LED of an Arduino UNO [code]
    2. Home automation using NodeMCU [code]
    3. Making a Server Access Point with NodeMCU, commecting it to the Wi-Fi [code]
    4. Creating a Server using NodeMCU [code]

Python and Machine Learning

  • Beginner to Intermediate Programming in Python [notebook]
  • Machine Learning with Python [notebook]
  • Project: House Sale Price Prediction using Linear Regression [Jupyter notebook]

Learning Resources & References

For those new to Verilog or looking for deeper insights.


Get Involved

Feel free to explore the projects, contribute, or ask questions. Your feedback and contributions are always welcome. If you have any queries or want to collaborate on a project, don’t hesitate to reach out!