Házi Feladat

Feladatkiírás

A házi feladat a népszerű kígyó játék megvalósítása a LOGSYS Kintex-7 FPGA kártyán lágyprocesszoros környezetben. A játékmenet megjelenítéséhez elsősorban a LOGSYS VGA/PS2 modul segítségével csatlakoztatott hagyományos VGA monitor javasolt, de használható a HDMI interfész is. A kép adatokat a kártyán lévő külső DDR3 memóriában kell tárolni és DMA használatával kell onnan a VGA vagy HDMI interfészre továbbítani. A játék vezérlése történhet a kártyán található nyomógombok, külső joystick/enkóder vagy akár PS/2 billentyűzet segítségével is.

A HDMI interfész megvalósításához szükséges TMDS kódolóról részletes leírás található a Digitális video interfész megvalósítása a Logsys Kintex-7 FPGA kártyával című dokumentumban a forráskóddal együtt.

A játékmenet megjelenítéséhez a monitor kijelzőjén a legegyszerűbb grafikus tartalom is elegendő. Javasoljuk a választott fizikai interfészen kiadható minimális felbontás használatát. Az alacsony intenzitású háttéren jelöljük a játéktér aktív tartományát. A kígyó és az élelem méretének megválasztása illeszkedjen a felbontáshoz, a megjelenítés arányos képet eredményezzen. Az aktuális játékszintet és a játékban elért eredményt lehetséges a grafikus kijelző monitor tetején vagy alján is ábrázolni, de elfogadott az eredményeket a hétszegmenses kijelzőn, a játékszintet pedig a LED-eken megjeleníteni. A játék képes legyen maximum 8 játékszintet kezelni és 0-99-ig számolni az eredményeket.

A házi feladat elsődleges célja az FPGA eszközön kialakított lágyprocesszoros mikrorendszer hardver rendszerének a feladat realizálásához szükséges kialakítása és a játék algoritmus szoftveres megvalósítása.

A feladatot a Xilinx Vivado tervezési környezetben kell megvalósítani, az ott rendelkezésre álló szolgáltatások tetszőleges mértékű felhasználásával. Tehát a feladathoz bármely, a rendszerben rendelkezésre álló IP ill. tervezői modul felhasználható.

A feladatok a következők:

  1. Tervezze meg a kígyó játékot megvalósító algoritmust, ami képes a játék működtetésére a LOGSYS Kintex-7 kártyán az előzőekben felsorolt használati paraméterek megfelelő megválasztásával. A sebességi szintek száma maximum 8, az elérhető pontszám szintenként maximum 99, melynek elérésekor automatikusan szintet lép. Tervezze meg a kijelzést végző modult, tegyen javaslatot a kijelzés és a játékvezérlő megfelelő együttműködésének kialakítására.  
  2. A konzulenssel egyeztetve határozza meg a tervezendő mikroprocesszoros rendszer specifikációját. A specifikáció tartalmazza a kiválasztandó processzor típusát, a szükséges egyéb rendszerelemeket (belső buszrendszer, memória egységek, vezérlő, időzítő, speciális perifériák, stb.).
  3. Készítse el a teljes rendszer HW specifikációját, illessze be a szükséges perifériákat a rendszerbe, ellenőrizze a rendszer működését. A processzoros rendszernek tartalmaznia kell legalább egy teljes egészében saját készítésű perifériát, amely az AXI4-Lite buszra illeszkedik (ez lehet például PS/2 interfész billentyűzettel történő vezérlés esetén vagy GPIO interfész nyomógombokkal történő vezérlés esetén).
  4. Készítsen egyszerű meghajtó funkciókat a perifériaelemekhez, amik az eszközök kezelését megkönnyítik.
  5. Készítse el a kígyó játék alkalmazás programját, ami a választott bemeneti kezelőegység használatával a kijelzőn megjeleníti a játék menetét.
  6. Készítse el a feladat dokumentációját, a periféria egységek működésének leírásával és a szoftver alkalmazás rövid ismertetésével. A dokumentációt a HF portálra kell a félév végéig kell feltölteni.

Beadandó

A házi feladat beadási határideje a szorgalmi időszak vége, illetve késedelmes leadás esetén a pótlási hét vége (azaz vasárnap éjfél). A házi feladat eredményét egy ZIP file-ban a MIT házi feladat portálra kell feltölteni. A file-t a HF csoport névsorban előrébb lévő hallgatója töltse fel! A file neve a csoport hallgatóinak vezetékneve ABC sorrendben, tehát: NÉV1_NÉV2.zip. A tömörített fájlnak az alábbiakat kell tartalmaznia:

  • A dokumentációt tartalmazó PDF file NÉV1_NÉV2.pdf névvel.
    • Mikrorendszer hardver blokkvázlata, a fontosabb modulok paraméterei.
    • A szoftver blokkvázlat, a fontosabb funkciók rövid ismertetése.
    • A játékmenet képernyőképe, egy konkrét használat demonstrációja.
    • A szükséges eszközök specifikációja (monitor típusa, felbontása, vezérlőeszköz típusa, használata)
  • Az elkészült feladat snake.bit letölthető konfigurációs fájl, ami a működőképes játékprogramot tartalmazza.

Osztályozás

Az osztályozás alapja a dokumentáció és a játék használatának értékelése. A feladatokat feltöltés előtt a konzulensnek be kell mutatni. Konzulensek kijelölése az előadáson történik.
 

© 2010-2020 BME MIT | Hibajelentés | Használati útmutató