Hardver tesztek optimalizálása gépi tanulással

OData támogatás
Konzulens:
Dr. Hosszú Gábor
Elektronikus Eszközök Tanszéke

A dolgozat célja olyan verifikációs módszerek keresése és éles környezetben tesztelése, amelyekkel a hardverek verifikációja képes lépést tartani az architektúrák komplexitásának növekedésével.

Ennek keretében bevezetem a SystemVerilog nyelvre épülő UVM tesztelési metodológiát és a lefedettség irányította constrained random teszteket, valamint összeállítottam egy UVM komponensekből álló tesztkörnyezetet a verifikálni kívánt modul köré.

Ennek a tesztelési metodológiának 3 fő alappillére van, amiket szem előtt tartok:

- Véletlenszerű gerjesztés: A tesztek a stimulust randomizáció útján állítják elő, így biztosítva a funkciók minél szélesebb spektrumának vizsgálatát.

- Megfelelő funkcionális viselkedés: A rendszer működését ellenőriznünk kell a stimulusok hatására. Ezt megtesszük automatikus beépített checkerekkel és ahol a modulnak kommunikációs protokollt is be kell tartania működés során ott protokoll checkerekkel is.

- Funkcionális lefedettség: Amikor minden meghatározott lefedettséget elértünk a tesztelés során és nem találtunk működésbeli hibát, lehetünk biztosak a teszt sikerességében és a modul megfelelő működésében.

Bemutatom a gépi tanulás alapjait és egyik vállfajának, a megerősítéses tanulásnak a használatával optimalizáltam a tesztek által használt constraineket a minél nagyobb funkcionális lefedettség elérése érdekében.

Az algoritmus eredményeinek az ábrázolásánál rámutatok a program és a tesztkörnyezet előnyeire valamint hiányosságaira.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.