This project's goal is to design fully working FCN accelerator on FPGA using Verilog. We used VIVADO 2020.01ver and VITIS to implement our design. This repository contains major module's code of our full design.
The full activation seqeunce follows
- Store feature and weight in DDR memory.
- Send these data to block ram1 and block ram2 using CDMA, respectivly.
- Send activate signal to FC core in order to proceed FCN calculation.
- store result in blcok ram.
- repeat this procedure until the first layer forward pass is done.
- repeat whole procedure with chaing input to result stored in block ram.
Using VIVADO create an IP using verilog code and create a project to make block desgin of system.
After connecting whole module, Generate bitstream to run code on VITIS.
After connecting board to VITIS build project with PS.c file and run it on board. Then the result will be like blelow.
This result shows that the time usage of our accelerator was much lesser(11.40+13.44+4.71micro seconds) than comparson done on PS region(104.99mircro seconds).
This project is based on matbi's lecture https://www.inflearn.com/users/@aifpga