1基本介绍
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 或超 RAM 中,从而支持数以千计的单独可控队列。这些队列与接口相关联,每个接口可以有多个端口,每个端口都有自己独立的调度程序。这可以对数据包传输进行极其精细的控制。再加上 PTP 时间同步,可实现高精度 TDMA。
Corundum 还提供了一个用于实现自定义逻辑的应用程序部分。应用部分有一个用于控制的专用 PCIe BAR 和许多提供对核心数据路径和 DMA 基础设施的访问的接口。
2源文件
cmac_pad.v : Pad frames to 64 bytes for CMAC TX cpl_op_mux.v : Completion operation mux cpl_queue_manager.v : Completion queue manager cpl_write.v : Completion write module desc_fetch.v : Descriptor fetch module desc_op_mux.v : Descriptor operation mux event_mux.v : Event mux event_queue.v : Event queue mqnic_core.v : Core logic mqnic_core_pcie.v : Core logic for PCIe mqnic_core_pcie_us.v : Core logic for PCIe (UltraScale) mqnic_interface.v : Interface mqnic_port.v : Port mqnic_ptp.v : PTP subsystem mqnic_ptp_clock.v : PTP clock wrapper mqnic_ptp_perout.v : PTP period output wrapper mqnic_tx_scheduler_block_rr.v : Scheduler block (round-robin) mqnic_tx_scheduler_block_rr_tdma.v : Scheduler block (round-robin TDMA) queue_manager.v : Queue manager rx_checksum.v : Receive checksum offload rx_engine.v : Receive engine rx_hash.v : Receive hashing module stats_collect.v : Statistics collector stats_counter.v : Statistics counter stats_dma_if_pcie.v : DMA interface statistics stats_dma_latency.v : DMA latency measurement stats_pcie_if.v : PCIe interface statistics stats_pcie_tlp.v : PCIe TLP statistics tdma_ber_ch.v : TDMA BER channel tdma_ber.v : TDMA BER tdma_scheduler.v : TDMA scheduler tx_checksum.v : Transmit checksum offload tx_engine.v : Transmit engine tx_scheduler_ctrl_tdma.v : TDMA transmit scheduler controller tx_scheduler_rr.v : Round robin transmit scheduler
3框图
Corundum框图
Corundum序列管理模块
Corundum DMA控制模块
Corundum 调度程序块
4仓库地址
https://github.com/corundum/corundum
5总结
这个开源项目质量很高,网上也有不少测试的朋友.
没有回复内容