Skip to content
Adam edited this page Jan 14, 2013 · 4 revisions

Table of Contents

Install Software 1.0

Note there is a newer version of the Package available. The install steps have been simplified. This page exists for archival purposes only.

Installing an Operating System on the Host PC: Describes how to install CentOS on the host computer

Software installation: Install the NetFPGA device driver and self-test program & bitfile

Install CAD Tools: Install Computer Aided Design tools to enable synthesis and simulation of hardware circuits (Optional)

Installing an Operating System on the Host PC

We support use of the popular Linux Distribution CentOS as the operating system for the Host PC. CentOS is a free variation of the popular RedHat distribution.

CentOS Installation Instructions

We have tested the NetFPGA with the 32-bit version of CentOS 4.4 and CentOS 4.5 operating systems.

You can create your own bootable CentOS DVD by downloading an ISO [3]

Burn the image onto a DVD:

Install CentOS http://netfpga.org/CentOS_Install.pdf

  • Modify your grub.conf file so that that kernel will be able to allocate memory space for the NetFPGA
    • Log in to the test computer as root
    • Type: gnome-text-editor /boot/grub/grub.conf
    • Add the line:uppermem 524288 before the kernel line, as shown below
  • Add the following text at the end the kernel line: vmalloc=256M
    • The vmalloc=256M text itself needs to be on the same line as kernel.
    • Save the file and exit
  • Restart the system
  • Open another root command shell and run the command:
 lspci  
  • Expect to see an line like:
##:##.# Ethernet controller: Unknown device feed:0001   

The first # refers to the bus, the second # is the slot, and the third .0 is the function The value of the numbers may vary depending on the configuration of the motherboard The feed:0001 string identifies a NetFPGA Ethernet device was found on the PCI bus

Other tested but unsupported operating systems

Use of other operating systems is possible, but we do not support them.

Software installation

Log in as root

  • Log in as root or 'su -' to root

Download and unpack beta release files

  • Download the Beta release as described in the section Obtaining Gateware/Software Package
  • Unpack the tar.gz files. We'll assume you unzipped the file in your home directory, ~/.
tar -xvzf netfpga_base_beta_1_0.tar.gz  
tar -xvzf netfpga_lib.tar.gz 

Set up environment variables

  • We assume that you will be using a bash terminal. The code and regression scripts assume a number of environment variables, including:
    • NF2_ROOT
    • NF2_DESIGN_DIR
    • NF2_WORK_DIR
    • PYTHONPATH
    • PERL5LIB
  • To append these variables to your ~/.bashrc file, to be loaded upon login, type:
cat ~/NF2/bashrc_addon >> ~/.bashrc 
  • Then add these variables to the current session via the source command. Future bash shell sessions will automatically have the environment variables set.
 source ~/NF2/bashrc_addon 

Verify kernel sources

  • Make sure the machine is connected to the internet.
  • Find the currently running kernel version, via `uname`.
 uname -r 
  • Sample correct output:
 2.6.9-42.ELsmp 
  • List kernel-devel sources. The yum list may take 20 seconds or more to create. This step verifies that you have the kernel sources necessary to build the driver, a kernel module.
  • Sample correct output:
kernel-smp-devel.i686                        2.6.9-42.ELsmp            installed  
kernel-smp-devel.i586                        2.6.9-55.0.9.ELsmp        update  
kernel-smp-devel.i686                        2.6.9-55.0.9.ELsmp        update 
  • If you can't find "installed" in the same line as the kernel-smp-devel package for your currently running kernel version, then you'll need to install kernel-smp-devel.i686 or similar.

Install packages

  • Install packages for the compiler, curser movement, and network library
yum -y install gcc  
yum -y install ncurses-devel  
yum -y install libnet  
yum -y install compat-libstdc++-296.i386  
yum -y install libpcap-devel 

Install Perl libraries

For this step, you need to install the rpmforge package to get the packages below from yum.

  • Install packages for packet capture, raw IP packet sending, and error reporting in Perl
yum -y install perl-Net-Pcap  
yum -y install perl-Net-RawIP.i386   
yum -y install perl-Error.noarch  
yum -y install perl-XML-Simple 

If perl-Net-RawIP.i386 does not exist install perl-Net-IP.386
yum -y install perl-Net-IP.i386

Install Java

  chmod +x jdk-6u6-linux-i586-rpm.bin 
  • Install JDK. Scroll down and say 'yes' when prompted.
  ./jdk-6u6-linux-i586-rpm.bin 
  • Install the key for the JPackage repository
  rpm --import http://jpackage.org/jpackage.asc 
  • Install the JPackage repository information for yum
  cd /etc/yum.repos.d   wget http://www.jpackage.org/jpackage17.repo 
  • Install the Java JRE
 yum -y --enablerepo=jpackage-generic-nonfree install java-1.6.0-sun-compat.i586 
  • Expected Output
Dependencies Resolved      

'''<tt>=========================================================================</tt>'''    
Package                 Arch       Version          Repository        Size   
'''<tt>=========================================================================</tt>'''   
Installing:    java-1.6.0-sun-compat   i586       1.6.0.06-1jpp    jpackage-generic-nonfree   54 k      

Transaction Summary   
'''<tt>=========================================================================</tt>'''   
Install      1 Package(s)   
Update       0 Package(s)   
Remove       0 Package(s)   
Total download size: 54 k   
Is this ok [y/N]: y   
Downloading Packages:   
(1/1): java-1.6.0-sun-com 100% ||=========================||  54 kB    00:00   

Running Transaction Test   
Finished Transaction Test   
Running Transaction      
  Installing : java-1.6.0-sun-compat        ######################### [1/1]      

Installed: java-1.6.0-sun-compat.i586 0:1.6.0.06-1jpp   
Complete! 
  • Set default JAVA path to new JRE
  /usr/sbin/alternatives --config java 
  • Expected Output
There are 2 programs which provide 'java'.     

   Selection    Command   
-----------------------------------------------     
    1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java   
 *+ 2           /usr/lib/jvm/jre-1.6.0-sun/bin/java      

Enter to keep the current selection[+], or type selection number: 
     Select number corresponding to jre-1.6.0-sun

Install CAD Tools

We provide the Verilog source code the modules so that users can compile, simulate, and synthesize gateware for the NetFPGA. We have tested simulation and synthesis using a specific version of the Xilinx tools (as described below). Use of other versions of the tools (older or newer) is not supported. If you do not plan to rebuild the hardware circuits, you can skip installation of CAD tools.

Install Xilinx ISE

  • Xilinx: ISE Foundation, Version: 9.1i SP3
    • Install Service Pack 3
    • Install IP Update 3
    • Use of other versions of the tools (older or newer) is not supported.
    • Obtain a license for the V2Pro TEMAC core from Xilinx.
      • Part Number: DO-DI-TEMAC, Ver 3.3
      • For a free evaluation copy
        • Request "Full System hardware Evaluation"
        • Allows use of the TEMAC for 30 days, 8 hour run-time
      • Academic users can request a donation of the core and CAD tools
        • Mention use of the NetFPGA when you submit the request
      • Commercial users can purchase the core through their local sales representative.

Install ModelSim

  • To simulate Verilog, install:
    • Mentor Graphics: ModelSim
      • Version SE 6.2G
      • Allows simulation of circuits and viewing of simulated waveforms.
      • Testbench software assumes use of this version of ModelSim.

Debug with ChipScope

  • To debug signals on the FPGA using an on-chip logic analyzer, install:
    • Xilinx: ChipScope Pro
      • Version 9.1.02i
      • Allows monitoring of signals on NetFPGA
      • Requires use of a PC with JTAG interface

Install Memory Modules for Simulation

Micron DDR2 SDRAM

Cypress SRAM

Clone this wiki locally