FPGA labor információk
A feladat
Az FPGA laborban a Témalaboratórium tárgy keretén belül egy választott retro video játék részben hardveres, részben szoftveres implementációját kell elkészíteni. A feladat komplexitása lehetővé teszi az önálló tervezési munka alapjainak elsajátítását a specifikáció megfogalmazásától a teljes kidolgozásig, azaz működő prototípus megvalósításáig, programozható logikai áramkör, azaz FPGA használatával.
Természetesen akinek elfogadható komplexitású saját feladat ötlete vannak, annak megvalósítását is támogatjuk.
Implementációs platform
A megvalósításra használt platform a LOGSYS Spartan6 fejlesztői kártya, amely akár magában, akár bővítőkártyák bevetésével tökéletesen alkalmas a választott játék implementációjára.
A kártyán található nyomógombok, kapcsolók és 120x64 pixeles monokróm LCD kijelző önmagában alkalmassá teszik a feladat megvalósítására.
E mellett van lehetőség billentyűzet és/vagy egér PS/2 interfészen keresztül történő csatlakozására, valamint VGA bővítő kártyával monitoron történő nagyobb felbontású, színes megjelenítésre is.
Az audió-vizuális élmény pedig tovább fokozható "buzzer" ("csipogó") vagy jó minőségű audió D/A átalakító munkára fogásával.
A tervezési feladat magában foglal digitális tervezési feladatokat (ehhez a Xilinx ISE környezetet használjuk), amikor is az FPGA-ban egyedi perifériákat alakítunk ki (pl. LCD vagy VGA vezérlő), amelyeket csatlakoztatunk egy, az FPGA-ban megvalósított 32 bites Xilinx MicroBlaze processzorhoz.
Az FPGA-ban realizált System-on-Chip (SoC) rendszer elkészítése után a feladat további részeit (játék logika, perifériák kezelése) egy C vagy C++ nyelven megírt program valósítja meg, amelyet az Eclipse alapú Xilinx EDK környezetben kell elkészíteni.
Feladat specifikáció
-
Választható játékok:
- Break-out (1 játékos – 1 ütő)
- Ping-pong (2 játékos – 2 ütő)
- Snake
- további saját játék (nem túlságosan bonyolult!) ötletek
-
Megjelenítés
- A LOGSYS Spartan6 fejlesztői kártyán található 102 x 64 felbontású, monokróm grafikus LCD a legtöbb játék megvalósítására alkalmas.
- Aki nagyobb felbontású és/vagy színes megjelenítést szeretne megvalósítani, annak lehetősége van sztenderd VGA interfész használatára.
-
Vezérlés
- Egyszerűbb esetben a megvalósított játék vezérlése történhet a LOGSYS Spartan6 kártyán található nyomógombok segítségével.
- Bővítő kártya által biztosított alternatív lehetőség PS/2 billentyűzet és/vagy egér használata.
-
Audió funkciók (opcionális)
- A VGA bővítő modulon található buzzer.
- 24 bites, 96 kHz-es D/A átalakító használata.
Lebonyolítás
- 1. hét: Témaválasztás
- 2-7. hét: Ismerkedés az FPGA fejlesztéssel. Verilog és FPGA alapok, fejlesztői környezet megismerése.
- 8-14. hét: A választott feladat implementálása heti konzultációval.
Konzulensek:
- Szántó Péter (szanto@mit.bme.hu)