SIKORA, M. Vliv jazyků vysoké úrovně na výsledný fyzický návrh číslicových obvodů do FPGA [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2018.

Posudky

Posudek vedoucího

Šťáva, Martin

Student Martin Sikora vypracoval bakalářskou práci, která je svým charakterem prací předvýzkumnou z oblasti číslicového návrhu. Hlavními cíli práce byly: výběr a příprava nástrojů pro vysokoúrovňovou syntézu (HLS), výběr problémů popsaných v jazyku vyšší, popř. i nižší úrovně a porovnání výsledků jejich fyzické implementace do FPGA. Kladné stránky z formálního hlediska jsou především přiměřená strukturovanost a stručnost práce, kapitoly na sebe logicky navazují a vztahují se k tématu práce. Za zdařilou považuji kapitolu 2.2 s přehledem nástrojů HLS od různých výrobců/autorů a úskalí práce s nimi. Text práce je přiměřeně čtivý, i když místy popisně strohý. Použité literární zdroje jsou vhodné, v přiměřeném počtu, různého typu (časopisecké články, sborníkové příspěvky aj.) a jsou řádně citovány, a to formálně téměř správně podle doporučené citační normy. Z odborného hlediska hodnotím celkový přístup Martina Sikory k řešení zadaného úkolu jako dobrý – v průběhu zpracování práce řešil úkoly samostatně, bohužel v některých případech až moc, což se neblaze projevilo především na metodice získávání výsledků a závěru samotném. Společně jsme se dohodli na výběru nástrojů HLS i na obou metodách porovnání jednotlivých nástrojů a odsouhlasili si prvotní kritéria porovnání. Student samostatně vyhledal a já odsouhlasil harvardskou sadu zkušebních úloh (algoritmů) MachSuite. Od samého počátku jsem studenta nabádal k vytvoření skriptů pro jednotlivé nástroje HLS, aby získávání výsledků bylo co nejvíce automatizované bez nutnosti přílišných ručních zásahů. Na přiloženém elektronickém médiu bohužel tyto skripty nejsou přítomny. Samotný text práce o způsobu získáváni výsledků rovněž mlčí a nejsou ani jasné parametry spouštění, které mají na výsledky nemalý vliv. V teoretické kapitole 2.2.1 je zmíněno, že návrhář má možnost omezit počet využitých prostředků (což platí obecně pro všechny nástroje), ovšem v praktické části o takovémto (ne)omezení není ani slovo. Zpracování praktické části i závěru potom proběhlo zcela samostatně, bez naší společné dohody a usměrnění. Proto výsledky je potřeba brát s velkou rezervou: 1) Není zaručeno a v práci ani zmíněno, že po syntéze konkrétní úlohy (algoritmu) bude výsledný obvod pracovat tak, jak má. 2) Výsledky, u nichž nejsou zřejmé omezující podmínky (constraints), za nichž byly získány, mají nízkou výpovědní hodnotu. 3) Že fyzická syntéza z vysokoúrovňového popisu algoritmu produkuje podle stanovených prvotních kritérií lepší výsledky než fyzická syntéza z nízkoúrovňového popisu algoritmu, odporuje nevyřčené hypotéze, kterou zatím bohužel není možné zamítnout z důvodu nejasného získání výsledků. V průběhu semestru jsem několikrát zdůrazňoval, že bych byl rád přítomen získávání výsledků např. s nástrojem Stratus HLS, a že se proto dohodneme na schůzce, až student půjde do laboratoře s tímto nástrojem pracovat – přizván jsem bohužel nebyl. Z hlediska jazykového a typografického shledávám práci velmi dobrou a zdařilou s nízkým počtem pravopisných chyb a překlepů (např. „zjistit zda lze“ na str. 9; „cyklu tam kde potřebuje“ na str. 13; „Tyto pravidla“ na str. 13; „… FPGA a zároveň“ na str. 15; „společnosti Synfora. [1] Synphony C Compiler“ na str. 18; „dvě metody z nichž jedna“ na str. 19; „signálu a proto musí“ na str. 22; „stejné firmy - Vivado“ na str. 23 aj.), dodržující současná pravidla jazyka českého. Přínos bakalářské práce vidím především v rozchození a přípravě skriptů pro získávání výsledků fyzické syntézy, v získání prvotních výsledků a studentovo seznámení se s nástroji HLS. Nicméně práce poslouží jako nutné východisko pro navazující práci inženýrskou, v níž se uvedené nedostatky odstraní, provede se upřesnění stanovených kritérií pro porovnání a důsledné získání výsledků s různými omezujícími podmínkami. Vzhledem k náročnosti tématu považuji práci na bakalářské úrovni za přijatelnou s nemalým množstvím studentova úsilí, práce a nasazení a v inženýrském pokračování potom bude prací velmi přínosnou, žádanou a původní. Závěrem konstatuji, že zadání práce bylo splněno, i když s jistými výhradami a výsledky diskutabilními. Protože student Martin Sikora se dokázal velmi dobře zorientovat v problematice nástrojů HLS použitelných pro fyzickou syntézu a připravit se k řešení výzkumného problému, protože textovou část práce na bakalářské úrovni sepsal dobře, hodnotím jeho bakalářskou práci celkovou známkou C (dobře) s počtem 78 bodů a doporučuji k obhajobě.

Navrhovaná známka
C
Body
78

Posudek oponenta

Dvořák, Vojtěch

Student Martin Sikora vypracoval bakalářskou práci na téma Vliv jazyků vysoké úrovně na výsledný fyzický návrh číslicových obvodů do FPGA. V práci se zabýval porovnáním implementace algoritmů popsaných na vyšší úrovni abstrakce s implementací popsanou na úrovni RTL a také porovnáním efektivity různých nástrojů pro behaviorální syntézu při implementaci stejného kódu. Po formální stránce je práce na velmi dobré úrovni. Po odborné stránce mám k práci několik výhrad. Text práce je poměrně krátký, jen 19 stran, přičemž asi dvě třetiny práce se věnují teoretickému rozboru. Tato část práce seznamuje čtenáře s behaviorální syntézou a stručně představuje dostupné nástroje, ať už komerční či vyvíjené na půdě akademických institucí. V závěru teoretické části je představena metoda porovnání nástrojů a vyhodnocovací kritéria. Praktická část je stručná a obsahuje jen výsledky syntézy pro jednotlivé nástroje. Postrádám však více informací o jednotlivých algoritmech a prvotní odhad využití zdrojů pro jednotlivé algoritmy, aby bylo možné ověřit, zda syntéza proběhla dle očekávání. Z textu práce také není zřejmé nastavení behaviorální či logické syntézy, které má na výsledné parametry návrhu nezanedbatelný vliv. Dosažené výsledky syntézy jsou velmi odlišné v závislosti na použitém nástroji a dle mého názoru nemohou být vysvětleny rozdílem mezi jednotlivými nástroji, ale spíše chybným nastavením syntézy. V práci také postrádám rozsáhlejší diskuzi a objasnění dosažených výsledků. Výše uvedené připomínky je však třeba brát s jistou rezervou. Zadání práce je velmi obecné a spíše odpovídá výzkumnému záměru než požadavkům na bakalářskou práci. Nepovažuji tedy za možné, aby se student v průběhu dvou semestrů dokázal seznámit s komplexní problematiku behaviorální syntézy a provést objektivní porovnání kvality dostupných nástrojů. Práci navrhuji k obhajobě s hodnocením D/65 bodů.

Navrhovaná známka
D
Body
65

Otázky

eVSKP id 111770