AIC2021 / AIC2021_TPU_Template

Template for project1 TPU
11 stars 21 forks source link
accelerator matrix-multiplication systolic-arrays tpu

AIC2021 Project1 - TPU

tags: aic2021

Project Description

Design a Tensor Processing Unit(TPU) which has 4x4 Processing elements(PEs) that is capable to calculate (4*K)*(K*4) 8-bit integer matrix muplication. (Where is K is limited by the size of input global buffer)

Project Constraints

  1. Your designs should be written in verilog language.
  2. Your PEs shouldn't more than 4x4, where a 2D systolic array architecture is strictly required in this project.
  3. An 8-bit data length design.
  4. 3KiBytes in total of global buffer size.

Project Deadline

Project directory hierachy

AIC2021_TPU/
    +-- tb/
    |   +-- matmul.py
    |   +-- top_tb.v
    +-- src/
    |   +-- define.v
    |   +-- global_buffer.v
    |   +-- top.v
    |
    Makefile

TOP Simulation Achitecture

Testbench

Prerequisite

Makefile

Global buffer mapping

build/
    +-- matrix_a.bin
    +-- matrix_b.bin
    +-- golden.bin

Grading Scores