Creating an FPGA accelerator in 15 minutes

parallella_zynq

The best kept secret of the Parallella board is probably that it includes a very capable FPGA from Xilinx.  Until now, the FPGA has not seen significant use due to the big time investment needed to get started. I have created a small “hello world” toy example targeted for anyone interested in hardware design. The simple design includes a 32 bit adder accessible as a slave component on the ARM AXI bus. For more details, see the presentation and source code below.

Presentation (PDF) 

Code (github)

Shortcut (if you are in a hurry…):


$ git clone https://github.com/parallella/oh
$ ./run.sh accelerator
$ gtkwave waveform.vcd # view waveform

$ emacs src/accelerator/hdl/accelerator.v # "put code here"
$ cd src/accelerator/fpga
$ ./build.sh # build bitstream
$ sudo cp parallella.bit.bin /media/$user/boot # burn bitstream onto SD card on laptop/desktop
$ sync # sync and insert SD card in parallella

Using this example you should be ready to create your own unique Parallella flavored hardware in less than 15 minutes.*  As always, feedback is appreciated.

Cheers!

Andreas

Andreas Olofsson is the founder of Adapteva and the creator of the Epiphany architecture and Parallella open source computing project. Follow Andreas on Twitter


[*] Assumes you have Vivado tools installed. If you don’t have them, you can get them for free HERE.