How-To Configure the Xilinx FPGA Design Suite 13.3 Under RHEL/CentOS 6.x & Fedora 15

Initial Install

The Xilinx Integrated Software Environment (ISE) 13.3 is the first version that is supported by Xilinx to run under RHEL/CentOS 6.x.   We’ll now step through how-to configure the Xilinx FPGA design suite.

If you have purchased a Xilinx development kit like the SP605, the software should be on a DVD in the kit. However, it’s usually not the “latest & greatest”. To get the most recent version, go-to the Xilinx homepage and navigate to support=>downloads at:

in your browser. Download the “Full Installer for Linux”; It’s 5GB; you’ll need at least 20GB more free-space to complete the install.

At this point, you’ll need to either sign-in to download the file, or create an account if you don’t already have one.

Once the tar file has been downloaded, don’t forget to verify it using:

md5sum Xilinx_ISE_DS_Lin_13.3_O.76xd.1.0.tar

The sum should match the one displayed on the Xilinx download page (370cda774748d959aec21b2732c919ee in this case).

Extract the contents from the .tar file:

tar xvf Xilinx_ISE_DS_Lin_13.3_O.76xd.1.0.tar

You’ll need another 5GB of disk space for this step.

At this point you might read the install and licensing guide located at:

if this is the first install for you. Xilinx has lots of great on-line documentation.

To perform the initial Install; you’ll need to either be root, or have write-access to the install directory. In my case, I simply created the directory /opt/Xilinx as owned by myself (the default install location). You’ll need yet another 15GB of free space for this step:

cd Xilinx_ISE_DS_Lin_13.3_O.76xd.1.0

Then read/agree to the terms, and select the edition to install. The System Edition contains the everything but the SDK, which we’ll have to install separately later. Once the hardware is defined, the SDK may be the only package needed for other developers (compiling “C/C++” code for MicroBlaze soft-core processors


At this point, if you have no existing licenses, you can either get an evaluation license, or, as in my case, redeem a voucher that came with the development system by navigating to:

and redeeming the voucher for the EDK license, then download the Xilinx.lic file to your local computer and install it (in ~/.Xilinx/Xilinx.lic). See:

as referenced above.


Here’s where there are a few twists. If you purchased an evaluation board, the above two steps (install, licensing) should also be covered in the included documentation. In the /opt/Xilinx/13.3/ISE_DS directory are the settings files that need to be “sourced” before running the Xilinx design tools. The $DISPLAY environment variable needs to be set first:

export DISPLAY=:0

See I put this into my file and “source it” (set env variables) by:


Then start the Xilinx tool suite by running:


If you’re new to the Xilinx tools, navigate over to the tutorials at:

and start with the ISE In-Depth tutorial.  To get the fpga editor to work, as root:

yum install openmotif compat-libstdc++-33

On Fedora 15 ONLY, also execute the following commands:

cd /usr/lib64
ln -s openmotif/ (Warning: hack)

Now, to get iMPACT working (the tool that downloads .bit files into your FPGA), a few things need to be worked out. First make sure the program /sbin/fxload is installed; as root, run:

yum install fxload

For RHEL 6.x users, you will need to get this package from the CentOS distribution:

With this and recent versions of ISE, the proprietry windrv kernel module isn’t necessary. However, the README file from:;f=README;hb=HEAD

points out that buried wayyyy down in the file heirarchy:


lies a script named setup_pcusb. See the video at:

Running the script as root:

./setup_pcusb /opt/Xilinx/13.3/ISE_DS/ISE

will create the file /etc/udev/rules.d/xusbdfwu.rules That must be modified (as root) with the stream-edit command (or your favourite variant):

sed -i -e ‘s/TEMPNODE/tempnode/’ -e ‘s/SYSFS/ATTRS/g’ -e ‘s/BUS/SUBSYSTEMS/’ /etc/udev/rules.d/xusbdfwu.rules

to allow access the JTAG programming interface on your FPGAs. This is all you need to do for RHEL 6.x, but on Fedora 15, you WILL need the usb-driver from:

(my guess is that the usb interfaces where moved from “/proc/bus/usb” to “/dev/bus/usb” in Fedora 15, causing some grief). This needs to be built and installed. Be sure to install the libusb development libraries before trying to build the usb-driver by running:

yum install libusb

Then untar the usbdriver and “make” it (compiler tools assumed); copy to the director /opt/Xilinx/13.3/ISE_DS, and add the line:

export LD_PRELOAD=”/opt/Xilinx/13.3/ISE_DS/”

to your file. Be sure to re-source it (. before running ise or impact. This should be all you need.


An easy way to test all this (assuming you have an evaluation board of some sort) is to fire up ise, then from the File menu, open an Example project (Pong game, Arbitrary Waveform Generator, etc). Then double-click on Synthesize – XST. When the systhesis process finishes, you can open view the RTL schematic, etc. After that, double-click on Implement Design which will map then place & route the design. Different reports can be created then viewed. Then double-click on Generate Programming File, which will create the FPGA bit-stream (.bit file). Then finally, double-click on Configure Target Device, which will bring up the iMPACT GUI. Double-click on the iMPACT Boundary Scan line in the iMPACT Flows dialog box to see detected devices (PROMs, FPGAs, etc). Then right-click and select Initialize Chain and walk through the dialogs selecting the .bit file. After all this, under iMPACT processes, the FPGA can be probed and/or programmed. This flow is covered in the tutorial Xilinx videos mentioned below.

SDK Install

The Xilinx SDK ( is an Eclipse platform targeting software development for FPGA soft and hard-core processors (MicroBlaze & PPC). Since the basic FPGA fabric isn’t modified, no “expensive” operations are required; just a quick compile and load. Once the basic system architecture is pinned-down, developers with more common C/C++ experience can be deployed for application development. The program data2mem combines the hardware & software bitstreams for download to the FPGA.

Even though the ISE Design Suite installer says that the SDK is installed when performing and EDK install, it isn’t. So, after installing either the “System Edition” or “Embedded Edition” (both produce identical set-ups), install the “Standalone Installation” by running:

./xsetup (again)

This will create an SDK directory in /opt/Xilinx/13.3. To keep from having to source multiple scripts, I simply moved the directory /opt/Xilinx/13.3/SDK/SDK to the /opt/Xilinx/13.3/ISE_DS directory since the rest of the SDK installation is duplicated.

Re-source the script, and from there, and start an embedded project by running:


Which will bring up the SDK GUI.


Xilinx Product support & Documentation:

Xilinx Free Online FPGA Design Training Videos:

Xcell Journel:

Write a software application with SDK:

Linux in a MicroBlaze soft-core:

This entry was posted in FPGA. Bookmark the permalink.

9 Responses to How-To Configure the Xilinx FPGA Design Suite 13.3 Under RHEL/CentOS 6.x & Fedora 15

  1. Al says:

    Works for everything except floorplanner (FPGA editor)
    with 13.4 on redhat 6.2

  2. Al says:

    got FPGA editor working – its export DISPLAY=:0

  3. Nick says:

    CentOS 6.3 here. I needed to install libusb-devel in order to get the usb.h file in order to build the driver.

  4. Howdy just wanted to give you a quick heads up.
    The words in your article seem to be running off the screen in Safari.

    I’m not sure if this is a format issue or something to do with internet browser compatibility but I figured I’d post to let you know.

    The design look great though! Hope you get the issue fixed soon.


  5. I’m really amazed using your writing skills since nicely like the style to your weblog. Is this fact some sort of paid out topic or perhaps do you customize it all by yourself? At any rate remain on the outstanding top quality producing, it really is extraordinary to check out an awesome web site like this one currently.

  6. Vik says:

    Bill- excellent writeup. One question- you mention “…to allow access the JTAG programming interface on your FPGAs. This is all you need to do for RHEL 6.x, but on Fedora 15, you WILL need the usb-driver from…”

    I just tried this on CentOS7, and I’m finding that I get the windrvr errors when I run Impact, leading me to believe that I do need to build the USB driver. Can you confirm this? I thought Xilinx ISE / Impact was ready out of the box for RHEL installation, so I don’t understand why this additional step is required in CentOS. Would appreciate it if you could shed some light on this for me.

Leave a Reply

Your email address will not be published. Required fields are marked *