大量数据爆发,Xilinx FPGA怎么提高数据传输速率?

时间:2025-09-17  作者:Diven  阅读:0

背景

大量数据爆发,Xilinx FPGA怎么提高数据传输速率?

或许,你会认为DPDK(Data Plan Development Kit)是一个应用在网络应用层上的高速数据传输标准;或许,你认为DPDK是Intel制定的一套规格;或许,你认为DPDK在CPU和ASIC界是受限的保密的;亦或许,你都没有听说过DPDK,考虑到发展历史,确实很有可能。所以,如果以上的这些假设中有一项是正确的,那么你应该读读下面的内容。

最初,DPDK是一个数据层的库集,后来Intel开发了专门针对Intel X86微处理器的可以快速分组处理NIC(网络接口控制)的驱动,这就是DPDK的前世。而今生的DPDK,在去年四月份,已经成为一个Linux基金项目,并且可以在DPDK.org上看到。

DPDK主要包括以下几个大家常用的主要库:

当需要最小化CPU周期数时(一般小于80)发送和接收数据包;

开发快速分组算法;

运行第三方快捷路径堆栈。

迄今为止,DPDK听起来确实像是一个特殊的网络开发工具,但是,也正如Atomic Rules的CTO Shep Siegel所说:“如果你可以使你的数据传输问题看起来仅仅是一个数据包传输问题的话,那么,在你的开发流程中,DPDK可能就是一条比较有帮助捷径”。

Arkville

并且,关于近期更多DPDK的细节,Siegel的团队可能更为了解,主要是因为团队刚发布了Arkville,这是一个支持DPDK的FPGA/GPP的数据传输IP块和DPDK PMD(Poll Mode Driver,与Linux基金开源DPDK库17.05发行版协作,允许Linux DPDK应用分流服务器循环到FPGA门)。Atomic Rules的Arkville发行版还兼容Xilinx Vivado2017.1(这是今年四月份刚刚发布Vivado设计工具的最新版本)。Atomic Rules提供了两个简单的demo设计(均可通过Vivado 2017.1进行编译):

4端口,4队列10GbE demo(Arkville + 4 x 10 GbE MAC)

单端口单队列 100GbE demo(Arkville + 1 x 100 GbE MAC)

以上这两个例子都是数据移动器。准确来说,Arkville是一个数据包导管道,这个管道有一个CPU端的DPDK接口,一个FPGA端的AXI接口,在Arkville管道上还有一个可以很方便地增加用户用于处理这些数据包的硬件设计点,同时这也是CPU分流逻辑的所在。

Atomic Rules开发的Arkville IP和所有的Xilinx UltraScale器件都协作良好,但是,与Xilinx UltraScale+ 的全可编程器件协作的更好,这主要归功于全可编程器件内部集成两个PCIe Gen3 x 16控制器(包括Kintex UltraScale+和Virtex UltraScale+ FPGA系列器件和Zynq UltraScale+ MPSoC系列器件)。

为什么呢?

正如BittWare企业的VPCraig Lund主管所说 “100G的以太网是不太可能的,但是你是否可以在服务器端通过使用PCIe来达到这个速率 [使用一个PCIe Gen3 x 16接口]是不明确的。从PCIe的参数来看,这看起来似乎简单,但事实并非如此” 。Lund还说到,如果你正在处理一个最小尺寸的数据包,那么可以采用大量超过14百万每秒来实现。但是如果你正在处理一个大的数据包,那将需要更多的带宽,这或许正是一个对单PCIe Root 复合体生产力的挑战,不过从实际出发,确实一个不够。

应用Atomic Rules的ArkvilleIP,BittWare开发出了自己的产品——XUPP3R PCIe卡,同时还组合了一个Xilinx的Virtex UltraScale+ VU13P FPGA芯片。BittWare的XUPP3R PCIe板卡的众多独特特征就是有两个PCIe Gen3 x 16 端口:一个在边缘连接器时有效,另一个是一个可选的连续扩展口。其中第二个PCIe Gen3x16口可以用作增加带宽的第二PCIe槽。

尽管Lund没有多说,这里却不仅仅需要两个PCIe Gen3 x 16插槽,而是需要两个PCIe Gen2 Root复合体,也就意味着需要一个两组插槽的母板,然后两个CPU工作处理数据通路。以下简化的方框图可以说明Lund的观点:

BittWare不仅开发了具有两个PCIe Gen3 x 16端口的XUPP3R PCIe卡,BittWare还使用XUPP3R PCIe卡和Arkville IP共同开发了两个产品:

StreamSleuth,一个100GbE的网络数据包处理器具。

StreamSurge,一个1U盒子,内有Intel E5 v4 单插座服务器和由XUPP3R PCIe 卡设计的NIC以及BittWare的StreamSurge IP。

不过,需要对号的是:Arkville是Atomic Rules提供的一个IP,XUPP3R PCIe卡是BittWare提供的产品,两者不可混淆。

目前,大量数据爆发,除了固件运输之外,最方便的总线(PCIe/ETH)线路传输,不仅速率高同时安全性高,但是随着形势的发展,对其速率的要求越来越高,期望Xilinx FPGA可以为提高数据传输速率方面做出更多贡献。

猜您喜欢

洗手液有什么作用?洗手液是日常生活中不可少的清洁用品,主要作用是去除手部的污垢、细菌和病毒,保护我们的健康。通过使用洗手液,可以有效降低感染的风险,尤其是在流感...
2025-03-19 00:00:00

独石电容在电子设备中常见。的稳定性问题,影响了电路的性能。本文将探讨独石电容稳定性差的原因。材料问题独石电容采用的材料,质量参差不齐。部分材料耐热性差,容易老化...
2025-03-23 00:30:34


磁芯可调电感器,用在电子设备中。可以调节电感值,适合不同需求。本文将介绍磁芯可调电感器的基本知识,和的应用。磁芯可调电感器的定义磁芯可调电感器是电子元件。的电感...
2025-03-23 09:01:08

电气工程中,电容器和母线的连接是个重要问题。很多人会问,为什么不能用硬线连接电容器和母线呢?本文将对此进行深入探讨。 硬线的弹性差硬线的弹性不好,容易断。电容器...
2025-04-01 21:30:36

雪崩二极管是特殊的半导体器件,因其独特的特性而在电子电路中受到关注。雪崩二极管能够在反向电压下稳定工作,具备出色的电压稳定性。这使其成为电源保护和电压调节的重要...
2012-03-08 00:00:00

2010-11-15 00:00:00

二极管是应用于电子电路中的半导体器件,主要用于整流、开关、信号调制等功能。在某些情况下,二极管可能会发生击穿,导致器件损坏或电路失效。本文将探讨二极管在什么情况...
2025-04-07 14:30:03

瓷管电阻作为重要的电阻器件,因其优良的耐高温性能和稳定的电气特性,应用于各类电子设备中。辉城(LTEC)作为国内知名的电子元件品牌,其瓷管电阻产品以高品质和可靠...
2024-10-01 06:54:37

数字比较器是重要的电子元件,应用于各种电子设备中。主要作用是比较两个数字信号的大小,并输出相应的比较结果。这一功能在数字电路设计中尤为关键,尤其是在数据处理和控...
2014-04-29 00:00:00