Bachelor's Thesis

UVM Verification of Components for MFB and MVB Buses

Final Thesis 1.69 MB

Author of thesis: Bc. Yaroslav Marushchenko

Acad. year: 2024/2025

Supervisor: Ing. Jiří Matoušek, Ph.D.

Reviewer: Ing. Marcela Zachariášová, Ph.D.

Abstract:

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.

Keywords:

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)

znamkaBznamka

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

  1. Prečo neboli komponenty verifikované univerzálne? Bez zamerania sa na konkrétne nastavenia generických parametrov? Variabilita týchto nastavení je totiž vo verifikačných scenároch veľmi nízka.
  2. Je nejaká prekážka v tom cieliť vo funkčnom pokrytí na všetky kombinácie vytýčených vlastností v rámci verifikačného plánu? Bolo by na základe implementovaných testov dosiahnuté 100% funknčné pokrytie?

Language of thesis

Czech

Faculty

Department

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 report
Ing. 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.

Evaluation criteria Verbal classification
Informace k zadání

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.

Práce s literaturou

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.

Aktivita během řešení, konzultace, komunikace

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.

Aktivita při dokončování

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.

Publikační činnost, ocenění

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ě.

Points proposed by supervisor: 95

Grade proposed by supervisor: A

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 criteria Verbal classification Points
Náročnost zadání

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. 

Prezentační úroveň technické zprávy

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. 

75
Formální úprava technické zprávy

Typografická aj jazyková stránka práce je v poriadku.

95
Realizační výstup

Š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.

80
Využitelnost výsledků

Výsledky sú prakticky použiteľné a sú súčasťou repozitára Cesnet.

Rozsah splnění požadavků zadání

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. 

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah práce je v poriadku.

Práce s literaturou

Výber zdrojov je s ohľadom na zameranie práce v poriadku.

95
Topics for thesis defence:
  1. Prečo neboli komponenty verifikované univerzálne? Bez zamerania sa na konkrétne nastavenia generických parametrov? Variabilita týchto nastavení je totiž vo verifikačných scenároch veľmi nízka.
  2. Je nejaká prekážka v tom cieliť vo funkčnom pokrytí na všetky kombinácie vytýčených vlastností v rámci verifikačného plánu? Bolo by na základe implementovaných testov dosiahnuté 100% funknčné pokrytie?
Points proposed by reviewer: 80

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová