NetFPGA Manual Ver.1

25
Installation Manual no.08-002-v01 LAST REVISION: 09-01-16 CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin NML Future Internet Team School of Info. and Mech., Networked Media Lab., Page 1/25 NetFPGA Install Contents A Software Installation .......................................................................................................................................................... 2 B Verify the software and hardware............................................................................................................................... 8 C Self Test & Regression Test ......................................................................................................................................... 11 D Install CAD Tools .............................................................................................................................................................. 16 E Regression Test on new bitfile................................................................................................................................... 22

Transcript of NetFPGA Manual Ver.1

Page 1: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 1/25

NetFPGA Install

Contents

A Software Installation .......................................................................................................................................................... 2

B Verify the software and hardware ............................................................................................................................... 8

C Self Test & Regression Test ......................................................................................................................................... 11

D Install CAD Tools .............................................................................................................................................................. 16

E Regression Test on new bitfile................................................................................................................................... 22

Page 2: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 2/25

A Software Installation

A.1 Log in as root

Log in as root or 'su -' to root

A.2 Install Java

Download the Java JDK (JDK 6 Update 6) Linux RPM in self-extracting file from SUN Java JDK 6

update 6

If running the command: reports at least version 1.6.*, then proceed to the next major step to

Install NetFPGA Base Package (below)

Java –version

Otherwise, download Java 1.6 from: http://java.sun.com/products/archive/j2se/6u6/index.html

Add execute permission to JDK file

chmod +x jdk-6u6-linux-i586-rpm.bin

Install JDK. Scroll down and say 'yes' when prompted.

./jdk-6u6-linux-i586-rpm.bin

Expected output

…….

Do you agree to the above license terms? [yes or no]

Yes

Unpacking...

Checksumming...

Extracting...

UnZipSFX 5.50 of 17 February 2002, by Info-ZIP ([email protected]).

inflating: jdk-6u6-linux-i586.rpm

inflating: sun-javadb-common-10.3.1-4.1.i386.rpm

inflating: sun-javadb-core-10.3.1-4.1.i386.rpm

……….

3:sun-javadb-client ########################################### [ 50%]

4:sun-javadb-demo ########################################### [ 67%]

5:sun-javadb-docs ########################################### [ 83%]

6:sun-javadb-javadoc ########################################### [100%]

Java(TM) SE Development Kit 6 successfully installed.

Page 3: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 3/25

Product Registration is FREE and includes many benefits:

………..

For more information on what data Registration collects and

how it is managed and used, see:

http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html

Press Enter to continue.....

Done.

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

Expected output

--19:14:23-- http://www.jpackage.org/jpackage17.repo

Resolving www.jpackage.org... 212.85.158.22

Connecting to www.jpackage.org|212.85.158.22|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 1126 (1.1K) [text/plain]

Saving to: `jpackage17.repo'

100%[===============================>] 1,126 --.-K/s in 0s

19:14:25 (233 MB/s) - `jpackage17.repo' saved [1126/1126]

Install the Java JRE

yum -y --enablerepo=jpackage-generic-nonfree install java-1.6.0-sun-compat.i586

Expected Output

….

jpackage-generic-nonfree 100% |=========================| 951 B 00:00

primary.xml.gz 100% |=========================| 4.9 kB 00:00

jpackage-g: ################################################## 21/21

Setting up Install Process

Parsing package install arguments

Page 4: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 4/25

Resolving Dependencies

--> Running transaction check

---> Package java-1.6.0-sun-compat.i586 0:1.6.0.06-1jpp set to be updated

--> Finished Dependency Resolution

……………

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.

A.3 Install RPMforge Yum repository

Download the rpmforge-release package.

i386 http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Install DAG's GPG key

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

Verify the package you have downloaded

rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm

Expected Output

rpmforge-release-0.3.6-1.el5.rf.i386.rpm: (sha1) dsa sha1 md5 gpg OK

Page 5: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 5/25

Install the package

rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm

This will add a yum repository config file and import the appropriate GPG keys. At this point,

you can set the priority of the RPMForge repository, and also of the CentOS repositories if you

have not done so yet

Test with this command

yum check-update

Expected output

rpmforge 100% |=========================| 1.1 kB 00:00

primary.xml.gz 100% |=========================| 3.0 MB 00:05

rpmforge : ################################################## 8243/8243

antlr.noarch 2.7.7-1jpp jpackage-generic

bsf.noarch 2.4.0-1jpp jpackage-generic

bsh.noarch 1.3.0-11jpp jpackage-generic

cadaver.i386 0.22.5-1.el5.rf rpmforge

iso-codes.noarch 1.0a-1.el5.rf rpmforge

jpackage-utils.noarch 1.7.5-1jpp jpackage-generic

….

A.4 Install NetFPGA Base Package

Install NetFPGA yum repository and GPG Key (for CentOS 5)

rpm -Uhv http://netfpga.org/yum/el5/RPMS/noarch/netfpga-repo-1-1_CentOS5.noarch.rpm

Expected output

rpmforge 100% |=========================| 1.1 kB 00:00

primary.xml.gz 100% |=========================| 3.0 MB 00:05

rpmforge : ################################################## 8243/8243

antlr.noarch 2.7.7-1jpp jpackage-generic

bsf.noarch 2.4.0-1jpp jpackage-generic

bsh.noarch 1.3.0-11jpp jpackage-generic

cadaver.i386 0.22.5-1.el5.rf rpmforge

iso-codes.noarch 1.0a-1.el5.rf rpmforge

jpackage-utils.noarch 1.7.5-1jpp jpackage-generic

Page 6: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 6/25

….

Install kernel source

yum install kernel-devel

Expected output

….

Dependencies Resolved

============================================================= Package

Arch Version Repository Size

=============================================================

Installing:

kernel-devel i686 2.6.18-92.1.22.el5 updates 4.8 M

Transaction Summary

=============================================================

………..

Total download size: 4.8 M

Is this ok [y/N]: y

Downloading Packages:

(1/1): kernel-devel-2.6.1 100% |=========================| 4.8 MB 00:00

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing: kernel-devel ######################### [1/1]

Installed: kernel-devel.i686 0:2.6.18-92.1.22.el5

Complete!

Next run the following command to install the NetFPGA base package

yum install netfpga-base

Expected output

……

Dependencies Resolved

============================================================= Package

Page 7: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 7/25

Arch Version Repository Size

=============================================================

Installing for dependencies:

……..

netfpga-base i386 1.2.4-CentOS5 netfpga 3.1 M

netfpga-kernel i386 1.2.4-CentOS5 netfpga 35 k

netfpga-utils i386 1.2.4-CentOS5 netfpga 243 k

netfpga_lib i386 1.1-2 netfpga 3.7 M

……..

Transaction Summary

=============================================================

Install 20 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 25 M

Is this ok [y/N]: y

Downloading Packages:

(1/20): libgomp-4.1.2-42. 100% |=========================| 82 kB 00:00

(2/20): perl-Net-RawIP-0. 100% |=========================| 119 kB 00:01

……..

Dependency Installed: compat-libstdc++-296.i386 0:2.96-138 compat-libstdc++-33.i386 0:3.2.3-61

gcc.i386 0:4.1.2-42.el5 gcc-c++.i386 0:4.1.2-42.el5 glibc-devel.i386 0:2.5-24.el5_2.2 ………….. perl-Net-

Pcap.i386 0:0.16-1.el5.rf perl-Net-RawIP.i386 0:0.23-1.el5.rf perl-XML-Simple.noarch 0:2.18-1.el5.rf

Complete!

A.5 Create NF2 directory in your user account

Run the following script to copy the entire NF2 directory into your account (typically:

/root/NF2). WARNING: Running this command WILL overwrite any existing NF2 directory or

files in your user account! If you have files that you want to preserve, 'mv' your NF2 directory

to another location, such as NF2_backup.

To copy the NetFPGA directory and set the environment variables run the following cmd,

/usr/local/NF2/lib/scripts/user_account_setup/user_account_setup.pl

Reboot your machine

Page 8: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 8/25

B Verify the software and hardware

B.1 Compile and Load Driver

Compile

cd ~/NF2

make

Expected output

if [ -f "lib/Makefile" ] ; then \

make -C lib ; \

fi

make[1]: Entering directory `/root/NF2/lib'

make -C C

make[2]: Entering directory `/root/NF2/lib/C'

make -C kernel

make[3]: Entering directory `/root/NF2/lib/C/kernel'

make -C /lib/modules/2.6.18-92.1.22.el5/build M=/root/NF2/lib/C/kernel

….

make[1]: Entering directory `/root/NF2/projects/router_kit/sw'

ln -s ../../../lib/C/common/ common

g++ -g -Wall -ansi -c -o linux_proc_net.o linux_proc_net.cc

g++ -g -Wall -ansi -c -o nf21_mon.o nf21_mon.cc

g++ -g -Wall -o rkd rkd.cc nf21_mon.o common/nf2util.o common/util.o linux_proc_net.o

make[1]: Leaving directory `/root/NF2/projects/router_kit/sw'

B.2 Load driver and tools

Install the driver and reboot.

The driver will be stored in /lib/modules/`uname-r`/kernel/drivers/nf2.ko

make install

Expected output

...

make[3]: Leaving directory `/root/NF2/lib/scripts/cpci_config_reg_access'

make[2]: Leaving directory `/root/NF2/lib/scripts'

make[2]: Entering directory `/root/NF2/lib/java/gui'

make[2]: Nothing to be done for `install'.

make[2]: Leaving directory `/root/NF2/lib/java/gui'

make[1]: Leaving directory `/root/NF2/lib'

Page 9: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 9/25

make[1]: Entering directory `/root/NF2/bitfiles'

for bitfile in CPCI_2.1.bit cpci_reprogrammer.bit ; do \

install -D -m 0644 $bitfile /usr/local/NF2/bitfiles/$bitfile ; \

done

make[1]: Leaving directory `/root/NF2/bitfiles'

make[1]: Entering directory `/root/NF2/projects/selftest/sw'

make[1]: Nothing to be done for `install'.

make[1]: Leaving directory `/root/NF2/projects/selftest/sw'

make[1]: Entering directory `/root/NF2/projects/router_buffer_sizing/sw'

make[1]: Nothing to be done for `install'.

make[1]: Leaving directory `/root/NF2/projects/router_buffer_sizing/sw'

make[1]: Entering directory `/root/NF2/projects/router_kit/sw'

make[1]: Nothing to be done for `install'.

make[1]: Leaving directory `/root/NF2/projects/router_kit/sw'

Reboot the machine

B.3 Verify NetFPGA interfaces

After reboot log in as root.

Verify that the driver loaded

lsmod | grep nf2

Expected output

nf2 22156 0

Verify that four nf2cX interfaces have successfully loaded:

ifconfig -a | grep nf2

Expected output

nf2c0 Link encap:Ethernet HWaddr 00:4E:46:32:43:00

nf2c1 Link encap:Ethernet HWaddr 00:4E:46:32:43:01

nf2c2 Link encap:Ethernet HWaddr 00:4E:46:32:43:02

nf2c3 Link encap:Ethernet HWaddr 00:4E:46:32:43:03

Page 10: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 10/25

B.4 Reprogram the CPCI

Run the cpci reprogramming script (to reprogram all NetFPGAs in a system)

/usr/local/sbin/cpci_reprogram.pl --all

Expected output

Loading the CPCI Reprogrammer on NetFPGA 0

Loading the CPCI on NetFPGA 0

CPCI on NetFPGA 0 has been successfully reprogrammed

Every time you restart the computer, you need to reload the CPCI! If the NetFPGA refuses to

send packets, and the regression or selftest is failing, make sure you've reprogrammed the cpci.

[Simple Solution]

Add above cmd (/usr/local/sbin/cpci_reprogram.pl --all ) to /etc/rc.local file

Page 11: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 11/25

C Self Test & Regression Test

C.1 Run Self Test

Install a SATA cable to loopback the board-

to-board high-speed serial I/O.

Install two Ethernet cables as shown:

Activate NetFPGA Interfaces (if not, the self test will be Failed with DMA interface error)

ifconfig nf2c0 up

ifconfig nf2c1 up

ifconfig nf2c2 up

ifconfig nf2c3 up

Load self-test bitfile

nf2_download ~/NF2/bitfiles/selftest.bit

Expected output

Found net device: nf2c0

Bit file built from: nf2_top_par.ncd

Part: 2vp50ff1152

Date: 2008/ 8/12

Time: 19:45:33

Error Registers: 0

Good, after resetting programming interface the FIFO is empty

Download completed - 2377668 bytes. (expected 2377668).

DONE went high - chip has been successfully programmed.

Downloaded design:

Undefined device

Device ID: 0

Revision : 0

Virtex design compiled against active CPCI version

Page 12: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 12/25

Run Selftest

If you have connected a SATA cable to the NetFPGA, type the following command

~/NF2/projects/selftest/sw/selftest

Otherwise, type the following command.

~/NF2/projects/selftest/sw/selftest -n

Expected output

Found net device: nf2c0

NetFPGA selftest 1.00 alpha

Running..... PASSED

C.2 Run Regression Tests

The regression test suite is a set of tests that exercise the functionality of the released

gateware and software. On a fast machine, this test should take approximately 10 minutes. The

features exercised by regression test suite are the only features we will try to provide support

for. Additional features might be available and functional in the released gateware, but they

are not supported.

Connect Ethernet test cables

Connect 'eth1' to 'nf2c0'

(c0 is the port closest to the mainboard)

Connect 'eth2' to 'nf2c1'

(c1 is the port one away from the mainboard)

The location of your eth1 and eth2 ports may

vary depending on your NIC

Page 13: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 13/25

Log in as root to root using an X session, because we will be testing the GUI Scone

Load reference_router bitfile

nf2_download ~/NF2/bitfiles/reference_router.bit

Expected output

Found net device: nf2c0

Bit file built from: nf2_top_par.ncd

Part: 2vp50ff1152

Date: 2008/ 8/12

Time: 1: 9:19

Error Registers: 0

Good, after resetting programming interface the FIFO is empty

Download completed - 2377668 bytes. (expected 2377668).

DONE went high - chip has been successfully programmed.

Downloaded design:

Reference Router v1.0 Beta

Device ID: 6

Revision : 1

Virtex design compiled against active CPCI version

Run regression test suite

~/NF2/bin/nf21_regress_test.pl

Expected output

Running tests on project 'driver'...

Running test 'driver_compile'... PASS

Running test 'driver_install'... PASS

Running test 'verify_mtu'... PASS

Running global teardown... PASS

Running tests on project 'reference_nic'...

Running test 'download_nic'... PASS

Running test 'test_loopback_random'... PASS

Running test 'test_loopback_minsize'... PASS

Running test 'test_loopback_maxsize'... PASS

Running test 'test_loopback_drop'... PASS

Running test 'test_loopback_crc'... PASS

Running test 'test_ip_interface'... PASS

Running global teardown... PASS

Page 14: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 14/25

Running tests on project 'reference_router'...

Running global setup... PASS

Running test 'test_router_cpusend/run.pl'... PASS

Running test 'test_wrong_dest_mac'... PASS

Running test 'test_nonip_packet'... PASS

Running test 'test_nonipv4_packet'... PASS

Running test 'test_invalidttl_packet'... PASS

Running test 'test_lpm_misses'... PASS

Running test 'test_arp_misses'... PASS

Running test 'test_badipchecksum_packet'... PASS

Running test 'test_ipdest_filter_hit'... PASS

Running test 'test_packet_forwarding'... PASS

Running test 'test_lpm'... PASS

Running test 'test_lpm_next_hop'... PASS

Running test 'test_queue_overflow'... PASS

Running test 'test_oq_limit'... PASS

Running test 'test_ipdest_filter'... PASS

Running test 'test_oq_sram_sz_cpu'... PASS

Running test 'test_oq_sram_sz_mac'... PASS

Running test 'test_router_table/run.pl'... PASS

Running test 'test_send_rec/run.pl'... PASS

Running test 'test_lut_forward'... PASS

Running global teardown... PASS

Running tests on project 'scone'...

Running global setup... PASS

Running test 'test_build'... PASS

Running test 'test_mac_set'... PASS

Running test 'test_ip_set'... PASS

Running test 'test_rtable_set'... PASS

Running test 'test_disabled_interfaces/run.pl'... PASS

Running test 'test_noniparp_ethtype'... PASS

Running test 'test_arp_rpl/run.pl'... PASS

Running test 'test_arp_norpl/run.pl'... PASS

Running test 'test_arp_quepkt/run.pl'... PASS

Running test 'test_ip_error/run.pl'... PASS

Running test 'test_ip_rtblmiss/run.pl'... PASS

Running test 'test_ip_intfc/run.pl'... PASS

Running test 'test_ip_checksum/run.pl'... PASS

Running test 'test_ttl_expired/run.pl'... PASS

Running test 'test_send_receive/run.pl'... PASS

Running test 'test_arp_req/run.pl'... PASS

Running test 'test_tcp_port/run.pl'... PASS

Page 15: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 15/25

Running test 'test_udp_packet/run.pl'... PASS

Running test 'test_icmp_echo/run.pl'... PASS

Running test 'test_icmp_notecho/run.pl'... PASS

Running global teardown... PASS

Running tests on project 'gui_scone'...

Running global setup... PASS

Running test 'test_main_frame'... PASS

Running test 'test_routing_table'... PASS

Running test 'test_arp_table'... PASS

Running test 'test_port_config_table'... PASS

Running global teardown... PASS

Running tests on project 'router_kit'...

Running global setup... PASS

Running test 'test_00_make/run.sh'... PASS

Running test 'test_01_ip_dst_filter/run.pl'... PASS

Running test 'test_02_route_table/run.pl'... PASS

Running test 'test_03_arp_table/run.pl'... PASS

Running test 'test_04_ip_packets/run.pl'... PASS

Running global teardown... PASS

Running tests on project 'router_buffer_sizing'...

Running global setup... PASS

Running test 'test_time_stamp/run'... PASS

Running test 'test_store_event/run'... PASS

Running global teardown... PASS

Note A. If there are some fails during the tests on project 'reference_nic',

~/NF2/projects/reference_nic/regress/src/loopback_test : LINE 102

Increase Sleep time from 1 to 10

~/NF2 /projects/reference_nic/regress/test_loopback_random/run : LINE 4

Decrease interval between successive packets from 8ms to 1ms

Note B. Run regression test separately

~/NF2/bin/nf21_regress_test.pl -- project <project name>

Page 16: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 16/25

D Install CAD Tools

D.1 Install ISE foundation 10.1i & ChipScope 10.1

Download ISE foundation 10.1i

Visit: http://www.xilinx.com/support/download/index.htm

Click the ‘Download ISE Foundation’ link

You need an account; log in

Fill the form; click next

Page 17: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 17/25

Select required programs (e.g., ISE Foundation, ChipScope); click next

Download package (Note: remember the Registration ID)

Extract downloaded zip file & Run Setup (w/ Service Pack 3 + IP Update 10.1.3)

unzip <downloaded zip file> <directory>

cd <directory>

./setup

Note: if you set the ‘web update’ option during the installation, the software update is

automatically installed, if not, you can update via Core Generator GUI.

Page 18: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 18/25

Run Core Generator

source <ISE 10.1 install directory>/ISE/settings32.sh

coregent

from the Core Generator GUI, select help Sotfware update

To confirm that you have installed the update properly, select Coregen GUI help About

Obtain a license for the TEMAC (Tri_Mode_Ethernet_MAC ) Core from Xilinx

Visit: http://www.xilinx.com/ipcenter/ipevaluation/temac_evaluation.htm

Go to `Full System Hardware Evaluation’

Go to `Generate a Full System Hardware Evaluation License Key’

Page 19: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 19/25

You need an account; log in

Select OS; Type Host ID; Check ’Evaluation License Agreement’ & ‘E-mail’

(Note the HOST ID is MAC address of your network card which is connected to Internet)

Press ‘Send me download instructions

Page 20: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 20/25

Xilinx will send a e-mail which includes the ‘License Download Instructions’ & ‘Instructions for

Installing the licenses on your machine.

After getting the license zip file (core_licenses_eval.zip),

Unzip the zip file into your HOME directory with holding the directory structure

cd /root (Move to your home directory)

unzip core_licenses_eval.zip

D.2 Install Modelsim (ver. SE 6.2G)

Visit: http://www.model.com/downloads/archives.asp

Go to `SE 6.2G’

Fill the form; Request download

Go to ftp://......

Page 21: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 21/25

Download ModelSim & Extract

modelsim-base.tar.gz

modelsim-docs.tar.gz

modelsim-linux.exe.gz

ModelSim release directory structure and common files

ModelSim menual, help files, tech, notes, etc.

Self-extracting executable for Linux redhat

Install

./modelsim-linux.exe

Set Environment Variable

<install_path>/modeltech/linux

Page 22: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 22/25

E Regression Test on new bitfile

E.1 Synthesize reference_nic bitfile from source

Login, either direct in an X session or via ssh -X.

Go to the synthesis directory for the reference_nic and run make.

(This step should take under an hour on a well-endowed machine.)

cd ~/NF2/projects/reference_nic/synth

make

Expected output

==================================================

=== Invoking coregen to rebuild rxfifo_8kx9_to_36.ngc

==================================================

+++testStarted:build.core.rxfifo_8kx9_to_36.ngc

Running coregen...

Release 10.1.03 - Xilinx CORE Generator K.39 (lin)

Copyright (c) 1995-2008 Xilinx, Inc. All rights reserved.

All runtime messages will be recorded in

/root/NF2/lib/verilog/io_queues/ethernet_mac/synth/coregen/coregen.log

Regenerating IP...

Generating Implementation files.

Generating NGC file.

…………….

Partition Implementation Status

-------------------------------

No Partitions were found in this design.

-------------------------------

NGCBUILD Design Results Summary:

Number of errors: 0

Number of warnings: 0

…………..

Verify the new bitfile (nf2_top_par.bit) has been created.

ls | grep nf2_top_par.bit

Expected output

nf2_top_par.bit

Page 23: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 23/25

E.2 Load new bitfile

Download the fresh bitfile to the NetFPGA board:

nf2_download nf2_top_par.bit

E.3 Run regression-test suite on new bitfile

Re-run the regression test suite

~/NF2/bin/nf21_regress_test.pl

Expected output

Running tests on project 'driver'...

Running test 'driver_compile'... PASS

Running test 'driver_install'... PASS

Running test 'verify_mtu'... PASS

Running global teardown... PASS

Running tests on project 'reference_nic'...

Running test 'download_nic'... PASS

Running test 'test_loopback_random'... PASS

Running test 'test_loopback_minsize'... PASS

Running test 'test_loopback_maxsize'... PASS

Running test 'test_loopback_drop'... PASS

Running test 'test_loopback_crc'... PASS

Running test 'test_ip_interface'... PASS

Running global teardown... PASS

Running tests on project 'reference_router'...

Running global setup... PASS

Running test 'test_router_cpusend/run.pl'... PASS

Running test 'test_wrong_dest_mac'... PASS

Running test 'test_nonip_packet'... PASS

Running test 'test_nonipv4_packet'... PASS

Running test 'test_invalidttl_packet'... PASS

Running test 'test_lpm_misses'... PASS

Running test 'test_arp_misses'... PASS

Running test 'test_badipchecksum_packet'... PASS

Running test 'test_ipdest_filter_hit'... PASS

Running test 'test_packet_forwarding'... PASS

Running test 'test_lpm'... PASS

Running test 'test_lpm_next_hop'... PASS

Running test 'test_queue_overflow'... PASS

Running test 'test_oq_limit'... PASS

Running test 'test_ipdest_filter'... PASS

Page 24: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 24/25

Running test 'test_oq_sram_sz_cpu'... PASS

Running test 'test_oq_sram_sz_mac'... PASS

Running test 'test_router_table/run.pl'... PASS

Running test 'test_send_rec/run.pl'... PASS

Running test 'test_lut_forward'... PASS

Running global teardown... PASS

Running tests on project 'scone'...

Running global setup... PASS

Running test 'test_build'... PASS

Running test 'test_mac_set'... PASS

Running test 'test_ip_set'... PASS

Running test 'test_rtable_set'... PASS

Running test 'test_disabled_interfaces/run.pl'... PASS

Running test 'test_noniparp_ethtype'... PASS

Running test 'test_arp_rpl/run.pl'... PASS

Running test 'test_arp_norpl/run.pl'... PASS

Running test 'test_arp_quepkt/run.pl'... PASS

Running test 'test_ip_error/run.pl'... PASS

Running test 'test_ip_rtblmiss/run.pl'... PASS

Running test 'test_ip_intfc/run.pl'... PASS

Running test 'test_ip_checksum/run.pl'... PASS

Running test 'test_ttl_expired/run.pl'... PASS

Running test 'test_send_receive/run.pl'... PASS

Running test 'test_arp_req/run.pl'... PASS

Running test 'test_tcp_port/run.pl'... PASS

Running test 'test_udp_packet/run.pl'... PASS

Running test 'test_icmp_echo/run.pl'... PASS

Running test 'test_icmp_notecho/run.pl'... PASS

Running global teardown... PASS

Running tests on project 'gui_scone'...

Running global setup... PASS

Running test 'test_main_frame'... PASS

Running test 'test_routing_table'... PASS

Running test 'test_arp_table'... PASS

Running test 'test_port_config_table'... PASS

Running global teardown... PASS

Running tests on project 'router_kit'...

Running global setup... PASS

Running test 'test_00_make/run.sh'... PASS

Running test 'test_01_ip_dst_filter/run.pl'... PASS

Page 25: NetFPGA Manual Ver.1

Installation Manual no.08-002-v01

LAST REVISION: 09-01-16

CONTRIBUTORS: DongHoon Yi, Sung-Ho Shin

NML Future Internet Team School of Info. and Mech., Networked Media Lab.,

Page 25/25

Running test 'test_02_route_table/run.pl'... PASS

Running test 'test_03_arp_table/run.pl'... PASS

Running test 'test_04_ip_packets/run.pl'... PASS

Running global teardown... PASS

Running tests on project 'router_buffer_sizing'...

Running global setup... PASS

Running test 'test_time_stamp/run'... PASS

Running test 'test_store_event/run'... PASS

Running global teardown... PASS