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
最近支付宝的领红包可真是刷爆了各个微信群啊,满群都是支付宝口令. 可是这样推广可不是办法,又要复制又要打开支付宝又要点领取,太麻烦了. 于是乎,提出了一个疑问!是否可以在微信里面点一个链接然后直接打开 ...
随机推荐
- 二、CSS
css基本语法及页面引用 css基本语法 css的定义方法是: 选择器 { 属性:值; 属性:值; 属性:值;} 选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个值 ...
- 创建文本节点createTextNode
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 主席树总结(经典区间第k小问题)(主席树,线段树)
接着上一篇总结--可持久化线段树来整理吧.点击进入 这两种数据结构确实有异曲同工之妙.结构是很相似的,但维护的主要内容并不相同,主席树的离散化.前缀和等思想也要更难理解一些. 闲话 话说刚学习主席树的 ...
- Heavy Transportation POJ - 1797
题意 给你n个点,1为起点,n为终点,要求所有1到n所有路径中每条路径上最小值的最最值. 思路 不想打最短路 跑一边最大生成树,再扫一遍1到n的路径,取最小值即可,类似Frogger POJ - 22 ...
- [JSOI2008]球形空间产生器sphere
Sol 设一个dis,就有n+1个方程,消掉dis,就只有n个方程,组成一个方程组,高斯消元就好(建议建立方程时推一下,很简单) # include <bits/stdc++.h> # d ...
- [HNOI2015]开店
如果没有年龄区间 画图发现ans=\(\sum_{i=1}^n dis_i + n * dis_u - 2 * \sum_{i=1}^{n} dis_{lca(i, u)}\) 对\(\sum_{i= ...
- eclipse 启动报内存溢出的问题out of memory!
这个问题困扰了我一个月,今天终于解决了,在网上尝试了好多方法都不行.启动的时候就报错,这里可能是jdk的内存太小了,需要加大jdk的内存. 加上这个就好了 -server -Xms512m -Xmx5 ...
- 牛刀小试——记一次帮朋友小幅优化SQL
和一个小朋友聊天,小朋友愁眉苦脸,不爱说话,我问怎么了,他说:经理交代的一个任务完成不了.我问:什么任务?他说:程序里的一个功能对应的SQL,太慢了.我问:现在性能是什么样?他说:一分钟.我问:达到什 ...
- C++与Java通过WebService通信(上)
一. 前言 本篇讲述如果通过C++客户端访问Java服务端发布的SOAP模式的WebService接口.文档中的样例代码拷贝出去即可运行,所有的代码都是本地测试OK的:本文不但解决了接口调用的问题,同 ...
- java web(转)
装载:http://www.oschina.net/question/12_52027 OSCHINA 软件库有一个分类——Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者 ...