Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Yaroslav Marushchenko
Acad. year: 2024/2025
Supervisor: Ing. Jiří Matoušek, Ph.D.
Reviewer: Ing. Marcela Zachariášová, Ph.D.
The thesis focuses on the design and implementation of functional verification for selected FPGA components utilizing Multi Value Bus (MVB) and Multi Frame Bus (MFB) as input and output interfaces. The functional verifications are designed based on the Universal Verification Methodology (UVM). All verifications are implemented in SystemVerilog using a framework developed by the CESNET association. The thesis includes the design of the verification environment, the creation of a verification plan, and its implementation. The proposed environments incorporate functional coverage measurement, enabling the evaluation of test completeness, and assert commands, which are used to detect potential design errors during the simulation process. Furthermore, the thesis analyzes the achieved functional verification results, discusses the fulfillment of the defined verification plan, and examines the attained level of functional coverage. The results can serve as a foundation for further functional verifications of similar FPGA components.
Functional verification, Verification plan, UVM, SystemVerilog, FPGA, Multi Buses, MVB, MFB
Date of defence
19.06.2025
Result of the defence
Defended (thesis was successfully defended)
Grading
B
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Computer Systems
Study programme
Information Technology (BIT)
Composition of Committee
prof. Ing. Lukáš Sekanina, Ph.D. (předseda) Ing. Marcela Zachariášová, Ph.D. (člen) Ing. Tomáš Milet, Ph.D. (člen) Ing. Miloš Musil, Ph.D. (člen) Ing. Petr Veigend, Ph.D. (člen)
Supervisor’s reportIng. Jiří Matoušek, Ph.D.
Student byl po celou dobu řešení bakalářské práce nadprůměrně aktivní a ne zcela jednoduché zadání zvládl i s rozšířeními splnit v nemalém předstihu před termínem pro odevzdání. Bakalářskou práci jako celek proto hodnotím známkou A.
Cílem bakalářské práce bylo implementovat a použít UVM verifikační prostředí pro komponenty používané k práci se sběrnicemi MFB a MVB, které byly vyvinuty sdružením CESNET. Navzdory o něco náročnějšímu zadání (náročnost spatřuji především v nutnosti zvládnout poměrně komplexní metodiku UVM a proprietární sběrnice MFB a MVB) byly všechny body zadání splněny a student pro každou ze sběrnic verifikoval ne jednu komponentu (jak požaduje zadání), ale rovnou dvě komponenty. S výsledky bakalářské práce jsem proto velmi spokojen.
Student získával studijní materiály buď na základě vlastní aktivity nebo na základě doporučení odborného konzultanta. Následné využití získaných studijních materiálů však již bylo zcela v jeho režii.
Student byl velmi aktivní po celou dobu řešení bakalářské práce. Své řešení často konzultoval i několikrát týdně a na konzultace byl vždy řádně připraven.
Jak implementační práce, tak technická zpráva byly dokončeny ve značném předstihu před termínem pro odevzdání. Úplná verze technické zprávy prošla před odevzdáním detailním připomínkováním z moji strany a zapracováním vznesených připomínek ze strany studenta.
Implementovaná verifikační prostředí jsou dostupná v repozitáři "ndk-fpga" sdružení CESNET na GitHub. Vzhledem k zaměření práce na verifikaci konkrétních MFB a MVB komponent však nelze očekávat jejich další využití, minimálně ne v aktuální podobě.
Grade proposed by supervisor: A
Reviewer’s reportIng. Marcela Zachariášová, Ph.D.
S ohľadom na náročnosť zadania a praktické využitie hodnotím prácu ako vydarenú, mám ale zopár výhrad k realizácii funkčného pokrytia, konštruktom assert a hranici, ktorá bola stanovená pre pokrytie kódu. Preto hodnotím stupňom B.
Evaluation level: obtížnější zadání
Prácu hodnotím ako náročnejšiu, pretože sa jedná o problematiku UVM verifikácie, ktorá sa na bakalárskom stupni neučí. Študent sa zároveň musel zoznámiť s pomerne komplikovaným UVM frameworkom od združenia Cesnet a vhodne skombinovať existujúce komponenty testbenchu so svojimi rozšíreniami.
Práca má jasne daný koncept, kapitoly na seba dobre nadväzujú. Teoretická časť o UVM je v poriadku, je tam pár nezrovnalostí, ale s ohľadom na náročnosť UVM je to tolerovateľné. Horšie je to s popisom frameworku od združenia Cesnet, z ktorého sa vychádzalo a komponent, ktoré bolo cieľom verifikovať. Uvítala by som nejaké jednoduché príklady. Komponenty síce nie sú zložité, ale príklad často nahradí 1000 slov. Ďalšie časti práce boli v poriadku.
Typografická aj jazyková stránka práce je v poriadku.
Študent naimplementoval štyri kompletné verifikačné prostredia, pomocou ktorých boli objavené chyby vo verifikovaných komponentách. Doporučila by som viac komentovať výsledný kód. Verifikačný plán je minimalistický, ale s ohľadom na zameranie práce je to v poriadku. Nevidím ale dôvod, prečo by nemal byť cieľ pokrytia kódu 100%. Jedná sa o pomerne jednoduché komponenty. Tiež mi príde, že funkčné pokrytie malo obsahovať viac cross konštrukcí, ktoré by cielili na rôzne kombinácie vlastností z verifikačného plánu. Assert konštrukcie mohli byť vlastné a cielené na dané komponenty, nie iba znovupoužité z existujúceho prostredia. Celkovo hodnotím 80b pretože najnáročnejšia časť práce bola splnená, ale s doplnkovými časťami kódu sa dalo viac vyhrať. Študent sa často odkazuje na odborného konzultanta v určitých rozhodnutiach, ale mala by to byť jeho vlastná úvaha. Taktiež odôvodenie, prečo sa nejaká časť obvodu nedá zverifikovať (nedosiahnuteľný kód a pod.) by mala byť z pohľadu verifikácie kritickejšia. Tj. musí byť jasne odôvodnené, prečo sa pridáva konkrétny waiver. To mi v práci chýbalo.
Výsledky sú prakticky použiteľné a sú súčasťou repozitára Cesnet.
Evaluation level: zadání splněno s drobnými výhradami
Študent splnil zadanie, ale u bodu 5 v podstate iba prepoužil existujúce assert príkazy pre použité zbernice z existujúceho UVM prostredia od Cesnet. Podľa zadania som očakávala príkazy, ktoré sa budú viazať priamo na verifikované komponenty a nie na zbernice, cez ktoré tečú data do/z komponent.
Evaluation level: je v obvyklém rozmezí
Rozsah práce je v poriadku.
Výber zdrojov je s ohľadom na zameranie práce v poriadku.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová