基于Xilinx Alveo FPGA 100Gbps网卡(NIC)实现之一准备工作 (1/4)

基于Xilinx Alveo FPGA 100Gbps网卡(NIC)

1、准备工作
2、FPGA项目
3、ONIC驱动
4、DPDK驱动


前言

数据处理和AI处理带来数据传输越来越大,传统的10Gbps万兆网络已不再满足需求(对于10G UDP和TCP FPGA有开源项目另行介绍,不需要使用MAC IP,只需要使用GT的PHY即可,这个回头另行介绍),而50G、100G甚至200G网络传输变得迫切。本文针对Xilinx Alveo FPGA 如何实现100G NIC设备进行详细介绍,本项目是基于官方OpenNIC项目。


一、OpenNIC是什么?

Xilinx OpenNIC 为开源项目,是基于FPGA实现网络接口控制器(NIC:Network Inteface Control),该项目包括底层FPGA实现,Linux Driver Onic和DPDK驱动,非常适合快速搭建100G NIC。

项目网址下载点这里,架构框图如下:

    -----  -----------------------------------------------
    |   |  |            System Configuration             | 
    |   |  -----------------------------------------------
    |   |     |         |         |         |         |  AXI-lite 125MHz
    |   |     V         V         V         V         V
    |   |  -------   -------   -------   -------   -------
    |   |  |     |   |     |   |     |   |     |   |     |
    | P |  |  Q  |==>| Box |==>|  A  |==>| Box |==>|  C  |
    | C |  |  D  |   |  @  |   |  D  |   |  @  |   |  M  |
    | I |  |  M  |   | 250 |   |  A  |   | 322 |   |  A  |
    | E |  |  A  |<==| MHz |<==|  P  |<==| MHz |<==|  C  |
    |   |  |     | | |     | | |     | | |     | | |     |
    -----  ------- | ------- | ------- | ------- | -------
                   |         |         |         |
                   -----------         -----------
                 AXI4-stream 250MHz  AXI4-stream 322MHz

从上图可看出,OpenNIC可以支持4个PF(Physical Function),并可支持2个100Gbps的以太网端口,有2个用户BOX便于用户端开发,如加密算法,数据处理等,分别工作在250Mhz和322Mhz,采用AXI-Steam总线协议,实际收敛需要看电路和器件,有些器件很难做到频率收敛。另外提供125Mhz AXI-lite总线支持进行控制。
目前官方可支持的器件如下:
-Xilinx Alveo U50
-Xilinx Alveo U55N
-Xilinx Alveo U55C
-Xilinx Alveo U200
-Xilinx Alveo U250
-Xilinx Alveo U280
-Xilinx Alveo U45N

其它器件需要自己移植,移植难度也不大,需要关注GT Phy相关区别。

二、搭建开发环境

1.Ubuntu安装

推荐使用Ubuntu22.04系统,安装完成后进行系统和必要组件更新。当然最新的Ubuntu24.04也是推荐的,该版本在一些驱动的支持上会更好。
Ubuntu下载地址

> sudo apt update
> sudo apt install build-essential
> sudo apt install git
> sudo apt install snap
> sudo snap install cmake --classic
> sudo apt install gcc-12

2.Vitis安装

AMD Xilinx Vitis 软件平台开发环境请在这里下载。
注意安装前请检查是否已下载libtinfo5库,否则会卡在安装界面不动。

# FIX: Vitis Install hangs on Ubuntu 
# https://support.xilinx.com/s/article/76616?language=en_US
sudo apt-get install libtinfo5

在这里插入图片描述

现在开始安装,并将vivado导入到bashrc中方便调用。

# vitis install
sudo ./xsetup

# add vivado to bash
gedit ~/.bashrc

# add follow cmd to the tail
source /tools/Xilinx/Vivado/2023.2/settings64.sh

# source bash
source ~/.bashrc

可以通过控制台运行vivado查看是否安装成功,成功后运行结果如下
在这里插入图片描述

3.CAMC IP License申请

创建项目前需要首先要获取UltraScale+ Integrated 100G Ethernet CMAC license👇没有账号需要首先注册账号。
这里登录账号申请License。

1、click "Search Now" in the "Evaluation and No Charge Cores" box on
the right side of the page.  
2、Enter "100G" in the search "Search".  
3、Select "UltraScale+ Integrated 100G Ethernet No Charge License" and click "Add". 
4、click "Generate Node-Locked License". 
5、Host ID must be the same as vivado network interface card ID.
(in vivado) vivado License Manager -> view host information -> network interface card (NIC) ID

在这里插入图片描述

本章总结&未完待续

至此准备工作基本完成,磨刀不误砍工,环境的准备完备才能在后续开发中快速推进,否则会遇到一些问题耽误时间。
准备好环境后接下来进行FPGA项目搭建。

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值