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
Szántó Péter

mesteroktató

tárgyfelelős

A tárgy oktatói

Szántó Péter
Szántó Péter

mesteroktató

A tantárgy részletes tematikája

Az előadások részletes tematikája:

  1. 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.
  2. Verilog és VHDL szintetizálható részhalmaza.
  3. Verilog és VHDL szintetizálható részhalmaza.
  4. 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.
  5. Xilinx 7-es sorozatú FPGA-k architektúrája: logikai elemek, memória elemek, DSP blokkok.
  6. Xilinx 7-es sorozatú FPGA-k architektúrája: I/O elemek, órajel kezelés.
  7. 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.
  8. 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.
  9. FPGA-ban megvalósított processzoros rendszerek: soft-core processzorok. Xilinx MicroBlaze.
  10. Áramkörön belüli buszrendszerek. ARM AMBA buszrendszer részletes ismertetése. Perifériák illesztése, IP alapú fejlesztés. BFM.
  11. PCIe buszrendszer. PCIe interfész kialakítása FPGA-ban. Külső memóriák (SRAM, DRAM). Memória hierarchia processzoros rendszerekben.
  12. Standalone szoftver fejlesztés kérdései. Fordítók, linkerek, assemblerek és használatuk. Hardver-szoftver szétválasztás, profiling.
  13. 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.
  14. (Tartalék.)

A gyakorlatok részletes tematikája:

  1. Fejlesztői környezet. HDL és IP alapú fejlesztés lépései. 7 szegmenses vezérlő.
  2. Audio CODEC interfész megvalósítása.
  3. Jelfeldolgozási algoritmus FPGA realizációja.
  4. Párhuzamos pipeline feldolgozóegység realizációja.
  5. MicroBlaze alapú rendszer felépítése, gyári perifériák, egyszerű SW fejlesztése.
  6. Saját periféria illesztése processzoros rendszerhez.
  7. Megszakításkezelés és DMA használata.