Shreenidhi V

RTL Design & Verification | Digital IC Design | FPGA → ASIC

Electronics & Communication Engineering student focused on RTL design and functional verification — building hardware accelerators, custom peripheral IPs, and SystemVerilog logic from testbench to Sky130 ASIC tapeout.

Contact

01 / ABOUT

Hardware Acceleration & Digital IC Design

Currently building hardware accelerators and digital IC design flows (Verilog/SystemVerilog Sky130 GDSII).

Deepening expertise in RTL-to-GDSII physical design (synthesis, floorplanning, place-and-route, STA).

Targeting frontend VLSI roles: RTL Design and Design Verification.

LOCATIONBengaluru, India

RTL Design

Synthesizable FSMs, compute accelerators, and bus interfaces in Verilog & SystemVerilog.

Design Verification

Self-checking SystemVerilog testbenches, protocol validation, and golden model co-simulation.

Physical ASIC Flow

Synthesis to GDSII layout using Yosys, OpenROAD, and Sky130 open PDK tooling.

02 / TECH STACK

Tools & Infrastructure

HDLs & Verification

VerilogSystemVerilogGTKWaveIcarus Verilog

EDA Tools & Flows

VivadoYosysOpenROADLibreLaneSky130 PDK

Protocols & Concepts

UARTSPII2CAXI4FSM DesignComputer Architecture

Programming & Platforms

CC++PythonMATLABLinuxGit

03 / FEATURED PROJECTS

Featured Projects & Architectures

RTL / GDSII TAPEOUT01

QVision — Hardware-Accelerated QR Engine

RTL modules — UART receiver, Reed-Solomon ECC decoder, dual-port framebuffer controller with 640×480 @ 60Hz VGA output — for a real-time FPGA-deployed QR decoding pipeline, carried through a complete RTL-to-GDSII flow to a taped-out layout.

VerilogFPGA (Spartan-3)Reed-Solomon ECCLibreLaneSky130VGA
HARDWARE ACCELERATOR02

Streaming Image Processing Accelerator

Pipelined Sobel edge-detection accelerator verified against a Python/OpenCV golden model with zero pixel mismatches across 222,720 pixels. Synthesized to Sky130 HD (79,968 cells), closed timing in OpenROAD at 33MHz with 0.87ns setup slack.

VerilogSystemVerilogYosysOpenROADSky130
PERIPHERAL IP03

UART Controller

Synthesizable, parameterized full-duplex UART controller with configurable baud-rate generation (115,200 baud). Verified with SystemVerilog testbenches, taken through the Vivado implementation flow to a Basys3 FPGA bitstream.

VerilogSystemVerilogIcarus VerilogVivado
INTERCONNECT & BUS04

DMA Controller

Dual-channel AXI4 DMA controller with a self-checking SystemVerilog testbench, built around a full study of the AXI4 protocol's five channels.

SystemVerilogAXI4
FULL-STACK & AI05

Student Enrollment Portal

Full-stack university academic records system with JWT-based auth, student/course/enrollment CRUD, and an AI-powered Academic Advisor chat interface (Llama 3 via Groq) for policy queries. Deployed frontend on Vercel, backend on Render.

React 19TypeScriptViteTailwind CSS v4FastAPISQLAlchemyPostgreSQLJWT AuthGroq (Llama 3)
EMBEDDED AUTOMOTIVE06

Smart Vehicle ECU System

Software simulation of a four-ECU automotive network (Airbag, Obstacle, Anti-Theft, Fuel) over a software-emulated CAN bus with ID-based arbitration. Includes UART/I2C comparison stubs and a 20-case automated test suite driven by Python and CSV vectors; compiles clean under GCC -Wall -Wextra.

Embedded CCAN ProtocolPython (test automation)GCC

CREATIVE LIVE HDL SIMULATOR

Creative RTL & Live Waveform Simulator

caffeine_fsm.v
Synthesizable HDL

Caffeine-to-Verilog Accelerator

Sky130 HD · 250mg Espresso Dose · 400 MHz Overclocked · Zero Bugs

Specialized Hardware Compute Engine converting caffeine molecules into synthesizable Verilog code at 400MHz with zero timing violations.

module caffeine_accelerator #(
  parameter CAFFEINE_DOSE_MG = 250
)(
  input  wire       clk,
  input  wire       rst_n,
  input  wire [7:0] espresso_in,   // Concentration level
  input  wire       start_brewing,
  output reg  [9:0] brain_freq_mhz,
  output reg        bugs_found,
  output reg        synthesis_pass
);

  typedef enum logic [1:0] {
    NO_COFFEE   = 2'b00,
    BREWING     = 2'b01,
    OVERCLOCKED = 2'b10,
    TAPE_OUT    = 2'b11
  } state_t;

  state_t state;

  always @(posedge clk or negedge rst_n) begin
    if (!rst_n) begin
      state <= NO_COFFEE; brain_freq_mhz <= 10'd50;
      bugs_found <= 1'b1; synthesis_pass <= 1'b0;
    end else case (state)
      NO_COFFEE:   if (start_brewing) state <= BREWING;
      BREWING:     begin
                     brain_freq_mhz <= 10'd100;
                     state <= OVERCLOCKED;
                   end
      OVERCLOCKED: begin
                     brain_freq_mhz <= 10'd400; // Overclocked!
                     bugs_found <= 1'b0;        // All bugs annihilated
                     synthesis_pass <= 1 me;
                     state <= TAPE_OUT;
                   end
      TAPE_OUT:    synthesis_pass <= 1'b1;
    endcase
  end
endmodule
Assertions: 100% PassedCLK: Active
Signal Waveform Trace
CYCLE:#0
CLK
RST_N
ESPRESSO_IN[7:0]
[0x00]BUS 0x0
START_BREWING
BRAIN_FREQ[MHz]
[50]BUS 0x0
BUGS_FOUND
SYNTHESIS_PASS
TIMING: CLOSED (+0.87ns)SIMULATION ACTIVE

INTERACTIVE CIRCUIT BUILDER

Digital Logic Gate Sandbox

LOGIC CIRCUIT DIAGRAMAND Gate
INPUT ALOGIC 1
INPUT BLOGIC 0
OUTPUT SIGNAL Y
Y = 1 AND 0 = 0
LOW (0)
Propagation Delay: < 0.1nsSynthesizable Logic
TRUTH TABLEActive State Highlighted
Input AInput BOutput Y
000
010
100
111
Verification State Verified

04 / EDUCATION

Academic Foundation

UNDERGRADUATE DEGREE

B.E. — Electronics & Communication Engineering

Bangalore Institute of Technology, Bengaluru

SPECIALISATION

RTL Design, Functional Verification & Digital IC Architecture

ASIC TOOLING

Sky130 Open PDK, Yosys, OpenROAD & Vivado

05 / CONTACT

Initiate Connection

Bengaluru, India · Open for Hardware & RTL Roles

© Shreenidhi V — RTL Design & Verification