Master's Thesis

UVM Verification of DMA Medusa System

Final Thesis 2.24 MB

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.

Abstract:

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.

Keywords:

DMA, Functional verification, UVM Methodology, SystemVerilog, Multi buses.

Date of defence

21.06.2023

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. Jakým způsobem a v jakém rozsahu byly testovány různé hodinové domény spojené s komponentou DMA Medusa?
  2. Čím si vysvětlujete vyšší časovou náročnost vámi vytvořené verifikace oproti původnímu řešení?

Language of thesis

Slovak

Faculty

Department

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

Evaluation criteria Verbal classification
Informace k zadání

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.

Práce s literaturou

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.

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

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.

Aktivita při dokončování

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.

Publikační činnost, ocenění

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

Points proposed by supervisor: 70

Grade proposed by supervisor: C

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

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

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

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

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Text práce tvoří 59 vysázených stran včetně seznamu literatury.

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

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

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

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.

85
Práce s literaturou

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.

80
Realizační výstup

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. 

85
Využitelnost výsledků

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.

Topics for thesis defence:
  1. Jakým způsobem a v jakém rozsahu byly testovány různé hodinové domény spojené s komponentou DMA Medusa?
  2. Čím si vysvětlujete vyšší časovou náročnost vámi vytvořené verifikace oproti původnímu řešení?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

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