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.txt
git clone https://github.com/LeiWang1999/Pynq-Accelerator
And, you should use make sure that your computer can connect the pynq board, to find the ip address in pynq/linux execute:
ifconfig | grep inet4
and to find ipaddress on windows:
ipconfig /all
For my environment, I use Ethernet to connect my board and host computer:
To run this application , you can execute this command:
sudo python3 app.py
To 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
.