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.
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.
[*] Assumes you have Vivado tools installed. If you don’t have them, you can get them for free HERE.