This is a final year project, This is a simpile Accelerator Project based on PYNQ-Z1 board. The hardware side of this project was borrowed from CNNIOT which is a generic FPGA based Accelerator to run Convolution Neural Network and provides easy-understading and easy-customized hls code. To the software side, the WebAPP Floder provides a simpile website which has a canvas based drawing board , and I used ajax to send the picture we have drawed via Ethernet, the app.py is a flask webserver which can receive HTTP request and schedule Accelerator.
A simpile video: VideoCast
Based Board: Pynq-Z1, but you can also deploy in any other pynq boards.
For more introduction of the Accelerator Design, you can dive deeply into this project, but for a quick start, you just need Bitstream.tcl and Bitstream.bit and we had provided it under LeNet Floder.
You should ensure your pynq board can connect to the internet, if you have some issues of this topic, maybe this blog will help you. And, execute command below in your shell.
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/LeiWang1999/Pynq-Accelerator
cd Pynq-Accelerator
pip install -r ./requirement.txtgit clone https://github.com/LeiWang1999/Pynq-AcceleratorAnd, you should use make sure that your computer can connect the pynq board, to find the ip address in pynq/linux execute:
ifconfig | grep inet4and to find ipaddress on windows:
ipconfig /allFor my environment, I use Ethernet to connect my board and host computer:
To run this application , you can execute this command:
sudo python3 app.pyTo run this application, open index.html in your browser.
And you should also custom this request url to your pynq board ip, for me the 127.0.0.1 just because I use Vscode RemoteSSH Plugin, and it can automatic forward board ip to localhost. But for you not with vscode, you should change the 127.0.0.1 to your boads ip, like 192.168.2.99.
