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
最近支付宝的领红包可真是刷爆了各个微信群啊,满群都是支付宝口令. 可是这样推广可不是办法,又要复制又要打开支付宝又要点领取,太麻烦了. 于是乎,提出了一个疑问!是否可以在微信里面点一个链接然后直接打开 ...
随机推荐
- 【NOIP2016】【CJOJ2257】2257 愤怒的小鸟
题目 Description https://www.luogu.org/problem/show?pid=2831 Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行 ...
- 【洛谷1640】[SCOI2010]连续攻击游戏
题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...
- freemind中内容变成html转义字符解决方法
在使用freemind的时候,没有正常关闭,导致原来的内容变成下面这样: <html> <body> <p> <b>查询所有</b> < ...
- SAPUI5 freestyle vs SAP Fiori Elements —— 两种开发SAP UI5 Apps的方式对比
概述 目前SAPUI5 SDK 提供了两种方式来开发一个SAPUI5 App.一种方式是传统的SAPUI5开发方式,一种是利用SAP Fiori Elements通过模板快速构建应用的方式. 本文简单 ...
- Android Screen Monito
1.下载 Android Screen Monitor http://code.google.com/p/android-screen-monitor/ (1) 下載 ASM_2_40.zip 并解压 ...
- node,cnpm安装和配置
作为一个前端人员,node已经是必备. 1.下载 下载地址:https://nodejs.org/zh-cn/download/ 选择相应的版本下载 2.解压缩 将文件解压到要安装的位置,并新建两个目 ...
- Hadoop的Archive归档命令使用指南
hadoop不适合小文件的存储,小文件本省就占用了很多的metadata,就会造成namenode越来越大.Hadoop Archives的出现视为了缓解大量小文件消耗namenode内存的问题. 采 ...
- 常见的if语句shell脚本
常见的if语句shell脚本 author :headsen chen 2017-10-17 15:00:07 1,cat if.sh 2, cat if2.sh
- 部署wcf出现的问题与解决方法
我将本机作为服务器开发时,没出什么问题,将wcf服务端寄缩到另一台电脑上时,出现了一些问题,这里总结下: 1.wcf服务器和另一个网站应用出问题 服务器的iis上有一个网站应用,当我将wcf服务寄缩到 ...
- Java面向对象特性--多态
Java是一种面向对象的编程语言,面向对象的三大特性就是继承,封装,多态.下面细细说一说多态. 多态的定义:一个事物的多种形态,指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而 ...