Jump to Navigation

Installation

The RIFFA distribution available on this site contains the RIFFA source HDL, the RIFFA driver and software bindings, an installation script, and examples for common FPGA development boards. This website and the distribution should help you get started if you're using one of the FPGA boards we've tested. If you're using a different board, you'll need to adapt the setup instructions accordingly.

There are only three steps to get a basic RIFFA design up and running:

Step 1: Program your FPGA with one of the examples

The RIFFA distribution contains programming files for a variety of development boards. We currently provide files for the Xilinx VC707, ML605, and S6-LX150T, and the Altera DE5-Net, DE4 and DE2i.

The Xilinx programming files are located in source/fpga/Xilinx/<dev-board>/ with the extension *.bit.  Program your Xilinx development board using Impact (ISE) or Open a New Hardware Session in Vivado

The Altera programming files are located in source/fpga/Altera/<dev-board>/<project-name>/bit/. The project-name contains information about the dev board, PCIe Generation (1, 2, or 3), PCI width (x1, x4, or x8), and RIFFA interface width (64, or 128). Program your board using the Quartus Programmer.

Step 2: Install RIFFA on your system

Linux

Download the RIFFA distribution. Build and install the kernel driver and C/C++ library by entering the source/driver/linux directory and entering the commands into your terminal:
sudo make setup
make
sudo make install

You'll only need to run make setup once, as this simply attempts to install the Linux kernel headers for your version of the Linux kernel. They won't need updating unless you upgrade your system kernel. Running make (or make debug) will build the driver and C/C++ library. Using the make debug directive will output debug messages in the kernel log. This can be very helpful when you're developing your application. After running make install, you'll want to reboot to let the system find your RIFFA design on the PCIe bus and let the OS load your driver. 

You can install the Java, Python, and MATLAB bindings by following the directions for those binding in their respective directories within the RIFFA 2.0 distribution.
 

Windows:

Download the RIFFA distribution. Install the kernel driver and C/C++ library by running the setup.exe or setup_dbg.exe installer in the source/driver/windows/install directory (the debug installer outputs additional debug messages to the Windows debug framework). After running the installer, reboot to let the system find your RIFFA 2.0 design on the PCIe bus and let the OS load your driver. 

You can install the Java, Python, and Matlab bindings by following the directions for those binding in their respective directories within the RIFFA distribution.

 

Step 3: Create and build a RIFFA design for your FPGA

As described on the architecture page, RIFFA relies on a PCIe Endpoint core to drive the transceivers. If you have a development board that is not covered by one of our guides, let us know. We would be happy to test with a PCIe Endpoint core for that board and add it to the list. However, we have decided not to support older FPGAs with legacy interfaces, such as the Xilinx Virtex 5. If you need Virtex 5 support consider using RIFFA 1.0.



Main menu 2

Page | by Dr. Radut