Corundum Core

?corundum_core IP-XACT not found.Generate it and the documentation:(cd library/corundum/corundum_core; make)(cd docs; make html)

The Corundum Core is common in all projects and is used by the Corundum Network Stack. It repackages part of the Corundum NIC as an IP Core to be used with the ADI workflow.

Features

  • Supports ARM and Microblaze processors

Files

Name

Description

library/corundum/corundum_core/corundum.v

Verilog source for the Corundum Core top module.

library/corundum/corundum_core/corundum_ip.tcl

TCL script to generate the Vivado IP-integrator project.

library/corundum/corundum_core/mqnic_app_block.v

Verilog source for the Application Core that is found inside the Corundum core.

library/corundum/corundum_core/mqnic_app_custom_params.vh

Verilog header file used to parameterize the Application Core.

library/corundum/corundum_core/mqnic_app_custom_ports.vh

Verilog header file used to create the ports and interfaces for the Application Core.

Configuration Parameters

Name

Description

Interface

Name

Description

Building

This IP uses Corundum NIC repository, which needs to be cloned alongside the HDL repository. Do a git checkout to the latest tested version (commit - 37f2607). When the 10G-based implementation (e.g., in case of K26) is used, apply the indicated patch.

~/workspace$
git clone https://github.com/ucsdsysnet/corundum.git
~/workspace$
cd corundum
~/workspace/corundum$
git checkout 37f2607
~/workspace/corundum$
cd hdl/library/corundum/corundum_core
~/workspace/corundum/hdl/library/corundum/corundum_core$
make

Publications

The following papers pertain to the Corundum source code:

  • J- A. Forencich, A. C. Snoeren, G. Porter, G. Papen, Corundum: An Open-Source 100-Gbps NIC, in FCCM’20. (FCCM Paper, FCCM Presentation)

  • J- A. Forencich, System-Level Considerations for Optical Switching in Data Center Networks. (Thesis)

References