首页 / 行业
两个网络相关的开源项目详解
2021-10-27 09:20:00
今天介绍两个(only two)网络相关的开源项目。
Alex的verilog-ethernet之前在介绍PCIe项目时有介绍过Alex的项目,当时重点介绍了PCIe。今天主要介绍他的ethernet项目。
❞介绍用于1G、10G 和 25G 数据包处理(8 位和 64 位数据路径)的以太网相关组件的集合。包括用于处理以太网帧以及 IP、UDP 和 ARP 的模块以及用于构建完整 UDP/IP 堆栈的组件。包括用于1G和 10G/25G 的 MAC 模块、一个 10G/25G PCS/PMA PHY 模块和一个 10G/25G 组合 MAC/PCS/PMA 模块。包括用于实现需要精确时间同步的系统的各种 PTP 相关组件。还包括使用cocotbext-eth 的完整 cocotb 测试平台代码。
组件说明:仅对于 IP 和 ARP 支持,请使用ip_complete(1G) 或ip_complete_64 (10G/25G)。
对于 UDP、IP 和 ARP 支持,请使用udp_complete(1G) 或udp_complete_64 (10G/25G)。
1G和 10G/25G MAC 模块顶层文件eth_mac_*,具有各种接口和带/不带 FIFO。10G/25G PCS/PMA PHY 模块顶层文件是 eth_phy_10g. 10G/25G MAC/PCS/PMA组合模块顶层文件是 eth_mac_phy_10g.
PTP 组件包括可配置的 PTP 时钟 ( ptp_clock)、ptp_clock_cdc用于跨时钟域传输 PTP 时间的 PTP 时钟 CDC 模块 。以及用于从 PTP 时间精确生成任意频率的可配置 PTP 周期输出模块。
其中cocotbext-xxx是仿真测试模型(cocotb is a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python.cocotb是一套基于python的用于构建仿真及测试用例的lib库)。
已经验证的板卡
基本市场上官方的板卡都有测试,从Xilinx S6到ZCU106,Intel Cyclone10到Stratix10 大小芯片都支持。
优秀的 Verilog/FPGA开源项目介绍(三)- 大厂的项目
其他说明README中也有模块的说明:
以及相关接口的时序说明:
优秀的 Verilog/FPGA开源项目介绍(二)-RISC-V
测试平台的使用也有详细的说明。
业界第一个真正意义上开源100 Gbps NIC Corundum对于需求100G网卡的朋友,一定要看看这个开源项目,先放开源地址:
❝
https://github.com/ucsdsysnet/corundum
❞介绍Corundum 是一种基于 FPGA 的开源高性能 NIC。功能包括高性能数据路径、10G/25G/100G 以太网、PCI express gen 3、定制的高性能、紧密集成的 PCIe DMA 引擎、1000+ 传输、接收、完成和事件队列、分散/收集DMA、MSI 中断、多个接口、每个接口多个端口、每个端口的传输调度,包括高精度 TDMA、流散列、RSS、校验和卸载和本地 IEEE 1588 PTP 时间戳。包含一个与 Linux 网络堆栈集成的 Linux 驱动程序。广泛的仿真框架促进了开发和调试,该框架涵盖了从一侧的驱动程序和 PCI express 接口的仿真模型到另一侧的以太网接口的整个系统。
Corundum 有几个独特的特征。首先,传输、接收、完成和事件队列状态高效地存储在块 RAM 或ultra RAM中,从而支持数以千计的可单独控制的队列。这些队列与接口相关联,每个接口可以有多个端口,每个端口都有自己独立的调度程序。这实现了对数据包传输的极其细粒度的控制。结合 PTP 时间同步,这可以实现高精度 TDMA。
Corundum 还提供了一个用于实现自定义逻辑的应用程序部分。应用部分有一个用于控制的专用 PCIe BAR 和许多提供对核心数据路径和 DMA 基础设施的访问的接口。
支持的板卡Alpha Data ADM-PCIE-9V3 (Xilinx Virtex UltraScale+ XCVU3P)
Exablaze ExaNIC X10/Cisco Nexus K35-S (Xilinx Kintex UltraScale XCKU035)
Exablaze ExaNIC X25/Cisco Nexus K3P-S (Xilinx Kintex UltraScale+ XCKU3P)
Silicom fb2CG@KU15P (Xilinx Kintex UltraScale+ XCKU15P)
NetFPGA SUME (Xilinx Virtex 7 XC7V690T)
Xilinx Alveo U50 (Xilinx Virtex UltraScale+ XCU50)
Xilinx Alveo U200 (Xilinx Virtex UltraScale+ XCU200)
Xilinx Alveo U250 (Xilinx Virtex UltraScale+ XCU250)
Xilinx Alveo U280 (Xilinx Virtex UltraScale+ XCU280)
Xilinx VCU108 (Xilinx Virtex UltraScale XCVU095)
Xilinx VCU118 (Xilinx Virtex UltraScale+ XCVU9P)
Xilinx VCU1525 (Xilinx Virtex UltraScale+ XCVU9P)
Xilinx ZCU106 (Xilinx Zynq UltraScale+ XCZU7EV)
说明这个项目很多都引用了上面《Alex的项目》,可以算是上一个项目的扩展。测试等文档也很完全。框图如下
最新内容
手机 |
相关内容
位移传感器结构类型及工作原理与应
位移传感器结构类型及工作原理与应用,工作原理,类型,结构,位移传感器,常见,效应,FDV302P位移传感器是一种用于测量物体位移或位置的加特兰毫米波雷达SoC芯片赋能室内
加特兰毫米波雷达SoC芯片赋能室内安防新应用,毫米波雷达,芯片,用于,稳定性,目标,感知,室内安防是一个重要的领域,随着技术的进步和人单相滤波器:从基础到应用的全面解读
单相滤波器:从基础到应用的全面解读,滤波器,能和,噪声,选择,信号,工作原理,TVP5146PFP单相滤波器是一种用于去除电源信号中的杂波和聊聊芯片中的负压产生机理及其应用
聊聊芯片中的负压产生机理及其应用,芯片,细胞,用于,测量,生物,结构,芯片中的负压是指在芯片内部产生的负压环境。在某些应用中,负压不只是芯片 看看传感器技术我们离
不只是芯片 看看传感器技术我们离世界顶级有多远,传感器,芯片,位置,测量,交通,用于,传感器技术是现代科技中至关重要的一部分,它们被小到一个分子!研究人员开发一种微小
小到一个分子!研究人员开发一种微小的压电电阻器,优化,位置,结构,用于,传感器,压电效应,近年来,随着电子技术的快速发展,对微小尺寸电射频前端芯片GC1103在智能家居无线
射频前端芯片GC1103在智能家居无线通信IoT模块中应用,模块,芯片,无线通信,智能家居,支持,数据交换,射频前端芯片GC1103是一种低功耗Efuse是什么?聊聊芯片级的eFuse
Efuse是什么?聊聊芯片级的eFuse,状态,编码器,故障,加密,芯片,配置信息,Efuse是一种可编程的电子熔断器,用于在芯片级别实现非易失性存