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
—
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.
Gallery
Další řešení
Od založení společnosti Consilia v roce 2004 jsme dokončili a podpořili desítky projektů.
Karta 400 Gbit Ethernet Full Profile PCIe x16
Ethernetová terabitová karta je navržena a vhodná pro filtrování TCP paketů na optickém vlákně.
Hlavní osvětlovací systémy pro automobilový průmysl
Naše návrhy desek plošných spojů pro špičkové systémy automobilového osvětlení jsou optimalizovány z hlediska emisního vyzařování, nákladů a výkonu.
Základnová stanice pro síť TETRA
Pozemní základnová stanice je telekomunikační zařízení, které zajišťuje spojení mezi přenosnými jednotkami a mobilní sítí.
Systémové testování při vývoji nového lékařského zařízení pro americký trh
V období 2023-2025 náš tým pracoval na projektu s celosvětově uznávaným výrobcem lékařských zařízení na pilotním projektu vývoje nové irigační pumpy.
Komplexní testování softwaru lékařského embedded produktu
Naší službou komplexního testování softwaru jsme podpořili společnost z oblasti medicínských technologií při vývoji nové verze medicínského produktu (insuflátoru).
Řízení dat a sběr dat PCIe karty
Byli jsme požádáni o přidání nových karet do stávajícího portfolia analogových a digitálních streamovacích karet pro sběr dat.
Služby použité pro tento případ
Cílové trhy
40+ VÝVOJÁŘŮ
připraveno vás podpořit.
Společnost Consilia zaměstnává více než 40 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.





