diplomová práce

UVM verifikační prostředí pro systém DMA Medusa

Text práce 2.24 MB

Autor práce: Ing. Zdenko Petruška

Ak. rok: 2022/2023

Vedoucí: Ing. Lukáš Kekely, Ph.D.

Oponent: doc. Ing. Tomáš Martínek, Ph.D.

Abstrakt:

Práca pojednáva o návrhu a implementácií verifikačného prostredia systému DMA Medusa, ktorý je určený pre vysokorýchlostný prenos sieťových dát medzi pamäťou RAM a sieťovou kartou. Verifikačné prostredie je vytvorené podľa metodiky UVM. Jeho cieľom je odhaliť funkčné chyby pomocou náhodných testov. Pred implementáciou boli definované požiadavky na vytvorené prostredie. Požiadavky vychádzajú zo špecifikácie systému a analýzy predchádzajúceho prostredia, ktoré bolo implementované podľa odlišnej metodiky. Úlohou vytvoreného prostredia je implementovať funkcionalitu pôvodného, prípadne ju vhodne rozšíriť. Nové prostredie rozširuje generovanie stimulu v rámci pamäťového modelu. Naviac implementuje aj funkčné pokrytie vybraných vlastností. U pamäťového modelu je generovanie rozšírené o náhodné poradie odbavovania požiadavkov. Funkčným pokrytím sa overuje, že generovaný stimul spĺňa požadované vlastnosti. Zameriava sa na komunikáciu verifikovaného systému s pamäťou a sieťovou komponentou.

Klíčová slova:

DMA, Funkčná verifikácia, UVM, SystemVerilog, Multi zbernice.

Termín obhajoby

21.06.2023

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaBznamka

Klasifikace

B

Průběh obhajoby

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.

Otázky k obhajobě

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

Jazyk práce

slovenština

Fakulta

Ústav

Studijní program

Informační technologie a umělá inteligence (MITAI)

Specializace

Vestavěné systémy (NEMB do 2021/22)

Složení komise

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)

Posudek vedoucího
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.

Kritérium hodnocení Slovní hodnocení
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í.

Výsledný počet bodů navržený vedoucím: 70

Známka navržená vedoucím: 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).

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: 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í

Stupeň hodnocení: 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

Stupeň hodnocení: 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.

Otázky k obhajobě:
  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í?
Výsledný počet bodů navržený oponentem: 85

Známka navržená oponentem: B

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová