yuyuranium / FPGA-Project-2022-simple-tpu

Systolic array based simple TPU for CNN on PYNQ-Z2
19 stars 3 forks source link

Could you please tell me which version of Vivado you are using? #12

Open LiBai3121 opened 5 months ago

LiBai3121 commented 5 months ago

Could you please tell me which version of Vivado you are using? Thank you very much

yuyuranium commented 5 months ago

Hello LiBai3121,

We used Vivado v2020.2 in this project. However, I have to sadly inform you that the integration between TPU and ZYNQ Process System in this project is not completed. Also, this project is no longer under active maintenance, as it originally served as the final project for an undergraduate course focused on FPGA development.

If you are interested in the RTL design of the TPU, there is a working verilater testbench available under this branch. As for the convolution neural network, we have a hand-crafted simple CNN model for MNIST dataset in this Jupyter notebook. The model’s weights were pre-trained using Keras and stored as *.npz files. The primary objective of this project was to replace np.dot operation with our hardware acceleration using TPU for matrix-matrix-multiplication (specifically, the mtx_mult_acc function). Unfortunately, we encountered challenges in integrating the driver and managing data movement between the PS and PL.

Best regards,

Yu-Yu

LiBai3121 commented 4 months ago

Thank you for your reply. I've learned a lot from your code.