FPGA P4 IP-Blöcke

Consilia beteiligte sich an der Entwicklung von Bausteinen und IP-Cores für FPGA-Designs.

Für einen wichtigen Kunden aus dem Netzwerksegment haben wir an der Konzeption und Entwicklung des P4-Kerns für FPGA mitgewirkt. Das System wurde entwickelt, um die Konfigurationen aus der P4-Sprache zu kompilieren und Firmware für ein FPGA zu erstellen, die das Paket-Routing oder andere gewünschte Funktionen realisiert.

Unsere Aufgabe und Herausforderung

Parametrierbar, FPGA herstellerunabhängig

P4 ist eine Programmiersprache und steht für ProgrammingProtocol-independentPacketProcessor. Im Gegensatz zu C oder Python ist es eine domänenspezifische Sprache für Netzwerkgeräte (Switches, NICs, Router, Filter, etc.).

P4 ist für die Weiterleitung von Netzwerkdaten optimiert. Mit P4 kann ein Netzwerkentwickler komplexe Netzwerk-Routing-Konfigurationen ohne umfassende Kenntnisse von Standardprogrammiersprachen entwerfen. Zu den häufig verwendeten Funktionen gehören Paketfilterung, Paketrouting, Header-Änderungen, Tenant-Isolation, Lastausgleich, Flusskontrolle, Inband-Netztelemetrie oder Zugriffskontrolllisten. Es wird von allen großen Netzwerkbetreibern wie Google oder Intel unterstützt.

P4-gesteuertes FPGA-Array

Unsere Aufgabe war es, das bestehende System zu analysieren und eine neue parametrisierbare ALU (Arithmetic-Logic Unit) und den parametrisierbaren Speichercontroller für QDR und DDR RAMs zu entwerfen. Diese Komponenten wurden vom P4-Compiler als Bausteine verwendet, um den gewünschten Paketverarbeitungspfad im FPGA zu erstellen.

Lösung

FPGA-Komponenten mit hohem Datendurchsatz.

Wir haben parametrisierbare IP-Cores entwickelt, die verschiedene vom P4-Sprachcompiler verwendete Netzwerkfunktionen unterstützen. Es gab mehrere Abstraktionsebenen, und die fortschrittlichsten Konstrukte der SystemVerilog-Sprache wurden verwendet, um die Cores parametrisierbar und synthetisierbar zu halten.

Kundennutzen

Leicht programmierbares Netzwerkgerät

Durch die Erstellung parametrisierbarer, synthetisierbarer IP-Cores, die vom P4-Compiler verwendet werden können, erhielt der Kunde eine Reihe von Bausteinen, die einen optimalen Paket-Routing-Pfad im FPGA für die schnellste Paketverarbeitung erstellen können. Der Grad der Komplexität und Parametrisierung, der in den HDL-Code eingebettet ist, ermöglichte die Erstellung eines vereinfachten P4-Compilers.

Wie es hergestellt wird

SystemVerilog HDL

Alle IP-Cores wurden in SystemVerilog entworfen und verwendeten die neuesten unterstützten synthetisierbaren Konstruktionen der Sprache, die es ermöglichten, die Last der Abstraktion und Parametrisierung von SW auf HW zu verlagern. Die Kernentwicklung dauerte etwas länger als die reine Kodierung in SW; die Aufgabe bestand jedoch darin, Kerne zu entwerfen, die die schnellste Paketverarbeitung ermöglichen, und dies ist nur möglich, wenn die Pakete von IP-Kernen in Hardware (FPGA) verarbeitet werden.

Kunde

Kunden aus dem Netzwerksegment

Durchführungszeitraum: 2019—2019

Im Jahr 2019 haben wir mehrere parametrisierte FPGA-Komponenten in SystemVerilog erstellt, die vom P4-Compiler verwendet werden und verschiedene Netzwerkfunktionalitäten realisieren.

Links

Žádné fotky

Weitere Lösungen

Seit der Gründung von Consilia im Jahr 2004 haben wir Dutzende von Projekten abgeschlossen und unterstützt.

In diesem Fall verwendete Dienste

No items found.

Anwendungsbereiche

40+ ENTWICKLER

bereit, Ihnen zu helfen.

Consilia beschäftigt 40+ Entwickler in den Kompetenzbereichen Softwareentwicklung, Softwaretests, Hardwaredesign, RF-Design, FPGA-Design, DSP-Design und PCB-Design.

Sie sind hier:
Fallstudien