Xilinx KCU116: la piattaforma di sviluppo FPGA a 100 Gbps economica per rete e storage

Di Thanaporn Sangpaithoon

La famiglia Kintex® UltraScale+™ è considerata il miglior dispositivo FPGA in termini di rapporto prezzo/prestazioni in watt creata sulla base della tecnologia TSMC 16 nm FinFET di Xilinx®. Combinando la nuova UltraRAM e la nuova tecnologia di ottimizzazione dell'interconnessione (SmartConnect), questo dispositivo è la soluzione più conveniente per applicazioni che richiedono transceiver ad alta capacità per core di connettività a 100 Gbps. Questa famiglia è progettata appositamente per applicazioni di connettività di rete e storage come l'elaborazione dei pacchetti di rete e la tecnologia wireless MIMO, le reti cablate a 100 Gbps, l'accelerazione della connettività di rete industriale e dei data center e l'accelerazione dello storage NVMe su SSD (unità a stato solido). Questo articolo dimostra la soluzione a 100 Gbps della rete TCP Offload Engine e l'implementazione dell'SSD NVMe sul kit di valutazione KCU116 di Xilinx utilizzando il core TOE100G-IP di Design Gateway per soluzioni CPU con trasmissione TCP a 12 GB/s su interfaccia 100 GbE e core NVMeG4-IP in grado di raggiungere prestazioni incredibilmente veloci di circa 4 GB/s per SSD.

Introduzione al kit di valutazione Kintex® UltraScale+ KCU116

Il kit KCU116 è ideale per valutare le caratteristiche chiave di Kintex UltraScale+, in particolare le prestazioni del transceiver a 28 Gbps. Questo kit è adatto alla prototipazione rapida basata su un dispositivo FPGA XCKU5P-2FFVB676E.

Inclusi nella scheda sono 1 GB di DDR4-2666 a 32 bit, porte di espansione FMC per SSD 1 x M.2 NVMe e PCIe Gen4 x8 canali per un'interfaccia SSD fino a 2 x M.2 NVMe. I transceiver 16 x 28 Gbps GTY sono disponibili sia per l'implementazione dell'interfaccia PCIe Gen4 sia 100 GbE e offrono una varietà di interfacce periferiche e di logica FPGA per progetti personalizzabili.

Immagine del kit di valutazione KCU116 di Xilinx (fare clic per ingrandire)Figura 1: Kit di valutazione KCU116 (Immagine per gentile concessione di Xilinx Inc.)

Insieme ai core IP di Design Gateway, il kit KCU116 fornisce tutto l'occorrente per sviluppare soluzioni di connettività di rete e storage a 100 Gbps all'avanguardia senza supporto MPSoC.

Implementazione di soluzioni di connettività di rete e storage a 100 Gbps

Schema della soluzione di connettività di rete e storage a 100 Gbps su KCU116Figura 2: Soluzione di connettività di rete e storage a 100 Gbps su KCU116 (Immagine per gentile concessione di Design Gateway)

Anche se i dispositivi Kintex UltraScale+ non includono la tecnologia MPSoC come Zynq UltraScale+, l'elaborazione dei protocolli di rete e di storage NVMe può essere implementata senza ricorrere a processori e OS sfruttando le soluzioni di core IP di Design Gateway:

  1. TOE100G-IP: core IP con stack di protocollo 100 GbE senza richiedere una CPU
  2. NVMeG4-IP: controller host NVMe autonomo con Soft IP PCIe Gen4 integrato

Sia TOE100G-IP che NVMeG4-IP possono funzionare senza richiedere CPU/OS/driver. La logica utente per il controllo e il percorso dati con entrambi gli IP può essere implementata da pura logica hardware o OS bare-metal di Microblaze, per lo sviluppo di applicazioni e algoritmi di alto livello più veloce e più facile senza doversi preoccupare di complicati protocolli di rete e NVMe. Questo apre a nuove opportunità per soluzioni avanzate a livello di sistema come l'acquisizione di dati da sensori, il calcolo su scheda e i dispositivi di edge computing basati sull'IA.

TOE100G-IP di Design Gateway per il dispositivo UltraScale

Immagine dei sistemi TOE100G-IPFigura 3: I sistemi TOE100G-IP (Immagine per gentile concessione di Design Gateway)

Il core IP TOE100G implementa lo stack TCP/IP (in logica cablata) si connette al modulo di sottosistema 100 Gb Ethernet di Xilinx per l'hardware di livello inferiore. L'interfaccia utente dell'IP TOE100G consiste in un'interfaccia di registro per i segnali di controllo e un'interfaccia FIFO per i segnali di dati. L'IP TOE100G è progettato per connettersi al sottosistema 100 Gb Ethernet che utilizza un AXI4-ST a 512 bit per connettersi all'interfaccia utente. Il sottosistema Ethernet, fornito da Xilinx, include le funzioni EMAC, PCS e PMA. La frequenza di clock dell'interfaccia utente del sottosistema 100 Gb Ethernet è pari a 322,265625 MHz.

Caratteristiche di TOE100G-IP

  • Implementazione completa dello stack TCP/IP
  • Supporta una sessione da un IP TOE100G (la multisessione può essere implementata usando più IP TOE100G)
  • Supporta le modalità server e client (apertura e chiusura passiva/attiva)
  • Supporta il frame Jumbo
  • Semplice interfaccia dati tramite FIFO standard
  • Interfaccia di controllo semplice tramite RAM a porta singola

Gli usi delle risorse FPGA sul dispositivo FPGA XCKU5P-2FFVB676E sono mostrati nella Tabella 1 qui sotto.

Famiglia Dispositivo di esempio Fmax (MHz) CLB Regs CLB LUT CLB IOB BRAMTile URAM GTY Strumenti di progettazione
Kintex-Ultrascale+ XCKU5P-FFVB676-2E 350 12883 17535 3208 - 53 - 4 Vivado2019.1

Tabella 1: Statistiche di un'implementazione di esempio del dispositivo Kintex Ultrascale+

Maggiori informazioni su TOE100G-IP sono disponibili nella scheda tecnica che può essere scaricata dal sito Web di Design Gateway.

Controller host NVMe PCIe Gen4 di Design Gateway per transceiver GTY

Kintex UltraScale+ presenta un transceiver GTY in grado di supportare un'interfaccia PCIe Gen4, ma non offre un blocco integrato PCIe Gen4 e un processore Arm.

Design Gateway ha risolto questo problema sviluppando il core NVMeG4-IP, in grado di funzionare come controller host NVMe autonomo con Soft IP PCIe integrato e logica di ponte PCIe in single core. L'abilitazione dell'accesso SSD NVMe PCIe Gen4 semplifica l'interfaccia utente e permette di progettare molte funzioni standard per facilitare l'uso senza particolari conoscenze del protocollo NVMe.

Immagine del diagramma a blocchi di NVMeG4-IPFigura 4: Diagramma a blocchi di NVMeG4-IP (Immagine per gentile concessione di Design Gateway)

Caratteristiche di NVMeG4-IP

  • Permette di implementare il livello dell'applicazione, delle transazioni, dei collegamenti dati e alcune parti dello strato fisico per accedere all'SSD NVMe senza una CPU o memoria DDR esterna
  • Funziona con PCIe PHY IP di Xilinx configurato come PCIe Gen4 a 4 canali (interfaccia bus a 256 bit)
  • Include un buffer di dati RAM di 256 kB
  • Supporta sei comandi: Identify, Shutdown, Write, Read, SMART e Flush (è disponibile il supporto di comandi aggiuntivi opzionali)
  • La frequenza di clock dell'utente deve essere maggiore o uguale al clock PCIe (250 MHz per Gen4)

Gli usi delle risorse FPGA sul dispositivo FPGA XCKU5P-2FFVB676E sono mostrati nella Tabella 2 qui sotto.

Famiglia Dispositivo di esempio Fmax (MHz) CLB Regs CLB LUT CLB IOB BRAMTile URAM GTY Strumenti di progettazione
Kintex-Ultrascale+ XCKU5P-FFVB676-2E 300 19214 21960 4382 - 12 8 4 Vivado2019.1

Tabella 2: Statistiche di un'implementazione di esempio del dispositivo Kintex Ultrascale+

Maggiori informazioni su NVMeG4-IP sono disponibili nella scheda tecnica che può essere scaricata dal sito Web di Design Gateway.

Esempio di implementazione di TOE100G-IP e risultato delle prestazioni su KCU116

La Figura 5 mostra la panoramica del progetto di riferimento basato su KCU116 per dimostrare l'implementazione di TOE100G-IP. Il sistema dimostrativo include sistemi OS bare-metal di Microblaze, logica utente e sottosistemi 100 Gb Ethernet di Xilinx.

Immagine del diagramma a blocchi del sistema dimostrativo TOE100G-IPFigura 5: Diagramma a blocchi del sistema dimostrativo TOE100G-IP (Immagine per gentile concessione di Design Gateway)

Il sistema dimostrativo è destinato a valutare il funzionamento di TOE100G-IP in modalità client e server. La logica di test permette di inviare e ricevere dati con un modello di test impostato per la massima velocità dati possibile sul lato dell'interfaccia utente. Per un'interfaccia 100 GbE con KCU116, sono necessari quattro transceiver SFP+ (25GBASE-R) e un cavo in fibra come mostra la Figura 6.

Immagine dell'ambiente dimostrativo di TOE100G-IP impostato su KCU116Figura 6: Ambiente dimostrativo di TOE100G-IP impostato su KCU116 (Immagine per gentile concessione di Design Gateway)

Il risultato dei test di esempio quando si confrontano 100G con altri (1G/10G/25G/40G) è illustrato nella Figura 7.

Grafico del confronto delle prestazioni di TOE100G-IP con 1G/10G/25G/40G su KCU116Figura 7: Confronto delle prestazioni di TOE100G-IP con 1G/10G/25G/40G su KCU116 (Immagine per gentile concessione di Design Gateway)

Il risultato del test dimostra che TOE100G-IP può raggiungere una velocità di circa 12 GB/s di trasmissione TCP.

Esempio di implementazione NVMeG4-IP e risultato delle prestazioni su KCU116

La Figura 8 mostra la panoramica del progetto di riferimento basato su KCU116 per dimostrare l'implementazione di 1CH NVMeG4-IP. È possibile implementare più istanze di NVMeG4-IP per ottenere prestazioni di storage superiori se le risorse FPGA sono disponibili dal progetto personalizzato dell'utente.

Per maggiori dettagli sul progetto di riferimento NVMeG4-IP consultare il documento del progetto di riferimento NVMeG4-IP messo a disposizione sul sito Web di Design Gateway.

Panoramica schematica del progetto di riferimento NVMeG4-IPFigura 8: Panoramica del progetto di riferimento NVMeG4-IP. (Immagine per gentile concessione di Design Gateway)

Il sistema di dimostrazione è progettato per scrivere/verificare i dati con SSD NVMe su KCU116. L'utente controlla il funzionamento del test tramite una console seriale. Per l'interfacciamento di SSD NVMe con KCU116, occorre una scheda di espansione AB18-PCIeX16 come mostrato nella Figura 9.

Immagine dell'ambiente dimostrativo NVMeG4-IP impostato su KCU116 (fare clic per ingrandire)Figura 9: Ambiente dimostrativo di NVMeG4-IP impostato su KCU116 (Immagine per gentile concessione di Design Gateway)

Il risultato del test di esempio quando si esegue il sistema dimostrativo su KCU116 con Samsung 970 Pro da 512 GB è riportato nella Figura 10.

Grafico delle prestazioni di lettura/scrittura dell'SSD NVMe su KCU116 utilizzando Samsung 970 PRO SFigura 10: Prestazioni di lettura/scrittura di SSD NVMe su KCU116 utilizzando Samsung 970 PRO S. (Immagine per gentile concessione di Design Gateway)

Conclusione

I core TOE100G-IP e NVMeG4-IP sono la soluzione ideale per sfruttare la capacità di connettività a 100 Gbps sulla scheda KCU116 per implementare applicazioni di connettività di rete e storage NVMe. Un core TOE100G-IP supporta circa 12 GB/s di trasmissione TCP su 100 GbE. Un core NVMeG4-IP può fornire storage ad altissime prestazioni con NVMe PCIe Gen4 a circa 4 GB/s per SSD. Si possono utilizzare istanze multiple di NVMeG4-IP per formare un controller RAID0 e aumentare le prestazioni di storage per uguagliare la velocità di trasmissione di 100 GbE.

Il kit di valutazione KCU116 e le soluzioni IP di connettività di rete e storage di Design Gateway consentono di raggiungere l'obiettivo delle massime prestazioni possibili con il minor utilizzo possibile delle risorse FPGA per una soluzione o un prodotto molto conveniente basato sul dispositivo Kintex UltraScale+® di Xilinx®.

Per maggiori dettagli su TOE100G-IP e NVMeG4-IP, la scheda tecnica, il progetto di riferimento e la configurazione dell'ambiente dimostrativo sono disponibili sul sito Web di Design Gateway:

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

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

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Thanaporn Sangpaithoon

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.