Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Ing. Zdenko Petruška
Acad. year: 2022/2023
Supervisor: Ing. Lukáš Kekely, Ph.D.
Reviewer: doc. Ing. Tomáš Martínek, Ph.D.
This thesis describes design and implementation of verification environment for system DMA Medusa. DMA Medusa is hardware system used for high speed transmissions between network card and RAM. Verification environment is developed in SystemVerilog using UVM. Environment is designed with intention to find functional bugs using top level random stimulus. Testbench requirements have been defined prior to its implementation. Requirements are based on system specification and previous version of testbench. Previous version has been based on different methodology. New testbench implements the functionality of previous one. In addition, some functionality has been exteded. Implemented testbench extends previous memory model by serving memory requests in random order. It also implements functional coverage focused on communication with memory and network card. Goal of functional coverage is to monitor quality of generated stimulus.
DMA, Functional verification, UVM Methodology, SystemVerilog, Multi buses.
Date of defence
21.06.2023
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
Slovak
Faculty
Fakulta informačních technologií
Department
Department of Computer Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Embedded Systems (NEMB up to 2021/22)
Composition of Committee
prof. Ing. Lukáš Sekanina, Ph.D. (předseda) doc. Ing. Vladimír Drábek, CSc. (člen) doc. Ing. Vladimír Janoušek, Ph.D. (člen) prof. Ing. Jiří Jaroš, Ph.D. (člen) Ing. Ondřej Kanich, Ph.D. (člen) Ing. Josef Strnadel, Ph.D. (člen)
Supervisor’s reportIng. Lukáš Kekely, Ph.D.
Student se zvládl zorientovat v relativně rozsáhlé a velice specifické problematice. Podrobně nastudoval potřebné metody a principy pro vytvoření vhodného verifikačního prostředí komplexního číslicového obvodu. Implementace vytvořená v práci se po úpravách bude moct prakticky použít ve sdružení CESNET pro testování reálně nasazeného firmwarového modulu. Kvůli postupnému nabírání zpoždění v průběhu řešení a nedostatku času při dokončování však nestihl být naplno využit původně zamýšlený potenciál. Když již student zvládl tu těžkou, pracnou, a možná neúplně záživnou část pochopení problematiky a vytvoření všech náležitostí verifikačního prostředí, mohl pak už relativně lehce a za málo práce dotvořit další zajímavé rozšíření nebo rozvíjet vlastní myšlenky pro zlepšení míry otestování systému. Nezbyl na to však adekvátní čas a práce tak ve výsledku nepřevyšuje standard průměrné diplomové práce. Navrhuji proto celkové hodnocení stupněm C.
Hlavním cílem práce bylo vytvořit verifikační prostředí podle standardu UVM pro funkční verifikaci konkrétního komplexního firmwarového obvodu DMA Medusa. Náročnost/Rozsáhlost tohoto zadání spočívala zejména v nutnosti nastudovat nejen problematiku UVM verifikací, ale také pochopit klíčové vlastnosti konkrétního modulu s ohledem na specifika DMA komunikace skrze PCIe sběrnici počítače nebo implikace použitého konceptu multi-sběrnic pro vysokorychlostní přenos paketů v FPGA čipu.
Student zadání splnil v plném rozsahu, přičemž se mu povedlo dospět k prakticky použitelné a vhodné implementaci. Kvůli časovému presu při dokončování práce však nebylo možné věnovat původně zamýšlenou míru pozornosti možnostem dalšího zajímavého rozšíření testovacích scénářů ve verifikaci.
Student čerpal z literatury jak doporučené, tak z literatury získané vlastní aktivitou. Citovaných zdrojů však mohlo být i trochu víc.
Student byl iniciativní a snažil se práci řešit průběžně. Navržený časový rámec však někdy nestihl úplně splnit a postupně se tak dostával do časového presu. Na konzultace však byl vždy připraven a dané problematice rozuměl.
Práce byla dokončena přesně v termínu. V průběhu semestru vzniklé zpoždění student kompenzoval výrazně zvýšenou aktivitou před koncem. Sepisování částí textu a dokončení některých bodů implementace se student věnoval skutečně až v posledních pár dnech před odevzdáním. Finální obsah i výsledky celé práce však stihly být ještě alespoň konzultovány a odsouhlaseny.
Studentem vytvořeným UVM prostředím pro verifikaci modulu DMA Medusa se plánuje nahradit existující ne-systémově napsané verifikační prostředí. I když nové UVM prostředí jednoznačně přináší proti starému určité výhody, je potřeba ještě dotáhnout integraci do repozitárů včetně začistění kódu a vhodné je doplnit také některé další v práci navržené nebo diskutované rozšíření. Ve výsledku tak výstupy práce pomohli, a ještě mohou dále pomoct, k zajištění/ověření správné funkcionality reálně nasazeného DMA modulu. Ten představuje kritickou součást v podstatě všech akceleračních FPGA architektur používaných ve sdružení CESNET pro monitorování 100G a 400G páteřních sítí.
Grade proposed by supervisor: C
Reviewer’s reportdoc. Ing. Tomáš Martínek, Ph.D.
Předložená diplomová práce je kvalitní a student prokázal, že je schopen pochopit poměrně náročnou problematiku a vytvořit verifikační prostředí pro komplexní komponentu DMA Medusa dle metodiky UVM, včetně několika rozšíření. S ohledem na vyšší obtížnost zadání a pěkně zpracovanou textovou část hodnotím stupněm velmi dobře (B).
Evaluation level: obtížnější zadání
Cílem práce bylo vytvořit verifikační prostřední pro komponentu DMA Medusa pomocí metodologie UVM. Přestože student vycházel z již existujícího verifikačního prostředí specifického pro sdružení CESNET, považuji zadání za obtížnější. Diplomant musel nastudovat a pochopit poměrně komplexní problematiku okolo MFB, MVB sběrnic, DMA přenosů a různých parametrů PCIe sběrnice. Na základě těchto znalostí následně navrhl a implementovat samotné verifikační prostředí.
Evaluation level: zadání splněno
Zadání práce považuji za splněné. Diplomant převedl existující verifikační prostředí do nové verze dle metodiky UVM a provedl i určitá vylepšení/rozšíření.
Evaluation level: je v obvyklém rozmezí
Text práce tvoří 59 vysázených stran včetně seznamu literatury.
Text diplomové práce je dobře strukturovaný, rozsahy jednotlivých částí textu jsou vyvážené a samotný text je pro čtenáře dobře pochopitelný.
Text práce je na velice dobré typografické úrovni. Jazykovou stránku bohužel nejsem schopen posoudit, jelikož je práce psaná ve slovenském jazyce.
Práce s literaturou je na dobré úrovni. Čerpáno bylo z kvalitních publikací z oblasti verifikace číslicových obvodů, včetně publikací popisující samotné verifikované komponenty. Převzaté části textu a obrázky jsou řádně označeny a odděleny od vlastního přínosu.
Hlavní realizační výstupy práce tvoří verifikační prostředí komponenty DMA Medusa zahrnující řadu modulů vytvořených v jazyce System Verilog. Uvedené zdrojové kódy jsou funkční a v souladu s licenčními podmínkami.
Výstupy vytvořené práce jsou spíše kompilačního charakteru avšak velmi užitečné pro vývoj a verifikaci bloku DMA Medusa. Lze očekávat, že se uplatní zejména v navazujícím vývoji tohoto bloku.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová