NetFPGA-1G-CML Demo --- reference_router_nf1_cml
环境
deepin 15.4
vivado 15.2
ise 14.6
前期准备
Github Wiki链接:https://github.com/NetFPGA/NetFPGA-public/wiki/NetFPGA-1G-CML-Reference-Router
官网工程:
git clone https://github.com/NetFPGA/NetFPGA-1G-CML-live.git
路径配置
编辑bashrc_addon_NetFPGA_10G,修改为以下内容(工程外路径根据自己放置位置修改)
export NF_ROOT=/home/sume/NetFPGA-1G-CML-live
export NF_DESIGN_DIR=${NF_ROOT}/projects/reference_router_nf1_cml
export NF_WORK_DIR=/tmp/${USER}
export PYTHONPATH=${NF_ROOT}/lib/python:${NF_DESIGN_DIR}/lib/Python:${NF_ROOT}/tools/scripts:
export LD_LIBRARY_PATH=${NF_ROOT}/lib/java/NetFPGAFrontEnd/bin:${LD_LIBRARY_PATH}
激活路径配置
source /opt/Xilinx/14.6/ISE_DS/settings64.sh
source bashrc_addon_NetFPGA_10G
如果这是执行的第一个工程的话,需要转到顶级NetFPGA-1G-CML目录运行“make core”,以从Xilinx ISE安装中复制必要的文件,生成必要的IP内核(如10G以太网MAC和XAUI),并将其放在硬件库中,修复一些复制的文件,以便可以在NetFPGA-10G板的Virtex-5 FPGA器件上合成复制的IP。
cd $NF_ROOT
make core
make hwtestlib
make cml_cores
如果下边编译失败的话,可以尝试重复以下命令:
cd $NF_ROOT
make hwtestlib
make cml_cores
安装 Switch CAM
官方链接:https://github.com/NetFPGA/NetFPGA-1G-CML-live/tree/master/projects/reference_router_nf1_cml
可以按照步骤一步步生成文件放在指定目录下,中文安装步骤参考:http://www.cnblogs.com/wpqwpq/p/6954296.html
也可以用小编这里直接生成的文件,放在指定的目录下:
tcam.v cam.v 放到
cd $NF_ROOT/lib/hw/std/pcores/nf10_router_output_port_lookup_v1_00_a/hdl/verilog
tcam.ngc cam.ngc 放到
cd $NF_ROOT/lib/hw/std/pcores/nf10_router_output_port_lookup_v1_00_a/netlist
运行步骤
step1:编译工程
cd $NF_DESIGN_DIR
make clean
make
编译过程遇到错误
/bin/bash: gmake: 未找到命令
执行
cd /usr/bin
ln -s make gmake
激活Vivado
source /opt/Xilinx/Vivado/2015.2/settings64.sh
将配置烧录到NetFPGA
make download
step2:Java GUI
java GUI允许用户改变路由表和ARP缓存的条目以及路由器的MAC地址和IP地址。并且提供了关于吞吐量在计数值和图形方面的升级。这个GUI有一部分是用c编写的,用于提供java binaries与驱动之间的接口。本地的库从nf10util.c这个文件被编译,其包括读寄存器和写寄存器。这个库用java本地的库来连接GUI。
为了构建这个GUI,首先确保你安装了SUN‘s JDK(版本>=1.6),并且java,javac、jar binaries在你的路径下(或者,你可以编辑projects/reference_router_nf1_cml/sw/host/gui目录下的Makefile去指定到本地路径)。然后进入 projects/reference_router_nf1_cml/sw/host/gui目录下,
make clean
然后
make
然后你可以得到类似以下的输出:
make[1]: Entering directory `~/NetFPGA-10G-live/projects/reference_router_nf1_cml/sw/host/common'
gcc -fpic -c nf10util.c nf_util.c
gcc -shared nf10util.o nf_util.o -o libnf10.so
make[1]: Leaving directory `~/NetFPGA-10G-live/projects/reference_router_nf1_cml/sw/host/common'
Building java...
Done
Writing router gui manifest...
Building router jar...
Writing script to start router gui...
如果没有编译成功,进入到hw目录下执行
make regs
回到gui目录下,不要激活ise和vivado,执行
make clean
make
可以得到正确编译
为了使得这个GUI运行起来,需要进入 NetFPGA-10G-live/projects/reference_router_nf1_cml/sw/host/gui目录下
./router.sh
这个GUI便会弹出来了。GUI不断轮询从硬件读取的数据。
NetFPGA-1G-CML Demo --- reference_router_nf1_cml的更多相关文章
- NetFPGA Demo ——reference_router_nf1_cml
NetFPGA Demo --reference_router_nf1_cml 前言 本博文主要介绍了reference_router_nf1_cml该demo的一路运行,以及一路上艰难跑通遇到的坑. ...
- FPGA论文
基于 NetFPGA 的 VCP 网络的设计与实现 --可变结构拥塞控制协议(VCP),适应于高带宽时延乘积网络的显式拥塞控制协议 无源光网络(PON) 1.区块链技术发展,物联网设备激增,服务器压力 ...
- NetFPGA Demo ——reference_nic_nf1_cml
NetFPGA Demo --reference_nic_nf1_cml 实验平台 OS:deepin 15.4 开发板:NetFPGA_1G_CML 实验过程 从NetFPGA-1G-CML从零开始 ...
- 【阿里云产品公测】云引擎ACE java DEMO 直接部署体验
作者:阿里云用户啊里新人 本来想根据前几个哥们的公测文章,体验一下,发现他妈的都是php的一下我就,,好吧还有群,群里高手如云,,看着文档(其实文档写的很清晰了!只不过我太懒了!) 哈哈,所以群里 ...
- 30分钟玩转Net MVC 基于WebUploader的大文件分片上传、断网续传、秒传(文末附带demo下载)
现在的项目开发基本上都用到了上传文件功能,或图片,或文档,或视频.我们常用的常规上传已经能够满足当前要求了, 然而有时会出现如下问题: 文件过大(比如1G以上),超出服务端的请求大小限制: 请求时间过 ...
- vs2017 android demo
vs2017自安装以后就没怎么打开过,虽然12出的时候用10,15出的时候用13,17出的时候用15,但我依然坚持不用也装上再说的理念. 1.vs2017开发IOS和Android安装所必不可少的,u ...
- spark集群配置以及java操作spark小demo
spark 安装 配置 使用java来操作spark spark 安装 tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz rm spark-2.4.0-bin-hadoo ...
- spark-submit提交方式测试Demo
写一个小小的Demo测试一下Spark提交程序的流程 Maven的pom文件 <properties> <maven.compiler.source>1.7</maven ...
- 开源!js实现微信/QQ直接跳转到支付宝APP打开口令领红包!附:demo
最近支付宝的领红包可真是刷爆了各个微信群啊,满群都是支付宝口令. 可是这样推广可不是办法,又要复制又要打开支付宝又要点领取,太麻烦了. 于是乎,提出了一个疑问!是否可以在微信里面点一个链接然后直接打开 ...
随机推荐
- ThinkCMF的跳转303 404等页面的方法
1. 控制器方法: return $this->redirect('http://www.thinkcmf.cmf',[],301); 或者助手函数: return redirect('http ...
- [BZOJ1012] [JSOI2008] 最大数maxnumber (ST表)
Description 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2. 插 ...
- css学习の第五弹—单位和值
一. >>1.颜色表示方法总结: 1.英文命令颜色 前面几个小节中经常用到的就是这种设置方法: p{color:red;} 2.RGB颜色 这个与 photoshop 中的 RGB 颜色是 ...
- 快速了解react
概况: 通过本篇文章你可以对react的重点有个整体的认识. 关于react是什么,优点,解决什么问题等,网上一大推就不啰嗦了. 了解虚拟DOM的实现,参考这篇文章 [虚拟DOM](https://w ...
- Open Live Writer
最近突然发现我的CSDN博客里面的很多内容都被删除了,虽然我没有用CSDN写博了,不过还是想到可能我现在用的博客园写博,如果有些内容敏感的话会不会也会被删除文章或者关掉我的博客.心里满是担心,于是想说 ...
- python全栈开发-Day4 列表
python全栈开发-Day4 列表 一.首先按照以下几个点展开列表的学习 #一:基本使用 1 用途 2 定义方式 3 常用操作+内置的方法 #二:该类型总结 1 存一个值or存多个值 只能存一个值 ...
- Jmeter 相关资源
官网:http://jmeter.apache.org/ 插件: https://jmeter-plugins.org
- Mycat 分片规则详解--日期(天)分片
实现方式:按照日期来分片 优点:使数据按照日期来进行分时存储 缺点:由于数据是连续的,所以该方案不能有效的利用资源 配置示例: <tableRule name="sharding-by ...
- poj-1005-l tanink i need a houseboat
Description Fred Mapper is considering purchasing some land in Louisiana to build his house on. In t ...
- MIP (百度移动网页加速器)
前言:第一次用移动网页加速器,感觉好心情都被弄坏了.确实性能提高了不少,但是限制js,对于一些交互实现都成问题.MIP是Mobile Instant Pages的缩写,指百度移动网页加速器, 是一套应 ...