Xilinx KCU116: Die kosteneffiziente FPGA-Entwicklungsplattform für Netzwerke und Speicher mit 100 Gbit/s

Von Thanaporn Sangpaithoon

Die Kintex®-UltraScale+™-Familie gilt als der FPGA-Baustein mit dem besten Preis-Leistungs-Verhältnis, der auf der TSMC-16nm-FinFET-Technologie von Xilinx® basiert. In Kombination mit dem neuen UltraRAM und der neuen Interconnect-Optimierungstechnologie (SmartConnect) bietet dieser Baustein die kostengünstigste Lösung für Anwendungen, die Transceiver mit High-End-Fähigkeiten für 100-Gbit/s-Netzwerkkerne benötigen. Diese Produktfamilie wurde speziell für Netzwerk- und Speicheranwendungen entwickelt, z. B. für die Verarbeitung von Netzwerkpaketen und drahtlose MIMO-Technologie, kabelgebundene Netzwerke mit 100 Gbit/s, Netzwerkbeschleunigung in Industrie- und Rechenzentren sowie NVMe-SSD-Speicherbeschleunigung (SSD: Halbleiterfestplatte). Dieser Artikel demonstriert die 100-Gbit/s-Lösung des TCP-Offload-Engine-Netzwerks und der NVMe-SSD-Implementierung auf dem KCU116-Evaluierungskit von Xilinx unter Verwendung des TOE100G-IP-Kerns von Design Gateway, der für CPU-Lösungen mit 12 GB/s TCP-Übertragung über die 100-GbE-Schnittstelle gedacht ist, und des NVMeG4-IP-Kerns, der eine unglaublich schnelle Leistung von etwa 4 GB/s pro SSD erreichen kann.

Einführung in das Kintex®-UltraScale+-Evaluierungskit KCU116

Das Evaluierungskit KCU116 von Xilinx ist ideal für die Evaluierung der Hauptmerkmale des Kintex UltraScale+, insbesondere der Leistung von 28-Gbit/s-Transceivern. Dieses Kit eignet sich gut für das Rapid Prototyping auf der Basis des FPGA-Bausteins XCKU5P-2FFVB676E.

Auf dem Board befinden sich 1 GB an 32-Bit-DDR4-2666, FMC-Erweiterungsports für eine M.2-NVMe-SSD und PCIe-Gen4-x8-Spuren für bis zu zwei M.2-NVMe-SSD-Schnittstellen. Die 16 x 28 Gbit/s GTY-Transceiver sind sowohl für die Implementierung von PCIe-Gen4- als auch von 100GbE-Schnittstellen verfügbar und verfügen über eine Vielzahl von Peripherieschnittstellen und FPGA-Logik für benutzerdefinierte Designs.

Abbildung: Diagramm des Evaluierungskits KCU116 von Xilinx (zum Vergrößern anklicken)Abbildung 1: Evaluierungskit KCU116. (Bildquelle: Xilinx Inc.)

Zusammen mit den IP-Kernen von Design Gateway bietet die KCU116 alles, was notwendig ist, um hochmoderne 100-Gbit/s-Netzwerk- und Speicherlösungen zu entwickeln, ohne dass eine MPSoC-Unterstützung erforderlich ist.

Implementierung von Netzwerken und Speicherlösungen für 100 Gbit/s

Diagramm der 100-Gbit/s-Netzwerk- und -Speicherlösung auf der KCU116Abbildung 2: 100-Gbit/s-Netzwerk- und Speicherlösung auf der KCU116. (Bildquelle: Design Gateway)

Obwohl Kintex-UltraScale+-Bausteine nicht über die MPSoC-Technologie wie Zynq UltraScale+ verfügen, ist es möglich, die Netzwerk- und NVMe-Speicherprotokollverarbeitung ohne Prozessoren und Betriebssysteme zu implementieren, indem man die IP-Kern-Lösungen von Design Gateway nutzt:

  1. TOE100G-IP: Kompletter 100GbE-TCP-Protokollstapel-IP-Kern, benötigt keine CPU
  2. NVMeG4-IP: Eigenständiger NVMe-Host-Controller mit integrierter PCIe-Gen4-Soft-IP

Sowohl TOE100G-IP als auch NVMeG4-IP können ohne CPU/OS/Treiber betrieben werden. Die Benutzerlogik für den Steuer- und Datenpfad kann mit beiden IPs durch reine Hardware-Logik oder ein Bare-Metal-Betriebssystem von Microblaze implementiert werden. Dies ermöglicht eine schnellere und einfachere Entwicklung von High-Level-Anwendungen und Algorithmen, ohne dass man sich um komplizierte Netzwerk- und NVMe-Protokolle kümmern muss. Dies eröffnet neue Möglichkeiten für hochentwickelte Lösungen auf Systemebene, wie z. B. die Erfassung von Sensordaten, On-Board-Berechnungen und KI-basierte Edge-Computing-Geräte.

TOE100G-IP von Design Gateway für UltraScale+-Geräte

Bild von TOE100G-IP-SystemenAbbildung 3: TOE100G-IP-Systeme. (Bildquelle: Design Gateway)

Der TOE100G-IP-Kern implementiert den TCP/IP-Stack (in der Hardwire-Logik) und ist mit dem 100-Gb-Ethernet-Subsystem-Modul von Xilinx für die untere Hardware-Schicht verbunden. Die Benutzerschnittstelle des TOE100G-IP besteht aus einer Registerschnittstelle für Steuersignale und einer FIFO-Schnittstelle für Datensignale. Die TOE100G-IP ist für die Verbindung mit dem 100-Gb-Ethernet-Subsystem konzipiert, das einen 512 Bit AXI4-ST zur Verbindung mit der Benutzerschnittstelle verwendet. Das von Xilinx bereitgestellte Ethernet-Subsystem umfasst EMAC-, PCS- und PMA-Funktionen. Die Taktfrequenz der Benutzerschnittstelle des 100-Gbit-Ethernet-Subsystems beträgt 322,265625 MHz.

Merkmale des TOE100G-IP

  • Vollständige TCP/IP-Stack-Implementierung
  • Unterstützung einer Sitzung durch eine TOE100G-IP (Multisession kann durch Verwendung mehrerer TOE100G-IPs implementiert werden)
  • Unterstützt sowohl den Server- als auch den Client-Modus (passives/aktives Öffnen und Schließen)
  • Unterstützung von Jumbo-Frame
  • Einfache Datenschnittstelle durch Standard-FIFO-Schnittstelle
  • Einfache Steuerschnittstelle durch Single-Port-RAM-Schnittstelle

Die Nutzung der FPGA-Ressourcen auf dem FPGA-Baustein XCKU5P-2FFVB676E ist in Tabelle 1 dargestellt.

Familie Beispiel-Komponente Fmax (MHz) CLB-Register CLB-LUTs CLB IOB BRAMTile URAM GTY Designtools
Kintex-Ultrascale+ XCKU5P-FFVB676-2E 350 12883 17535 3208 - 53 - 4 Vivado2019.1

Tabelle 1: Beispiel-Implementierungsstatistik für Kintex-Ultrascale+-Komponente

Weitere Einzelheiten zum TOE100G-IP sind im Datenblatt beschrieben, das von der Website von Design Gateway heruntergeladen werden kann.

NVMe-PCIe-Gen4-Host-Controller von Design Gateway für GTY-Transceiver

Der Kintex UltraScale+ verfügt über einen GTY-Transceiver, der eine PCIe-Gen4-Schnittstelle unterstützt, aber ein integrierter PCIe-Gen4-Block und ARM-Prozessor sind nicht verfügbar.

Design Gateway hat dieses Problem durch die Entwicklung des NVMeG4-IP-Kerns gelöst, der als eigenständiger NVMe-Host-Controller mit integrierter PCIe-Soft-IP und PCIe-Brückenlogik in einem einzigen Kern ausgeführt werden kann. Die Aktivierung des NVMe-PCIe-Gen4-SSD-Zugriffs vereinfacht die Benutzerschnittstelle und ermöglicht die Entwicklung von Standardfunktionen für eine einfache Nutzung, ohne dass Kenntnisse über das NVMe-Protokoll erforderlich sind.

Abbildung zum Blockdiagramm von NVMeG4-IPAbbildung 4: NVMeG4-IP-Blockdiagramm. (Bildquelle: Design Gateway)

Merkmale des NVMeG4-IP

  • Kann die Anwendungsschicht, die Transaktionsschicht, die Datenverbindungsschicht und einige Teile der physischen Schicht implementieren, um auf das NVMe-SSD ohne CPU oder externen DDR-Speicher zuzugreifen
  • Betrieb mit PCIe-PHY-IP von Xilinx konfiguriert als 4-spurige PCIe-Gen4 (256-Bit-Busschnittstelle)
  • Einschließlich 256 KByte RAM-Datenpuffer
  • Unterstützt sechs Befehle, d.h. Identify, Shutdown, Write, Read, SMART und Flush (optionale Unterstützung weiterer Befehle möglich)
  • Die Benutzer-Taktfrequenz muss größer oder gleich dem PCIe-Takt sein (250 MHz für Gen4)

Die Nutzung der FPGA-Ressourcen auf dem FPGA-Baustein XCKU5P-2FFVB676E ist in Tabelle 2 dargestellt.

Familie Beispiel-Komponente Fmax (MHz) CLB-Register CLB-LUTs CLB IOB BRAMTile URAM GTY Designtools
Kintex-Ultrascale+ XCKU5P-FFVB676-2E 300 19214 21960 4382 - 12 8 4 Vivado2019.1

Tabelle 2: Beispiel-Implementierungsstatistik für Kintex-Ultrascale+-Komponente

Weitere Einzelheiten zum NVMeG4-IP sind im Datenblatt beschrieben, das von der Website von Design Gateway heruntergeladen werden kann.

Beispiel einer TOE100G-IP-Implementierung und Leistungsergebnisse auf der KCU116

Abbildung 5 zeigt einen Überblick über das Referenzdesign auf der Basis des KCU116 zur Demonstration der TOE100G-IP-Implementierung. Das Demosystem umfasst das Bare-Metal-OS von Microblaze Systems, Benutzerlogik und 100Gb-Ethernet-Subsysteme von Xilinx.

Bild des Blockdiagramms für das TOE100G-IP-DemosystemAbbildung 5: Blockdiagramm des TOE100G-IP-Demosystems. (Bildquelle: Design Gateway)

Das Demosystem wurde entwickelt, um den TOE100G-IP-Betrieb sowohl im Client- als auch im Server-Modus zu evaluieren. Die Testlogik ermöglicht das Senden und Empfangen von Daten mit einem Testmuster für die höchstmögliche Datengeschwindigkeit auf der Benutzerschnittstellenseite Für eine 100-GbE-Schnittstelle mit KCU116 werden vier SFP+-Transceiver (25GBASE-R) und ein Glasfaserkabel benötigt (siehe Abbildung 6).

Bild der TOE100G-IP-Demoumgebung auf der KCU116Abbildung 6: TOE100G-IP-Demoumgebung, eingerichtet auf dem KCU116. (Bildquelle: Design Gateway)

Ein Beispiel für das Testergebnis beim Vergleich von 100G mit anderen (1G/10G/25G/40G) ist in Abbildung 7 dargestellt.

Grafik des TOE100G-IP-Leistungsvergleichs mit 1G/10G/25G/40G auf der KCU116Abbildung 7: TOE100G-IP-Leistungsvergleich mit 1G/10G/25G/40G auf der KCU116. (Bildquelle: Design Gateway)

Das Testergebnis zeigt, dass TOE100G-IP in der Lage ist, eine TCP-Übertragungsgeschwindigkeit von etwa 12 GB/s zu erreichen.

Beispiel einer NVMeG4-IP-Implementierung und Leistungsergebnisse auf der KCU116

Abbildung 8 zeigt einen Überblick über das Referenzdesign auf der Basis des KCU116 zur Demonstration der 1CH NVMeG4-IP-Implementierung. Es ist möglich, mehrere Instanzen von NVMeG4-IP zu implementieren, um eine höhere Speicherleistung zu erzielen, wenn die FPGA-Ressourcen des benutzerspezifischen Designs verfügbar sind.

Weitere Einzelheiten zum NVMeG4-IP-Referenzdesign finden Sie im NVMeG4-IP-Referenzdesign-Dokument auf der Website von Design Gateway.

Diagramm des NVMeG4-IP-Referenzdesigns im ÜberblickAbbildung 8: Übersicht zum NVMeG4-IP-Referenzdesign. (Bildquelle: Design Gateway)

Das Demosystem ist für das Schreiben/Verifizieren von Daten mit der NVMe-SSD auf dem KCU116 ausgelegt. Der Benutzer steuert den Testvorgang über eine serielle Konsole. Für die Schnittstelle des NVMe-SSD mit dem KCU116 ist eine AB18-PCIeX16-Adapterkarte erforderlich, wie in Abbildung 9 dargestellt.

Bild der auf der KCU116 eingerichteten NVMeG4-IP-Demoumgebung (zum Vergrößern anklicken)Abbildung 9: Auf der KCU116 eingerichtete NVMeG4-IP-Demoumgebung. (Bildquelle: Design Gateway)

Das Beispiel-Testergebnis beim Ausführen des Demosystems auf dem KCU116 unter Verwendung des 512 GB Samsung 970 Pro ist in Abbildung 10 dargestellt.

Diagramm der NVMe-SSD-Lese-/Schreibleistung auf dem KCU116 unter Verwendung des Samsung 970 PRO SAbbildung 10: NVMe-SSD-Lese-/Schreibleistung auf dem KCU116 unter Verwendung des Samsung 970 PRO S. (Bildquelle: Design Gateway)

Fazit

Sowohl der TOE100G-IP als auch der NVMeG4-IP Core bieten eine Lösung zur Nutzung der 100-Gbit/s-Vernetzung auf dem KCU116-Board für die Implementierung von Netzwerk- und NVMe-Speicheranwendungen. Ein TOE100G-IP ist in der Lage, etwa 12 GB TCP über 100 GbE zu übertragen. Der NVMeG4-IP kann mit NVMe PCIe Gen4 bei ca. 4 GB/s pro SSD sehr leistungsstarken Speicher bereitstellen. Mehrere Instanzen von NVMeG4-IP können verwendet werden, um einen RAID0-Controller zu bilden und die Speicherleistung zu erhöhen, um die 100-GbE-Übertragungsgeschwindigkeit zu erreichen.

Das KCU116-Evaluierungskit und die Netzwerk- und Speicher-IP-Lösungen von Design Gateway bieten die Möglichkeit, das Ziel der höchstmöglichen Leistung bei geringstmöglichem FPGA-Ressourcenverbrauch für eine sehr kosteneffektive Lösung oder ein Produkt auf Basis des Kintex-UltraScale+®-Bausteins von Xilinx® zu erreichen.

Weitere Details zu TOE100G-IP und NVMeG4-IP, das Datenblatt, das verfügbare Referenzdesign und die Einrichtung der Demo-Umgebung finden Sie auf der Website von Design Gateway unter:

https://dgway.com/TOE100G-IP_X_E.html

https://dgway.com/NVMeG4-IP_X_E.html

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der Digi-Key Electronics oder offiziellen Politik der Digi-Key Electronics wider.

Über den Autor

Thanaporn Sangpaithoon

Thanaporn Sangpaithoon has been working at Design Gateway Co., Ltd. since 2001. He has been involved in FPGA design projects and successfully developed Serial ATA IP Core on Xilinx Virtex-4 in 2006. Now he is General Manager, responsible for sales and business development.