Corundum
corundum
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
Open source FPGA-based NIC and platform for in-network compute
Corundum 是一个基于 FPGA 的高性能开源网卡(NIC)及网络内计算平台,专为需要极致网络性能与灵活性的场景设计。它解决了传统商用网卡在队列数量、传输调度精度和可定制性上的局限,尤其适用于软件定义网络、时间敏感网络(TSN)、5G 前传、高频交易以及数据中心内自定义加速等应用。
标签
项目特点
**高性能数据通路**:支持 10G/25G/100G 以太网和 PCIe Gen 3,实现高吞吐量网络通信。
**大规模队列管理**:使用 Block RAM 或 Ultra RAM 高效存储队列状态,支持数千个独立可控的发送、接收、完成和事件队列。
**精确传输调度**:每个接口可拥有多个端口,每个端口配备独立调度器,支持高精度 TDMA 调度,结合 PTP 时间同步实现确定性网络传输。
**灵活的应用扩展**:提供专用应用区域,通过独立的 PCIe BAR 和核心数据通路/DMA 接口实现自定义逻辑。
**广泛硬件支持**:支持 Xilinx 和 Intel 的多款 FPGA 开发板,包括 Alveo、Kintex、Virtex、Stratix 10、Agilex 等系列。
**开源 MAC/PHY**:10G/25G 操作使用开源 verilog-ethernet 模块,无需额外许可;100G 操作需使用 Xilinx CMAC 核心(免费许可)。
**完整仿真框架**:提供从驱动/PCIe 接口到以太网接口的端到端仿真环境,便于开发和调试。
技术规格
| 以太网速率 | |
|---|---|
| 主机接口 | |
| DMA 引擎 | |
| 队列数量 | |
| 传输调度 | |
| 时间同步 | |
| 卸载功能 | |
| 中断方式 | |
| 支持 FPGA 厂商 | |
| 驱动支持 | |
| 仿真支持 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 支持的 FPGA 板(如 Xilinx Alveo U250) | 1 | — | 根据需求选择,详见支持列表 |
| FPGA 板配套电源 | 1 | — | 根据板卡规格 |
| SFP+/QSFP28 光模块及光纤/铜缆 | 若干 | — | 根据接口速率和数量 |
| 配备 PCIe Gen3 x8/x16 插槽的 PC/服务器 | 1 | — | 运行 Linux 系统 |
| FPGA 板散热方案(风扇/散热片) | 1 | — | 根据板卡功耗 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| FPGA 开发工具(Vivado / Quartus) | 综合、布局布线、生成比特流 | ✅ 是 |
| Linux 开发环境 | 编译驱动、运行测试 | ✅ 是 |
| 仿真工具(如 Vivado Simulator / ModelSim) | 运行 RTL 仿真 | ▢ 推荐 |
| 版本控制工具(Git) | 管理代码 | ✅ 是 |
| 逻辑分析仪(可选) | 调试硬件问题 | ▢ 推荐 |
能力画像
记忆与知识检索
1/5
逻辑推演
4/5
表达与交流
1/5
感知与观察
1/5
数理与计算
4/5
动手与操作
4/5
狂热与坚持
4/5
创造与创新
4/5
项目图库
所需技能
🔧 **动手能力**:需要具备 FPGA 开发板硬件搭建、PCIe 插卡、网络线缆连接等硬件操作能力。熟悉 FPGA 开发工具(Vivado/Quartus)的使用。
💻 **编程能力**:需要掌握 Verilog/VHDL 硬件描述语言,了解 Linux 驱动开发和 C 语言编程。熟悉网络协议栈(TCP/IP、以太网)基本原理。
⚡ **电子电路**:需要理解 PCIe 接口协议、DMA 传输机制、以太网 PHY/MAC 层工作原理。了解时钟同步(PTP)和高速数字设计基础。
适用场景
**高性能计算(HPC)网络**:作为智能网卡实现低延迟、高吞吐的数据传输,支持 RDMA 或自定义网络协议。
**网络功能虚拟化(NFV)**:在 FPGA 上卸载网络处理任务(如防火墙、负载均衡、流量整形),释放 CPU 资源。
**时间敏感网络(TSN)**:利用高精度 TDMA 和 PTP 时间同步,实现确定性网络通信,适用于工业自动化和车载网络。
**网络研究与教学**:作为开源平台,用于研究新型网络架构、传输协议、硬件卸载技术等。
**数据中心加速**:在网卡上实现应用层加速(如键值存储、数据压缩、加密),降低端到端延迟。