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. 使用JQ实现统计剩余字数

    JQ实现统计文本框剩余字数 效果图: 代码如下,复制即可使用: <html lang="en"> <head> <meta charset=" ...

  2. Nginx Location模块

    相关知识点:URI:统一资源标识符,是一个用于标识某一互联网资源名称的字符串,该种标识允许用户对任何的资源通过特定的协议进行交互操作.URL:统一资源定位符,由三部分组成(1)http://协议 (2 ...

  3. MepReduce-开启大数据计算之门

    Hadoop MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.早期的MapReduce(MR)框架简单明了,JobTracker作为MR框架的集中处理点,随着分布式系统集群 ...

  4. AWVS使用手册

    目录: 0×00.什么是Acunetix Web Vulnarability Scanner ( What is AWVS?) 0×01.AWVS安装过程.主要文件介绍.界面简介.主要操作区域简介(I ...

  5. 20145226夏艺华 网络对抗技术 EXP9 web安全基础实践

    20145226夏艺华 网络对抗技术 EXP9 web安全基础实践 !!!免考项目:wannacry病毒分析+防护 一.实验后回答问题 SQL注入攻击原理,如何防御 攻击原理 "SQL注入& ...

  6. WPF Expander获得ToggleButton

    原文:WPF Expander获得ToggleButton ToggleButton m_ToggleButton = this.Template.FindName("HeaderSite& ...

  7. JMeter入门教程

    转自 http://blog.csdn.net/w565911788/article/details/7629787 1.Jmeter 概要描叙 jmeter 是一款专门用于功能测试和压力测试的轻量级 ...

  8. div滤镜结合ajax,实现登录

    一:登陆页面 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...

  9. H5拖拽 构造拖拽及缩放 pdf文件转换为html预览

    前言: 协助项目需要实现一个签名的功能. 功能说明:1.有文本签名和头像签名.2.头像签名需要实现可拖拽功能.3.需要展示的是pdf的文件并需要获取签名位于pdf文件的相对位置. 功能一:实现拖拽 思 ...

  10. Rmdir方法

    删除现有目录或文件夹. 语法 RmDir路径 所需的_路径_参数标识的目录或文件夹要移除的字符串表达式. _路径_可以包含驱动器. 如果没有指定驱动器, RmDir 将删除当前驱动器上的目录或文件夹. ...