FPGA alapú rendszerek fejlesztése
VIMIMA24 | Villamosmérnök MSc | Félév: 1 | Kredit: 5
A tantárgy célkitűzése
A tantárgy célja a komplex digitális rendszerek tervezési szempontjainak, eszközeinek és módszereinek bemutatása. Megismerteti a hallgatókat a digitális rendszertervezés korszerű módszereivel, bemutatja a modern, nagybonyolultságú programozható logikai áramköröket (CPLD-k, FPGA-k, SoC-k), demonstrálja a korszerű tervező környezetek szolgáltatásait és ezek hatékony használatát. Bemutatja az FPGA áramkörön megvalósított processzoros rendszerek alapvető tervezési kérdéseit, rendszertechnikai megoldásait. A tervezési módszereket a széles körben elterjedt, ipari szabványnak tekinthető eszközkészlet használatával konkrét tervezési példákon keresztül ismertetjük. Az elméleti ismereteket így közvetlen gyakorlati tapasztalatok is kiegészítik,illetve elmélyítik.

Szántó Péter
mesteroktató
tárgyfelelős
A tárgy oktatói

Szántó Péter
mesteroktató
A tantárgy részletes tematikája
Az előadások részletes tematikája:
- Alapfogalmak. FPGA gyártók áttekintése (Achronix, Intel, Lattice, Microchip, Xilinx) A logikai rendszerek tervezésének általános szempontjai. A tervezési folyamat lépései. Tervfeladatok specifikációja, dekompozíció. Rendszermegvalósítási alternatívák, technológiai áttekintés. Hardver leírás absztrakciós szintjei. Hardverleíró nyelvek szerepe, viselkedési és RTL leírás.
- Verilog és VHDL szintetizálható részhalmaza.
- Verilog és VHDL szintetizálható részhalmaza.
- Verilog és VHDL nem szintetizálható részhalmaza. HDL szimuláció: szimulátorok működése, referencia modellek, viselkedési modellek. Gerjesztő jelek előállítása, megfigyelés és ellenőrzés.
- Xilinx 7-es sorozatú FPGA-k architektúrája: logikai elemek, memória elemek, DSP blokkok.
- Xilinx 7-es sorozatú FPGA-k architektúrája: I/O elemek, órajel kezelés.
- Xilinx UltraScale(+), Versal, Intel Arria, Stratix és Agilex FPGA-k architektúrája. Nagy sebességű szinkron interfészek megvalósítási kérdései.
- Szinkron tervezési paradigma. Globálisan szinkron rendszerek, órajel tartományok, kommunikáció órajel tartományok között. Időzítési kényszerek, szintézis attributumok és megkötések. Időzítésanalízis és DRC.
- FPGA-ban megvalósított processzoros rendszerek: soft-core processzorok. Xilinx MicroBlaze.
- Áramkörön belüli buszrendszerek. ARM AMBA buszrendszer részletes ismertetése. Perifériák illesztése, IP alapú fejlesztés. BFM.
- PCIe buszrendszer. PCIe interfész kialakítása FPGA-ban. Külső memóriák (SRAM, DRAM). Memória hierarchia processzoros rendszerekben.
- Standalone szoftver fejlesztés kérdései. Fordítók, linkerek, assemblerek és használatuk. Hardver-szoftver szétválasztás, profiling.
- FPGA-k konfigurációs interfészei. JTAG interfész. Áramkörön belüli logikai analizátor. Hardver-szoftver együttes ellenőrzés, hibakeresés.
- (Tartalék.)
A gyakorlatok részletes tematikája:
- Fejlesztői környezet. HDL és IP alapú fejlesztés lépései. 7 szegmenses vezérlő.
- Audio CODEC interfész megvalósítása.
- Jelfeldolgozási algoritmus FPGA realizációja.
- Párhuzamos pipeline feldolgozóegység realizációja.
- MicroBlaze alapú rendszer felépítése, gyári perifériák, egyszerű SW fejlesztése.
- Saját periféria illesztése processzoros rendszerhez.
- Megszakításkezelés és DMA használata.