1
0
mirror of https://github.com/corundum/corundum.git synced 2025-01-16 08:12:53 +08:00
Alex Forencich ba55a3c1ed fpga/mqnic: Fix AXIL_CSR_ADDR_WIDTH parameter
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-11-28 18:57:10 -08:00
..
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00
app
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00
lib
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00
2023-11-07 22:48:37 -08:00

Corundum mqnic for Alveo

Introduction

This design targets multiple FPGA boards, including most of the Xilinx Alveo line.

  • FPGA
    • AU50: xcu50-fsvh2104-2-e
    • AU55N/C1100: xcu55n-fsvh2892-2L-e
    • AU200: xcu200-fsgd2104-2-e
    • AU250: xcu250-fsgd2104-2-e
    • AU280: xcu280-fsvh2892-2L-e
    • VCU1525: xcvu9p-fsgd2104-2L-e
  • MAC: Xilinx 100G CMAC
  • PHY: 100G CAUI-4 CMAC and internal GTY transceivers
  • RAM
    • AU50: 8 GB HBM2
    • AU55N/C1100: 8 GB HBM2
    • AU200: 64 GB DDR4 2400 (4x 2G x72 DIMM)
    • AU250: 64 GB DDR4 2400 (4x 2G x72 DIMM)
    • AU280: 32 GB DDR4 2400 (2x 2G x72 DIMM) + 8 GB HBM2
    • VCU1525: 64 GB DDR4 2400 (4x 2G x72 DIMM)

Quick start

Build FPGA bitstream

Run make in the fpga subdirectory to build the bitstream. Ensure that the Xilinx Vivado toolchain components are in PATH.

Build driver and userspace tools

On the host system, run make in modules/mqnic to build the driver. Ensure the headers for the running kernel are installed, otherwise the driver cannot be compiled. Then, run make in utils to build the userspace tools.

Testing

Run make program to program the board with Vivado. Then, reboot the machine to re-enumerate the PCIe bus. Finally, load the driver on the host system with insmod mqnic.ko. Check dmesg for output from driver initialization, and run mqnic-dump -d /dev/mqnic0 to dump the internal state.