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的功能,没测试速率,接线如图:

NetFPGA-SUME下reference_nic测试的更多相关文章

  1. 论文阅读:NETFPGA SUME: TOWARD 100 GBPS AS RESEARCH COMMODITY

    摘要: 数据中心网络的需求增长意味着许多组成技术不在研究社区的预算之内. NETFPGA SUME是基于FPGA的PCI Express板,具有I / O功能,可作为网络接口卡,多端口开关,防火墙或测 ...

  2. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  3. 安卓下junit测试

    安卓下junit测试 第一种方法: 1,在AndroidManifest.xml下,加入如下红色代码 <manifest xmlns:android="http://schemas.a ...

  4. Spring框架下Junit测试

    Spring框架下Junit测试 一.设置 1.1 目录 设置源码目录和测试目录,这样在设置产生测试方法时,会统一放到一个目录,如果没有设置测试目录,则不会产生测试代码. 1.2 增加配置文件 Res ...

  5. Android平台下渗透测试工具大集合

    Android平台下渗透测试工具大集合 分享一个google的项目,各种Android下的渗透测试工具. Ad Network Detector (1.2): http://market.androi ...

  6. APUE中fcntl.h的使用及O_SYNC在Mac与Ubuntu下的测试

    此部分测试涉及到APUE V3中,第三章的图3-12到图3-14. 通过fcntl.h提供的功能,修改fd的文件属性,本处增加O_SYNC功能,并测试其效果. 本文涉及代码: tree ch3 ch3 ...

  7. Ubuntu-14.04.3下SDL2测试

    最近突然蛋痛想入门Linux,想写个跨平台的游戏,各种坑,备忘,稍微记点笔记. 主要参考这个文章 buntu14.04下C++开发SDL2应用 下载与安装 到http://www.libsdl.org ...

  8. Screenfly – 各种设备的屏幕和分辨率下快速测试网站

    Screenfly 让你能够在各种设备的屏幕和分辨率下查看你的网站.输入网址,并点击GO开始浏览网页.Screenfly 可以使用代理服务器来模拟设备,当您查看您的网站,代理服务器模仿您所选择的设备的 ...

  9. Obj格式解析以及在Unity3D下导入测试

    目前基本实现了导入,注意只能打开含有单个模型的obj文件 四边面模型: 全三角面模型(测试单一材质,自动分了下UV): 这里介绍下obj格式: obj格式是waveFront推出的一种3D模型格式,可 ...

随机推荐

  1. CATransform3D 使用

    struct CATransform3D { CGFloat m11(x轴缩放), m12(y轴切变), m13, m14(x轴拉伸); CGFloat m21(x轴切变), m22(y轴缩编), m ...

  2. CentOS7.3安装mysql数据库

    Mysql数据库安装 1.环境 操作系统:CentOS 7.3 软件:MySQL 5.7 下载链接:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5 ...

  3. C++引用的用处

    原文:http://www.cnblogs.com/ddx-deng/archive/2012/12/16/3755864.html 一.什么是“引用”?声明和使用“引用”要注意哪些问题? 答:引用就 ...

  4. 北京Uber优步司机奖励政策(4月23日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  5. 使用Nginx+uWSGI+Django方法部署Django程序

    第一步先解决uwsgi与django的桥接.解决在没有nginx的情况下,如何使用uwsgi+DJANGO来实现一个简单的WEB服务器. 第二步解决uwsgi与Nginx的桥接.通过nginx与uws ...

  6. Keil 中的Code,RO-data,RW-data,ZI-data

    我们开发项目中,编译.链接完成后,都要看一下RAM和Flash的利用情况,尤其在有bootloader的情况下,确保自己的单片机选型能符合项目的要求.其中ARM程序的组成,是很容易混淆的.此处所说的“ ...

  7. 4543: [POI2014]Hotel加强版

    4543: [POI2014]Hotel加强版 链接 分析: f[u][i]表示子树u内,距离u为i的点的个数,g[u][i]表示在子树u内,已经选了两个深度一样的点,还需要在距离u为i的一个点作为第 ...

  8. vue中使用定时器时this指向问题

    在写一个很小的demo时,用的普通函数写法,没有用es6箭头函数,发现this变化了,后来查找到了问题所在: 箭头函数中的this指向是固定不变(定义函数时的指向),在vue中指向vue 普通函数中的 ...

  9. javaweb学习5——JSP

    声明:本文只是自学过程中,记录自己不会的知识点的摘要,如果想详细学习JavaWeb,请到孤傲苍狼博客学习,JavaWeb学习点此跳转 本文链接:https://www.cnblogs.com/xdp- ...

  10. 【SIKIA计划】_04_C#中级教程 (2015版)笔记

    IKIC#中级教程 (2015版)正常模式指的是不会影响程序的正常运行.1,在VS中我们使用Console.Write(或者WriteLine)方法向控制台输出变量的值,通过这个我们可以查看变量的值是 ...