Ubuntu Operating System
NetFPGA-10G development should be possible on any Linux distribution which supports the Xilinx ISE Design Suite. We currently build under 13.4. Xilinx provides a list of officially-supported Linux distributions for ISE Design Suite 13.4 here.
We are providing this guide to setting up an Ubuntu 12.04 LTS machine for NetFPGA-10G development to help users get up and running as easily as possible. Note however that we cannot undertake to support users who adopt this (or any other) Linux distribution for their development work.
Installing Ubuntu 12.04.3 LTS
- Navigate to Ubuntu Downloads.
- Download the 708MB DVD ISO installation image (ubuntu-12.04.3-desktop-amd64.iso).
- Burn the image to blank DVD and boot your PC from it.
- Complete the installation and add any device drivers that are required to make your system usable.
- Login with the user account created during the installation.
- Open a terminal (Ctrl + Alt + T) to eneable the root account. Type the following:
$ sudo -i
# passwd root
- Enable graphical root-login.
# sh -c 'echo "greeter-show-manual-login=true" >> /etc/lightdm/lightdm.conf'
- Disable the guest account.
# sh -c 'echo "allow-guest=false" >> /etc/lightdm/lightdm.conf'
- After this, reboot the system and login as root providing the username 'root' and the password just created.
- Delete the user account. Type in a terminal:
# userdel <username>
- Disable IPv6. Add to /etc/sysctl.conf:
#disable ipv6 net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
Additional Required Installation Packages
Once you have a working Ubuntu 12.04 LTS system, a number of additional software packages must be installed. These are required for hosting the NetFPGA-10G card and building the reference NIC driver. You should use Ubuntu's built-in package manager (apt-get) to install these packages where possible. If apt-get can't find a package for you, download the required packets from its source and use dpkg to manually install it.
First step is to do
# apt-get update
Install the following mandatory packages.
|Package||How to Install||Used for|
|gcc g++||apt-get install gcc g++||installing gcc and gcc+ compiler|
|lrzsz||apt-get install lrzsz||RS-232 link to NetFPGA-10G card|
|minicom||apt-get install minicom||RS-232 link to NetFPGA-10G card|
|libusb-dev||apt-get install libusb-dev||Third-party driver for Xilinx JTAG programming cable|
|libc6.i386||apt-get install libc6.i386||32-bit statically-linked Microblaze compiler and binutils|
|scapy||apt-get install scapy||NetFPGA-10G simulations|
|xterm||apt-get install xterm||used for isim simulation|
|fxload||apt-get install fxload||used for Xilinx JTAG programming cable|
|linux-source||apt-get install linux-source||used for compiling linux modules|
# apt-get install libxp6 emacs libdb-java-dev libnet1-dev iperf screen vnc4server mplayer libmotif-dev
Installing Xilinx ISE Design Suite
The Xilinx ISE Design Suite is not officially supported on Ubuntu distributions. However, a number of installation steps can be followed to allow the tools to install and run correctly. There is one main issue which needs to be overcome:
- The newer Linux kernel in Ubuntu prevents the proprietary driver for the USB JTAG programming cable from installing correctly. A third-party replacement driver must be used instead.
Follow these steps to install the Xilinx ISE Design Suite:
- Download the ISE Design Suite Linux installation tarball from the Xilinx website's Downloads section. Follow the installation instructions in the Xilinx ISE Design Suite Installation and Licensing Guide.
- In the download directory execute:
# tar xvf Xilinx_ISE_xxx_13.4.xxx.xx.tar # cd Xilinx_ISE_xxx_13.4.xxx.xx/ # ./xsetup
- Select "System Edition" to install the complete set of tools.
- Disable "Install Cable Drivers". So untick the option shown in the image.
- Install the tools to the default location in /opt/Xilinx/ and please untick the box indicating " import tool preference from previous version ". This is necessary to run the Xilinx tool chain in batch mode.
- If you intend to use a Xilinx USB JTAG programming cable, download the libusb-based third-party driver written by Michael Gernoth, which is available from rmdir.de/~michael/xilinx/
- Follow the installation instructions in the README included with the third-party driver. Typically, the installation process is as follows:
# tar xvf usb-driver-HEAD-xxxxxxx.tar.gz # cd usb-driver-HEAD-xxxxxxx/ # make # cp libusb-driver.so /usr/local/lib/libusb-jtag-driver.so # export LD_PRELOAD=/usr/local/lib/libusb-jtag-driver.so # source /opt/Xilinx/13.4/ISE_DS/settings64.sh # ./setup_pcusb
- Plug the Xilinx USB JTAG programming cable to the computer and check it gets recognized.
- To run the Xilinx tools, start a new shell and run the Xilinx ISE Design Suite settings script:
# source /opt/Xilinx/13.4/ISE_DS/settings64.sh
This defines a number of environment variables needed to run the ISE Design Suite.
- Launch Xilinx ISE 13.4 using:
# ise &
- Launch Impact, the Xilinx FPGA and CPLD programming tool, using:
# impact &
Building the NetFPGA-10G Reference NIC driver
If you plan to use the NetFPGA-10G card in hosted mode as an ethernet NIC, you will need to compile and install the included driver. Go to the Driver Getting Started page for instructions.