├── .gitignore ├── LICENSE.txt ├── README.md ├── doc ├── TPU_ISA.md └── block_diagram ├── getting_started.pdf └── src ├── C ├── access_test.c ├── access_test.h ├── helloworld.c ├── rpc_main.c ├── sd_main.c ├── simple_tpu_test.c ├── simple_tpu_test.h ├── test.c ├── tinyTPU_access.c ├── tinyTPU_access.h ├── type_test.c └── type_test.h ├── COE ├── traffic_address.coe └── traffic_data.coe ├── CSV ├── quantized_sigmoid_signed.csv ├── quantized_sigmoid_signed.m ├── quantized_sigmoid_unsigned.csv └── quantized_sigmoid_unsigned.m ├── python ├── export_input.py ├── export_weights.py ├── mnist_load.py ├── mnist_model.py ├── quantize_weights.py ├── simple_model.py ├── transfer_complete_model.py ├── transfer_input.py ├── transfer_instructions.py └── transfer_weights.py └── vhdl ├── AXI ├── TB_tinyTPU_v1_0_S00_AXI.vhd ├── tinyTPU_v1_0.vhd └── tinyTPU_v1_0_S00_AXI.vhd ├── Activation ├── ACTIVATION.vhdl └── TB_ACTIVATION.vhdl ├── Control_Unit ├── ACC_LOAD_COUNTER.vhdl ├── ACTIVATION_CONTROL.vhdl ├── CONTROL_COORDINATOR.vhdl ├── DSP_COUNTER.vhdl ├── DSP_LOAD_COUNTER.vhdl ├── MATRIX_MULTIPLY_CONTROL.vhdl ├── TB_ACTIVATION_CONTROL.vhdl ├── TB_CONTROL_COORDINATOR.vhdl ├── TB_MATRIX_MULTIPLY_CONTROL.vhdl ├── TB_WEIGHT_CONTROL.vhdl └── WEIGHT_CONTROL.vhdl ├── Instruction_FIFO ├── DIST_RAM.vhdl ├── FIFO.vhdl ├── INSTRUCTION_FIFO.vhdl ├── TB_FIFO.vhdl └── TB_INSTRUCTION_FIFO.vhdl ├── Look_Ahead ├── LOOK_AHEAD_BUFFER.vhdl └── TB_LOOK_AHEAD_BUFFER.vhdl ├── MMU ├── MACC.vhdl ├── MATRIX_MULTIPLY_UNIT.vhdl ├── TB_MACC.vhdl └── TB_MATRIX_MULTIPLY_UNIT.vhdl ├── Register_File ├── REGISTER_FILE.vhdl └── TB_REGISTER_FILE.vhdl ├── Runtime ├── RUNTIME_COUNTER.vhdl └── TB_RUNTIME_COUNTER.vhdl ├── SDS ├── SYSTOLIC_DATA_SETUP.vhdl └── TB_SYSTOLIC_DATA_SETUP.vhdl ├── TB_TPU.vhdl ├── TB_TPU_CORE.vhdl ├── TB_tinyTPU_AXI.vhdl ├── TPU.vhdl ├── TPU_CORE.vhdl ├── TPU_pack.vhdl ├── Unified_Buffer ├── TB_UNIFIED_BUFFER.vhdl └── UNIFIED_BUFFER.vhdl └── Weight_Buffer └── WEIGHT_BUFFER.vhdl /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/README.md -------------------------------------------------------------------------------- /doc/TPU_ISA.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/doc/TPU_ISA.md -------------------------------------------------------------------------------- /doc/block_diagram: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/doc/block_diagram -------------------------------------------------------------------------------- /getting_started.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/getting_started.pdf -------------------------------------------------------------------------------- /src/C/access_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/access_test.c -------------------------------------------------------------------------------- /src/C/access_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/access_test.h -------------------------------------------------------------------------------- /src/C/helloworld.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/helloworld.c -------------------------------------------------------------------------------- /src/C/rpc_main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/rpc_main.c -------------------------------------------------------------------------------- /src/C/sd_main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/sd_main.c -------------------------------------------------------------------------------- /src/C/simple_tpu_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/simple_tpu_test.c -------------------------------------------------------------------------------- /src/C/simple_tpu_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/simple_tpu_test.h -------------------------------------------------------------------------------- /src/C/test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/test.c -------------------------------------------------------------------------------- /src/C/tinyTPU_access.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/tinyTPU_access.c -------------------------------------------------------------------------------- /src/C/tinyTPU_access.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/tinyTPU_access.h -------------------------------------------------------------------------------- /src/C/type_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/type_test.c -------------------------------------------------------------------------------- /src/C/type_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/C/type_test.h -------------------------------------------------------------------------------- /src/COE/traffic_address.coe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/COE/traffic_address.coe -------------------------------------------------------------------------------- /src/COE/traffic_data.coe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/COE/traffic_data.coe -------------------------------------------------------------------------------- /src/CSV/quantized_sigmoid_signed.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/CSV/quantized_sigmoid_signed.csv -------------------------------------------------------------------------------- /src/CSV/quantized_sigmoid_signed.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/CSV/quantized_sigmoid_signed.m -------------------------------------------------------------------------------- /src/CSV/quantized_sigmoid_unsigned.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/CSV/quantized_sigmoid_unsigned.csv -------------------------------------------------------------------------------- /src/CSV/quantized_sigmoid_unsigned.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/CSV/quantized_sigmoid_unsigned.m -------------------------------------------------------------------------------- /src/python/export_input.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/export_input.py -------------------------------------------------------------------------------- /src/python/export_weights.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/export_weights.py -------------------------------------------------------------------------------- /src/python/mnist_load.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/mnist_load.py -------------------------------------------------------------------------------- /src/python/mnist_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/mnist_model.py -------------------------------------------------------------------------------- /src/python/quantize_weights.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/quantize_weights.py -------------------------------------------------------------------------------- /src/python/simple_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/simple_model.py -------------------------------------------------------------------------------- /src/python/transfer_complete_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/transfer_complete_model.py -------------------------------------------------------------------------------- /src/python/transfer_input.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/transfer_input.py -------------------------------------------------------------------------------- /src/python/transfer_instructions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/transfer_instructions.py -------------------------------------------------------------------------------- /src/python/transfer_weights.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/python/transfer_weights.py -------------------------------------------------------------------------------- /src/vhdl/AXI/TB_tinyTPU_v1_0_S00_AXI.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/AXI/TB_tinyTPU_v1_0_S00_AXI.vhd -------------------------------------------------------------------------------- /src/vhdl/AXI/tinyTPU_v1_0.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/AXI/tinyTPU_v1_0.vhd -------------------------------------------------------------------------------- /src/vhdl/AXI/tinyTPU_v1_0_S00_AXI.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/AXI/tinyTPU_v1_0_S00_AXI.vhd -------------------------------------------------------------------------------- /src/vhdl/Activation/ACTIVATION.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Activation/ACTIVATION.vhdl -------------------------------------------------------------------------------- /src/vhdl/Activation/TB_ACTIVATION.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Activation/TB_ACTIVATION.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/ACC_LOAD_COUNTER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/ACC_LOAD_COUNTER.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/ACTIVATION_CONTROL.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/ACTIVATION_CONTROL.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/CONTROL_COORDINATOR.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/CONTROL_COORDINATOR.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/DSP_COUNTER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/DSP_COUNTER.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/DSP_LOAD_COUNTER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/DSP_LOAD_COUNTER.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/MATRIX_MULTIPLY_CONTROL.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/MATRIX_MULTIPLY_CONTROL.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/TB_ACTIVATION_CONTROL.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/TB_ACTIVATION_CONTROL.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/TB_CONTROL_COORDINATOR.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/TB_CONTROL_COORDINATOR.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/TB_MATRIX_MULTIPLY_CONTROL.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/TB_MATRIX_MULTIPLY_CONTROL.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/TB_WEIGHT_CONTROL.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/TB_WEIGHT_CONTROL.vhdl -------------------------------------------------------------------------------- /src/vhdl/Control_Unit/WEIGHT_CONTROL.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Control_Unit/WEIGHT_CONTROL.vhdl -------------------------------------------------------------------------------- /src/vhdl/Instruction_FIFO/DIST_RAM.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Instruction_FIFO/DIST_RAM.vhdl -------------------------------------------------------------------------------- /src/vhdl/Instruction_FIFO/FIFO.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Instruction_FIFO/FIFO.vhdl -------------------------------------------------------------------------------- /src/vhdl/Instruction_FIFO/INSTRUCTION_FIFO.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Instruction_FIFO/INSTRUCTION_FIFO.vhdl -------------------------------------------------------------------------------- /src/vhdl/Instruction_FIFO/TB_FIFO.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Instruction_FIFO/TB_FIFO.vhdl -------------------------------------------------------------------------------- /src/vhdl/Instruction_FIFO/TB_INSTRUCTION_FIFO.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Instruction_FIFO/TB_INSTRUCTION_FIFO.vhdl -------------------------------------------------------------------------------- /src/vhdl/Look_Ahead/LOOK_AHEAD_BUFFER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Look_Ahead/LOOK_AHEAD_BUFFER.vhdl -------------------------------------------------------------------------------- /src/vhdl/Look_Ahead/TB_LOOK_AHEAD_BUFFER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Look_Ahead/TB_LOOK_AHEAD_BUFFER.vhdl -------------------------------------------------------------------------------- /src/vhdl/MMU/MACC.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/MMU/MACC.vhdl -------------------------------------------------------------------------------- /src/vhdl/MMU/MATRIX_MULTIPLY_UNIT.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/MMU/MATRIX_MULTIPLY_UNIT.vhdl -------------------------------------------------------------------------------- /src/vhdl/MMU/TB_MACC.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/MMU/TB_MACC.vhdl -------------------------------------------------------------------------------- /src/vhdl/MMU/TB_MATRIX_MULTIPLY_UNIT.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/MMU/TB_MATRIX_MULTIPLY_UNIT.vhdl -------------------------------------------------------------------------------- /src/vhdl/Register_File/REGISTER_FILE.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Register_File/REGISTER_FILE.vhdl -------------------------------------------------------------------------------- /src/vhdl/Register_File/TB_REGISTER_FILE.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Register_File/TB_REGISTER_FILE.vhdl -------------------------------------------------------------------------------- /src/vhdl/Runtime/RUNTIME_COUNTER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Runtime/RUNTIME_COUNTER.vhdl -------------------------------------------------------------------------------- /src/vhdl/Runtime/TB_RUNTIME_COUNTER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Runtime/TB_RUNTIME_COUNTER.vhdl -------------------------------------------------------------------------------- /src/vhdl/SDS/SYSTOLIC_DATA_SETUP.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/SDS/SYSTOLIC_DATA_SETUP.vhdl -------------------------------------------------------------------------------- /src/vhdl/SDS/TB_SYSTOLIC_DATA_SETUP.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/SDS/TB_SYSTOLIC_DATA_SETUP.vhdl -------------------------------------------------------------------------------- /src/vhdl/TB_TPU.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/TB_TPU.vhdl -------------------------------------------------------------------------------- /src/vhdl/TB_TPU_CORE.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/TB_TPU_CORE.vhdl -------------------------------------------------------------------------------- /src/vhdl/TB_tinyTPU_AXI.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/TB_tinyTPU_AXI.vhdl -------------------------------------------------------------------------------- /src/vhdl/TPU.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/TPU.vhdl -------------------------------------------------------------------------------- /src/vhdl/TPU_CORE.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/TPU_CORE.vhdl -------------------------------------------------------------------------------- /src/vhdl/TPU_pack.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/TPU_pack.vhdl -------------------------------------------------------------------------------- /src/vhdl/Unified_Buffer/TB_UNIFIED_BUFFER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Unified_Buffer/TB_UNIFIED_BUFFER.vhdl -------------------------------------------------------------------------------- /src/vhdl/Unified_Buffer/UNIFIED_BUFFER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Unified_Buffer/UNIFIED_BUFFER.vhdl -------------------------------------------------------------------------------- /src/vhdl/Weight_Buffer/WEIGHT_BUFFER.vhdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jofrfu/tinyTPU/HEAD/src/vhdl/Weight_Buffer/WEIGHT_BUFFER.vhdl --------------------------------------------------------------------------------