Název:
Překladač jazyka P4.16 využívající vysokoúrovňovou syntézu
Překlad názvu:
P4.16 Compiler Using High Level Synthesis
Autoři:
Neruda, Jakub ; Kekely, Lukáš (oponent) ; Martínek, Tomáš (vedoucí práce) Typ dokumentu: Diplomové práce
Rok:
2020
Jazyk:
cze
Nakladatel: Vysoké učení technické v Brně. Fakulta informačních technologií
Abstrakt: [cze][eng]
Jazyk P4, určený pro programování funkcionality síťových prvků je v současnosti progresivním trendem na poli síťové administrace. Nicméně tento jazyk se stále vyvíjí a jeho poslední revize P416 výrazně změnila nejen možnosti jazyka a jeho syntax, ale i celý kompilátor. Sdružení CESNET podporuje vývoj P4, a proto i jeho se týká přechod na nový standard. Tato práce zkoumá možné problémy spojené s migrací, konkrétně překlad vysokoúrovňových uživatelských akcí do VHDL popisu s využitím vysokoúrovňové syntézy, zapojování speciálních extern objektů a podporu atomických sekcí. Text diskutuje možné způsoby zapojení HDL komponent, jakož i organizaci jejich paměťového prostoru pro runtime konfiguraci ze software. Taktéž je přiblížena architektura kompilátoru, s praktickými ukázkami realizace základních objektů pro překlad P4 do cílové architektury. Závěr práce demonstruje využití nástroje Vivado HLS pro optimalizaci C++ kódů za účelem co největšího výkonu výsledného obvodu.
The P4 language is currently a hot topic in the field of network administration due to its capability to program the functionality of network devices. This language is still in development and its last revision P416 drastically changed not only the language features and syntax, but also the underlying compiler. The CESNET association supports the development of the P4 language and thus they also need to support the new standard. This work examines possible problems tied to migration, namely issues related to translation of high-level user-defined actions into VHDL description, with the help of High-level Synthesis (HLS), instantiation of so-called extern objects and the support of atomic sections. The text discusses possible ways of interconnecting the HDL components and organisation of their memory space in order to support configuration from software at runtime. The architecture of the p4c compiler is also described, complete with code examples implementing core classes participating in the compilation process. The last part of the work showcases the usage of Vivado HLS for optimizing C++ code in order to get maximum performance from the resulting firmware.
Klíčová slova:
HLS; kompilátor; optimalizace; P4; SDN; Vivado; vysokoúrovňová syntéza; compiler; High-level Synthesis; HLS; optimizations; P4; SDN; Vivado
Instituce: Vysoké učení technické v Brně
(web)
Informace o dostupnosti dokumentu:
Plný text je dostupný v Digitální knihovně VUT. Původní záznam: http://hdl.handle.net/11012/211893