Skip to content

SARTHAK-JAIN-ASIC/EE533

Repository files navigation

EE533 – Advanced Computer Architecture Projects

Sarthak Jain
🧠 Master's in Electrical Engineering – Computer Architecture | USC
📧 sarthakj84@gmail.com | LinkedIn | Project Demos (YouTube)


📘 Overview

This repository contains my advanced projects from EE533: Advanced Computer Architecture at the University of Southern California. The coursework emphasized RTL design, simulation, and architectural modeling across CPUs, memory hierarchies, and AI-accelerated systems.

All implementations were built with a strong emphasis on microarchitectural correctness, hardware-software co-design, and performance optimization.


🧩 Projects in This Repo

1. 🔹 AI-Accelerated Network Traffic Classifier

SystemVerilog, Python, NetFPGA, ARM Cortex, DMA

  • Designed and deployed a Neural Processing Unit (NPU) integrated with an ARM-based CPU for live traffic classification
  • Offloaded MLP-based inference from CPU to FPGA, cutting latency by 25% vs. Snort
  • Achieved complete packet capture → DMA → inference → output loop on NetFPGA
  • Evaluated using Wireshark and iperf workloads

2. 🔹 ARMv7-Compatible Pipelined CPU

SystemVerilog, Vivado, Questasim, NetFPGA

  • Designed a 5-stage pipelined ARMv7 CPU with forwarding, hazard detection, and branch prediction
  • Added a custom CAM-based associative cache with LRU replacement policy
  • Timing closure and validation using static timing analysis (STA)
  • Executed real software (e.g., Bubble Sort) to demonstrate functional correctness

4. 🔹 Async FIFO with Internal Low-Latency Buffer

SystemVerilog, VHDL, CDC-safe

  • Built a BRAM-backed dual-clock FIFO with 4×16 internal buffer for burst-mode reads
  • Ensured CDC safety via pointer synchronization and testbench-based metastability checks
  • Latency reduced by ~27% on burst reads

📂 Directory Structure

EE533/ ├──


🛠️ Tools & Platforms Used

  • RTL Design: SystemVerilog, Verilog, VHDL
  • Simulators: Questasim, ModelSim, Vivado
  • Modeling: GEM5, GPGPU-sim
  • FPGA Platforms: NetFPGA (Xilinx Virtex-2 Pro), AMD Artix-7
  • OS/Infra: Ubuntu (WSL), Docker, Python, Wireshark

🧠 Learning Outcomes

  • Gained hands-on understanding of microarchitectural tradeoffs
  • Bridged RTL and software performance measurement (e.g., cycle-level IPC tuning)
  • Deployed AI hardware accelerators for real-world classification problems
  • Explored memory subsystems and bottlenecks in CPU and GPU contexts

📬 Contact

Feel free to reach out for collaborations, research discussions, or questions:


⭐ If you found this repo useful, consider starring it or checking out my GitHub profile for more!

About

This repository is for all the projects I did as research assistant under Prof. Young Cho and class EE533 @usc

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors