in ,

ucsdsysnet / corundum, Hacker News

ucsdsysnet / corundum, Hacker News


                    

        

GitHub repository:https://github.com/ucsdsysnet/corundum

********** Introduction

Corundum is an open-source, high-performance FPGA-based NIC. Features include a high performance datapath, (G /) *********************************************************************************************** (G /) ************************************************************************ G Ethernet, PCI express gen 3, a custom, high performance, tightly-integrated PCIe DMA engine, many (01575879 ) transmit, receive, completion, and event queues, MSI interrupts, multiple interfaces, multiple ports per interface, per-port transmit scheduling including high precision TDMA, flow hashing, RSS, checksum offloading, and native IEEE PTP timestamping. A Linux driver is included that integrates with the Linux networking stack. Development and debugging is facilitated by an extensive simulation framework that covers the entire system from a simulation model of the driver and PCI express interface on one side to the Ethernet interfaces on the other side.

Corundum has several unique architectural features. First, transmit, receive, completion, and event queue states are stored efficiently in block RAM or ultra RAM, enabling support for thousands of individually-controllable queues. These queues are associated with interfaces, and each interface can have multiple ports, each with its own independent scheduler. This enables extremely fine-grained control over packet transmission. Coupled with PTP time synchronization, this enables high precision TDMA.

Corundum currently supports Xilinx Ultrascale and Ultrascale Plus series devices. Designs are included for the following FPGA boards:

  • Alpha Data ADM-PCIE-9V3 (Xilinx Virtex Ultrascale Plus XCVU3P)
  • Exablaze ExaNIC X (Xilinx Kintex Ultrascale XCKU) )
  • Exablaze ExaNIC X (Xilinx Kintex Ultrascale Plus XCKU3P)
  • Xilinx VCU (Xilinx Virtex Ultrascale XCVU 108
  • Xilinx VCU (Xilinx Virtex Ultrascale Plus) XCVU9P)
  • For operation at G and G, Corundum uses the open source (G /) *************************************************************************************** G MAC and PHY modules from the verilog-ethernet repository, no extra licenses are required. However, it is possible to use other MAC and / or PHY modules. Operation at G currently requires using the Xilinx CMAC core with RS-FEC enabled, which is covered by the free CMAC license on Xilinx Ultrascale parts.

    ******** Documentation****************** (Modules)