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设备:
没有多重启几次电脑(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已载入
载入成功后执行ifconfig -a
,应该出现4个'nfX'的网卡:
测试
提供的测试脚本地址为:NetFPGA-SUME-live/tools/scripts
需要的物理连接:
nf0<>nf0
nf1<>nf1
nf2<>nf2
nf3<>nf3
由于没有需要的特定光缆,所以改用另一种比较原始的方式,仅测试了nic的功能,没测试速率,接线如图: