Reference_nic

Reference_nic是NetFPGA-SUME中提供的一个参考Demo,本文主要介绍如何构建并在SUME上运行reference_nic。

GIT源

git clone https://github.com/NetFPGA/NetFPGA-SUME-live.git

私有库,需要权限。

Settings.sh

修改 /NetFPGA-SUME-live/tools/settings.sh

gedit /NetFPGA-SUME-live/tools/settings.sh

修改如下:

export SUME_FOLDER=/home/sume/NetFPGA-SUME-livs    #库的路径
export XILINX_PATH=/opt/Xilinx/Vivado/2016.4 #vivado的安装路径
export NF_PROJECT_NAME=reference_nic #本次测试的demo,其他demo可以在/NetFPGA-SUME-livs/projects下找到

修改完成后:

source /NetFPGA-SUME-live/tools/settings.sh

Vivado

vivado运行环境变量:

source /opt//Xilinx/Vivado/2016.4/settings.sh      #/opt//Xilinx/Vivado/2016.4/为vivado安装目录

NetFPGA-SUME-live

root@sume:/# cd $SUME_FOLDER                       #应该进入settings.sh设定的目录
root@sume:/home/sume/NetFPGA-SUME-livs# make

只要第一次执行就行,大概需要半个小时到一个小时。

编译Reference_nic

这部分需要很多时间,我出错也都在这部分。

root@sume:reference_nic# make                      #编译reference_nic

渣电脑编译一次花了大半个下午。。 不过也是只要编译一次即可。

编译后 bitfilse 目录下会出现一个二进制文件: reference_nic.bit

root@sume:reference_nic# cd bitfiles
root@sume:reference_nic/bitfiles# xmd #启动Xilinx tool

这里如果遇到提示找不到命令,可以在本目录再次下执行:

source /opt//Xilinx/Vivado/2016.4/settings.sh

启动Xilinx tool后会看到 xmd% 提示符:

xmd% fpga -f reference_nic.bit

看到成功提示后重启电脑。

重启后输入命令:

lcpsi -vxx | grep Xilinx

确认是否有Xilinx设备:

NetFPGA-SUME下reference_nic测试-LMLPHP

没有多重启几次电脑(Github原文:If you don't see the Xilinx device, you need to reprogram the FPGA and reboot as mentioned earlier.)。我是重启了好几次放弃,第二天回来就出现了。。

sume_riffa模块

加载sume_riffa模块,这部分比较简单,一般不会出错。

root@sume:/# cd $DRIVER_FOLDER                                  #应该进入sume_riffa_v1_0_0目录
root@sume:sume_riffa_v1_0_0# make all #很快
root@sume:sume_riffa_v1_0_0# make install #很快
root@sume:sume_riffa_v1_0_0# modprobe sume_riffa #载入sume_riffa模块
root@sume:sume_riffa_v1_0_0# lsmod #确认sume_riffa已载入

NetFPGA-SUME下reference_nic测试-LMLPHP

载入成功后执行ifconfig -a,应该出现4个'nfX'的网卡:

NetFPGA-SUME下reference_nic测试-LMLPHP

测试

提供的测试脚本地址为:NetFPGA-SUME-live/tools/scripts

需要的物理连接:

nf0<>nf0

nf1<>nf1

nf2<>nf2

nf3<>nf3


由于没有需要的特定光缆,所以改用另一种比较原始的方式,仅测试了nic的功能,没测试速率,接线如图:

NetFPGA-SUME下reference_nic测试-LMLPHP

04-18 04:51