tiny-tpu:一款极简版 TPU,重塑 Google TPU V1/V2 架构,开源硬件设计的入门与进阶利器。

• 采用 2×2 起步的 Systolic Array 架构,PE(Processing Element)每周期执行乘加,数据水平流动,部分和垂直传递,权重固定,矩阵旋转与错位预处理确保计算准确。
• 集成 Vector Processing Unit(VPU),实现偏置加法、Leaky ReLU 激活及其导数、均方误差损失等流水线计算,模块选择动态适配计算阶段。
• Unified Buffer(双端口存储)管理输入、权重、偏置、激活值及反向传播所需中间数据,支持多通道读写及转置操作。
• 94 位宽指令集精细控制子模块,直接驱动 TPU 计算流程,支持系统开关、内存读写、数据路径选择及激活函数参数调节。
• 项目自带详尽测试机制及波形查看支持,方便验证设计并观察信号,支持 MacOS/Linux 环境,依赖 cocotb、iverilog、gtkwave 等工具。
• 设计团队无硬件背景,从零摸索构建,旨在降低芯片加速器设计门槛,适合高校、开源社区和硬件爱好者系统学习芯片架构与加速器实现。
 
 
Back to Top