|
Prostředí pro návrh digitálních obvodů s využitím vlastního jazyka typu HLS
Pastušek, Václav ; Dvořák, Vojtěch (oponent) ; Fujcik, Lukáš (vedoucí práce)
V dnešní době existuje spoustu různých vysokoúrovňových syntéz pro popis digitálních obvodů. Ty nejznámější pak generují VHDL kód z programovacích jazyků jako jsou např.: ANSI C, C++, SystemC, SystemVerilog a MATLAB. Ale ne každý se ztotožní s programováním toho typu, proto je občas dobré přejít na vyšší úroveň abstrakce, kdy se schová vnitřní část komponentů, a pak se dané komponenty volají se vstupy a výstupy. Tato práce se zabývá problematikou návrhu HLS, návrhem vstupního pseudokódu, pseudoknihoven, překladače vytvořeném v jazyce Python, jeho moduly a praktickým použitím.
|
| |
|
Využití funkcionálních jazyků pro hardwarovou akceleraci
Hodaňová, Andrea ; Kadlček, Filip (oponent) ; Fučík, Otto (vedoucí práce)
Cílem této práce je prozkoumat možnosti využití funkcionálního paradigmatu pro hardwarovou akceleraci, konkrétně pro datově paralelní úlohy. Úroveň abstrakce tradičních jazyků pro popis hardwaru, jako VHDL a Verilog, přestáví stačit. Pro popis na algoritmické či behaviorální úrovni se rozmáhají jazyky původně navržené pro vývoj softwaru a modelování, jako C/C++, SystemC nebo MATLAB. Funkcionální jazyky se s těmi imperativními nemůžou měřit v rozšířenosti a oblíbenosti mezi programátory, přesto je předčí v mnoha vlastnostech, např. ve verifikovatelnosti, schopnosti zachytit inherentní paralelismus a v kompaktnosti kódu. Pro akceleraci datově paralelních výpočtů se často používají jednotky FPGA, grafické karty (GPU) a vícejádrové procesory. Praktická část této práce rozšiřuje existující knihovnu Accelerate pro počítání na grafických kartách o výstup do VHDL. Accelerate je možno chápat jako doménově specifický jazyk vestavěný do Haskellu s backendem pro prostředí NVIDIA CUDA. Rozšíření pro vysokoúrovňovou syntézu obvodů ve VHDL představené v této práci používá stejný jazyk a frontend.
|
|
Bezeztrátová komprese dat v IP sítích
Pánek, Richard ; Kajan, Michal (oponent) ; Korček, Pavol (vedoucí práce)
Tato bakalářská práce shrnuje metody použitelné při komprimací dat v IP sítích. Popisuje vývoj a funkcionalitu kompresního algoritmu LZW. Dále popisuje testování komprimace paketů IP sítě pomoci algoritmu LZW, kde bylo dosaženo snížení velikosti na 60% až 70% původní velikosti u páteřního provozu. Je zde uveden postup při vysokoúrovňové syntéze z jazyka C do jazyka VHDL algoritmu LZW.
|
|
Akcelerace analýzy HTTP provozu
Budiský, Jakub ; Martínek, Tomáš (oponent) ; Kořenek, Jan (vedoucí práce)
Tato bakalářská práce se zabývá hardwarovou akcelerací analýzy nejrozšířenějšího protokolu na internetu, HTTP. Cílem je získat zajímavé položky z HTTP hlaviček a dosáhnout propustnosti potřebné k monitorování provozu na vysokorychlostních sítích. Navrhnutá softwarová implementace v jazyce C je optimalizována pro paralelní prostředí a poté převedena do hardwarové architektury s využitím vysokoúrovňové syntézy. Obě řešení jsou otestovány na vzorku dat z reálného provozu a je změřena jejich propustnost. Dosažené výsledky jsou diskutovány a na základě výsledků je navrhnuté další řešení.
|
| |
|
Překladač jazyka P4.16 využívající vysokoúrovňovou syntézu
Neruda, Jakub ; Kekely, Lukáš (oponent) ; Martínek, Tomáš (vedoucí práce)
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.
|
|
Prostředí pro návrh digitálních obvodů s využitím vlastního jazyka typu HLS
Pastušek, Václav ; Dvořák, Vojtěch (oponent) ; Fujcik, Lukáš (vedoucí práce)
V dnešní době existuje spoustu různých vysokoúrovňových syntéz pro popis digitálních obvodů. Ty nejznámější pak generují VHDL kód z programovacích jazyků jako jsou např.: ANSI C, C++, SystemC, SystemVerilog a MATLAB. Ale ne každý se ztotožní s programováním toho typu, proto je občas dobré přejít na vyšší úroveň abstrakce, kdy se schová vnitřní část komponentů, a pak se dané komponenty volají se vstupy a výstupy. Tato práce se zabývá problematikou návrhu HLS, návrhem vstupního pseudokódu, pseudoknihoven, překladače vytvořeném v jazyce Python, jeho moduly a praktickým použitím.
|
| |
| |