IP bloky FPGA P4

Consilia se podílela na vývoji stavebních IP bloků pro návrh FPGA.

Pro našeho významného zákazníka v síťovém segmentu jsme se podíleli na návrhu a vývoji jádra P4 pro FPGA. Systém byl navržen tak, aby zkompiloval konfiguraci z jazyka P4 a sestavil firmware pro FPGA, který realizoval směrování paketů nebo jinou požadovanou funkci.

IP bloky FPGA P4

Zadání a výzva

Parametrizovatelné, nezávislé na dodavateli FPGA

P4 je programovací jazyk a znamená Programming Protocol-independent Packet Processor. Na rozdíl od jazyka C nebo Python je to jazyk určený pro doménu síťových zařízení (přepínače, síťové karty, směrovače, filtry atd.).

P4 je optimalizován pro předávání síťových dat. Umožňuje vývojářům sítě navrhovat komplexní konfigurace směrování sítě bez rozsáhlé znalosti standardních programovacích jazyků. Mezi běžně používané funkce patří filtrování paketů, směrování paketů, změny záhlaví, izolace klienta, vyrovnávání zatížení, řízení toku, telemetrie v pásmu nebo seznam řízení přístupu. Je podporován všemi velkými hráči v oblasti sítí, jako je Google nebo Intel.

Naším úkolem bylo analyzovat stávající systém a navrhnout novou parametrizovatelnou ALU (Arithmetic —Logic Unit) a parametrizovatelný řadič paměti pro QDR a DDR RAM. Tyto komponenty byly použity kompilátorem P4 jako stavební kameny k vytvoření požadované cesty zpracování paketů v FPGA.

Řešení

Komponenty FPGA s vysokou datovou propustností.

Vytvořili jsme parametrizovatelné IP bloky, které podporují různé síťové funkce používané kompilátorem jazyka P4. Bylo použito několik úrovní abstrakce a nejpokročilejší konstrukce jazyka SystemVerilog, aby byly bloky parametrizovatelné a syntetizovatelné.

Hodnota pro zákazníka

Snadno programovatelné síťové zařízení

Vytvořením parametrizovatelných a syntetizovatelných IP bloků, které lze použít v překladači P4, získal zákazník sadu stavebních bloků, které mohou vytvořit optimální cestu směrování paketů v FPGA pro nejrychlejší zpracování paketů. Úroveň složitosti a parametrizace obsažená v kódu HDL umožnila vytvořit zjednodušený překladač P4.

Jak probíhal vývoj

SystémVerilog HDL

Všechny IP bloky byly navrženy v jazyce SystemVerilog a využívaly nejnovější podporované syntetizovatelné konstrukce tohoto jazyka, které umožnily přenést břemeno abstrakce a parametrizace ze SW na HW. Vývoj byl o něco delší ve srovnání s dobou čistého kódování v SW. Nicméně úkolem bylo navrhnout bloky, které umožní co nejrychlejší zpracování paketů, a to je možné pouze tehdy, když jsou pakety zpracovávány v hardwaru (FPGA).

Klient

Zákazník v síťovém segmentu

Období realizace: 2019—

V roce 2019 jsme vytvořili několik parametrizovaných FPGA komponent v SystemVerilog používaných kompilátorem P4, které realizovaly různé síťové funkce.

Links

Žádné fotky

Další řešení

Od založení společnosti Consilia v roce 2004 jsme dokončili a podpořili desítky projektů.

Služby využité pro tento případ

No items found.

Oblasti využití

30+ VÝVOJÁŘŮ

připraveno vás podpořit.

Společnost Consilia zaměstnává více než 30 vývojářů, kteří se zabývají vývojem softwaru, testováním softwaru, návrhem hardwaru, RF designem, FPGA designem, DSP designem a PCB designem.

Nacházíte se zde:
Případové studie