Skip to content

Sam-bot-dev/Tiny-TPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

🧠 Tiny TPU

A Minimal Tensor Processing Unit for Edge AI & Education


📌 Overview

Tiny TPU is a lightweight, open-source Tensor Processing Unit (TPU) built for learning, experimentation, and research.

It demonstrates how AI accelerators perform tensor operations such as matrix multiplication using parallel hardware units — inspired by real-world TPUs but simplified and transparent.

This project is ideal for:

  • Students learning computer architecture
  • AI + hardware enthusiasts
  • Open-source contributors
  • Resume-worthy system-level projects

🚀 Why Tiny TPU?

Big tech companies keep accelerator designs closed.
Tiny TPU opens the black box.

✔ Understand how AI chips work
✔ Combine ML + hardware knowledge
✔ Learn systolic & MAC-based designs
✔ Open-source and beginner-friendly


✨ Features

  • ⚙️ Matrix Multiply Engine (MAC-based)
  • 🧮 Fixed-point arithmetic (8/16-bit)
  • 🔄 Parallel processing units
  • 🧠 AI-oriented dataflow
  • 📦 Modular RTL design
  • 🧪 Fully simulation-ready

🏗 High-Level Architecture

+-------------------+
|   Input Buffer    |
+-------------------+
         |
         v
+-------------------+
| Matrix Multiply   |
| Engine (MACs)     |
+-------------------+
         |
         v
+-------------------+
| Accumulator &     |
| Output Buffer     |
+-------------------+

🛠 Tech Stack

Layer Technology
RTL Design Verilog / SystemVerilog
Simulation Icarus Verilog
Waveform GTKWave
Control FSM-based
Verification Python (optional)

📂 Project Structure

tiny-tpu/
├── rtl/
│ ├── mac_unit.v
│ ├── matrix_engine.v
│ ├── controller.v
│ └── top.v
│
├── testbench/
│ └── tb_top.v
│
├── scripts/
│ └── simulate.sh
│
├── docs/
│ └── architecture.md
│
├── LICENSE
└── README.md

🧪 Getting Started

Prerequisites

  • Icarus Verilog
  • GTKWave
  • Linux / macOS

Clone Repository

git clone https://github.com/Sam-bot-dev/tiny-tpu.git
cd tiny-tpu

📜 License

Licensed under the MIT License — free to use, modify, and distribute.

⭐ Support

If this project helped you learn something new, give it a star ⭐

It helps others discover open hardware projects.

🔗 Connect With Me

Bhavesh
Lead Dev
Bhavesh
🌐 GitHub

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors