Example Designs

The example designs for the 2x QSFP28 FMC are hosted on Github.

Example Designs
100G/40G Ethernet Example DesignMore infoGit repoDocs
100G Zircon IP Stack Example DesignMore infoGit repoDocs
IBERT Loopback Test DesignsMore infoGit repoDocs

100G/40G Ethernet based example

Description

This example design demonstrates 100G and 40G Ethernet connectivity with QSFP28 modules on AMD Versal, Zynq UltraScale+ and Kintex UltraScale+ development boards. Each QSFP28 port carries a single Ethernet channel over its four bonded transceiver lanes, at a line rate set by the target board’s transceivers:

  • 100G (CAUI-4) on the GTY-based boards, driven by a hardened 100G MAC: the AMD Xilinx Versal Integrated 100G Multirate Ethernet MAC (MRMAC) on the Versal VCK190, or the UltraScale+ Integrated 100G Ethernet (CMAC) on the RFSoC boards (ZCU111/ZCU208/ZCU216) and the Kintex UltraScale+ KCU116.
  • 40G (40GBASE-R4) on the GTH-based ZCU102 and ZCU106, driven by the soft 40G/50G Ethernet Subsystem MAC/PCS, which is also available as alternative targets of the GTY boards.

In every design, packet data is moved to and from DDR by an AXI MCDMA and the ports are driven under Linux (PetaLinux or Yocto) by the AXI Ethernet driver, or bare-metal by the included echo-server application. The KCU116 has no processing system, so it gets a MicroBlaze soft processor in front of the same datapath and is supported with the standalone application only.

Block diagrams

Versal designs (100G MRMAC)

Versal MRMAC 100G example design

Zynq UltraScale+ designs (40G on GTH boards, 100G CMAC on RFSoC boards)

Zynq UltraScale+ 100G/40G example design

Kintex UltraScale+ KCU116 design (MicroBlaze, 100G CMAC)

KCU116 MicroBlaze 100G example design

Supported carrier boards

  • AMD Xilinx KCU116 Kintex UltraScale+ Development board (standalone only, one port)
  • AMD Xilinx ZCU102 Zynq UltraScale+ Development board (40G)
  • AMD Xilinx ZCU106 Zynq UltraScale+ Development board (40G)
  • AMD Xilinx ZCU111 Zynq UltraScale+ Development board
  • AMD Xilinx ZCU208 Zynq UltraScale+ Development board
  • AMD Xilinx ZCU216 Zynq UltraScale+ Development board
  • AMD Xilinx VCK190 Versal AI Core Development board

100G Zircon IP stack example

Description

This example design puts the open-source Zircon IP stack from the FPGA Ninja Taxi transport library behind each of the two 100G Ethernet ports. On the Versal VCK190, each port is driven by its own Integrated MRMAC (CAUI-4, RS-FEC) and Zircon parses and builds the Ethernet/IPv4/UDP headers in hardware, so there is no processor in the datapath. Each port provides a hardware UDP echo, a hardware UDP socket to the processing system, a raw control-plane path (lwIP, for ARP/ICMP/DHCP/TCP), a hardware UDP traffic generator and checker, rate meters and hardware latency measurement using the MRMAC’s IEEE 1588 timestamps. The design sustains full 100 Gb/s line rate in both directions with UDP payloads of 726 bytes and up.

A second target, the Kintex UltraScale+ KCU116, runs the same Zircon datapath on one port using the device’s integrated 100G CMAC with a MicroBlaze control plane. It builds with the free Vivado Standard edition.

Block diagram

2x QSFP28 FMC Zircon design block diagram

Supported carrier boards

  • AMD Xilinx VCK190 Versal AI Core Development board (both ports)
  • AMD Xilinx KCU116 Kintex UltraScale+ Development board (one port, MicroBlaze)

IBERT loopback test designs

Description

These projects test the 2x QSFP28 FMC in loopback using the AMD IBERT (Integrated Bit Error Ratio Tester) core, with either active or passive loopback modules in the QSFP28 cages. They let you run eye scans and measure the link quality of all eight lanes at 10G and 28G line rates. We use these projects internally for development and production test, but feel free to use them to build your own similar test setups. The same repository also contains IBERT designs for our other transceiver-based FMCs.

Supported carrier boards

  • AMD Xilinx VCK190 Versal AI Core Development board (FMCP1)
  • AMD Xilinx VEK280 Versal AI Edge Development board