Generic Driver - ORKA-HPC/orka-hpc-llp GitHub Wiki

Content of this page: Instructions on how to build and use ORKA-HPC LLP Generic Driver

ORKA-HPC LLP Generic Driver

The ORKA-HPC Generic Driver (orkagd) is a C-library for Host-FPGA communication, designed for flexibility and ease-of-use. It supports multiple hardware configurations including locally installed FPGAs via PCIe, ethernet and USB as well as remote FPGAs via TCP/IP in arbitrary combinations.

How to build

On a shell navigate to the ORKA-HPC LLP root directory and run:
make sw-dep
This will build the depenencies and generate both a shared and a static library (liborkagd.{a,so}) that you may link against.

Installing PCIe Drivers

Host-FPGA communication via PCIe requires the installation of device drivers that run as kernel modules. For convenience we include drivers for Xilinx and Intel FPGAs.

For Xilinx FPGAs please run

make xdma
make install-xdma # needs root privileges

For Intel FPGAs please run

make intel
make install-intel # needs root privileges

How to use

Add sw/orkagd/src to you include directories and link against liborkagd. You may then use orkagd in your application. Library methods are prefixed with ORKAGD_ and declared in liborkagd.h.

Before using any orkagd methods, it must be initialized with ORKAGD_Init().

Examples

We include sample programs that are designed to work with our bitstream generation examples. Please refer to
sw/orkagd/src/mainmini.c and
sw/orkagd/src/mini-intel.c .