Skip to content
View RakshithSuresh2001's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report RakshithSuresh2001

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
RakshithSuresh2001/README.md

📌Featured Projects

Custom ISA accelerator

RV32I pipeline with custom RISC-V ISA extension (MLOAD/MMUL/MSTORE) offloading 8x8 matrix multiply to a weight-stationary systolic array over AXI-Lite. 27/27 tests passing, ASAP7 7nm PD: 11,562 cells, 1,515 µm², 756MHz.

Screenshot 2026-06-11 183453 Screenshot 2026-06-11 173309

2 Warp SIMT GPU Core — RTL to GDS

2-warp, 8-lane SIMT execution engine in RV32I. Round-robin warp scheduler with load stall detection, per-lane register files, and 8-bank scratchpad memory. Verified with a directed testbench (34/34 passing) and Spike ISS co-simulation across all 8 lanes.

Full RTL-to-GDS on ASAP7 via OpenROAD: 663 cells, 2,862.66 µm² core area, 500 MHz, 0 DRC violations. 8x fakeram7_256x32 SRAM macros visible on the right (2,808.96 µm², ~98% of die area), standard cell logic on the left (~54 µm²).

Screenshot 2026-06-20 212816

PicoRISCV-SoC — RISC-V SoC with ML Accelerator

PicoRV32 (RV32IM) CPU integrated with an 8x8 weight-stationary systolic array over AXI-Lite MMIO and a 4-wire SPI slave interface (390 to 4 pins).

Full RTL-to-GDS on ASAP7 via OpenROAD: 47,051 cells, 5,431 µm², 500 MHz, 0 DRC violations. IRQ feedback from accelerator to CPU on computation complete.

Screenshot 2026-05-23 144441

Systolic Array Accelerator — RTL to GDS

8x8 weight-stationary systolic array, INT8 weights, INT32 accumulators. Full OpenROAD flow on two nodes:

image Screenshot 2026-05-22 233913 Screenshot 2026-05-22 234125

10x frequency, 67.1x area reduction across nodes. Submitted to ChipFoundry CI2609 shuttle via Caravel wrapper.

UVM-Style Systolic Array Testbench

Structured SystemVerilog testbench for the 8x8 systolic array, built without a UVM library to run cleanly under Verilator 5.020. Per-PE scheduled checks using a timing model, constrained random stimulus, and 5 SVA properties checking protocol correctness every clock cycle.

1,337 functional checks, zero failures across 5 random seeds 15/15 functional coverage bins closed Resolved a Verilator --timing coroutine limitation where post-NBA signal values are invisible inside tasks by moving psum checks into a dedicated always block

Screenshot 2026-05-29 215116 Screenshot 2026-05-29 215106

RV32I 5-Stage Pipelined CPU

Full RV32I pipeline in SystemVerilog with forwarding, load-use stall detection, branch resolution, and a 2-bit saturating counter branch predictor. 27/27 directed tests passing across ALU ops, RAW hazard chains, load-use hazards, branches, JAL, LUI, and SLTU.

Reran the testbench under Synopsys VCS: 26/27 checks passed identically to Verilator.

Screenshot 2026-06-29 114313 Screenshot 2026-06-29 115008

ML-Based Physical Design Automation

Random Forest regression model predicting post-synthesis PPA from RTL features, achieving 92% accuracy. Automated via Python and TCL scripts integrated into the OpenROAD flow, cutting manual iteration cycles by 40%.

pdn_heatmap

📧 rakshithsuresh2001@gmail.com

Pinned Loading

  1. Systolic-Array Systolic-Array Public

    Built an 8×8 systolic array in SystemVerilog which is the architecture behind Google's TPU. The idea is simple but the implementation is interesting: instead of repeatedly fetching weights from mem…

    SystemVerilog 7 1

  2. uvm_systolic uvm_systolic Public

    SystemVerilog UVM-style testbench for an 8x8 weight-stationary systolic array, 1337/1337 checks, 15/15 coverage bins, 5 SVA properties under Verilator 5.020

    C++ 1 1

  3. multi-warp-gpu multi-warp-gpu Public

    2-warp, 8-lane SIMT GPU core in RV32I with a round-robin warp scheduler, per-lane register files, and scratchpad memory, verified with a directed testbench (34/34 passing) and Spike ISS co-simulati…

    C++ 8

  4. custom-isa-accel custom-isa-accel Public

    A 5-stage RV32I pipeline extended with three custom RISC-V instructions (MLOAD, MMUL, MSTORE) that offload 8x8 matrix multiply to a weight-stationary systolic array accelerator over AXI-Lite, verif…

    SystemVerilog 2 1

  5. pcie-tlp-verif pcie-tlp-verif Public

    PCIe Transaction Layer verification environment: constrained-random TLP generator, six-pool credit tracker, independent parser, and 5 SVA-style protocol properties. 500 iterations, 1,233 checks, 0 …

    SystemVerilog 1

  6. riscv-pipeline-cpu riscv-pipeline-cpu Public

    RV32I 5-stage pipeline CPU in SystemVerilog — full forwarding, load-use hazard, 2-bit branch.

    IL Assembly 1