FPGA alapú rendszerek fejlesztése

A tantárgy angol neve: FPGA-based Systems Design

Adatlap utolsó módosítása: 2023. január 4.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Villamosmérnöki mesterszak (MSc)
FPGA alapú rendszerek mellékspecializáció (MIT)

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIMIMA24   2/1/0/v 5  
3. A tantárgyfelelős személy és tanszék Szántó Péter,
A tantárgy tanszéki weboldala http://www.mit.bme.hu/oktatas/targyak/VIMIMA24
4. A tantárgy előadója

Szántó Péter mesteroktató, MIT

Raikovich Tamás tanársegéd, MIT

5. A tantárgy az alábbi témakörök ismeretére épít

Digitális technika

6. Előtanulmányi rend
Kötelező:
NEM
(TárgyEredmény( "BMEVIMIMA13", "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIMIMA13", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:

Digitális technika

7. 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.

8. 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.
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Előadás és gyakorlat.

10. Követelmények Szorgalmi időszakban:
Aláírást az kaphat, aki a házi feladatot (egy kijelölt tervezési feladatot) elfogadható minőségben - legkésőbb a pótlási hét végéig - elkészíti. Az aláírás megszerzése a vizsgára jelentkezés feltétele.

Vizsgaidőszakban:
A tárgyból írásbeli vizsgát tartunk, vizsgaidőszakban, 3 alkalommal. A végleges félévi jegyet a vizsgán elért eredmény (75%) és a félévközi tervezési feladatra kapott értékelés (25%) együttesen határozza meg.
11. Pótlási lehetőségek

A házi feladat a szorgalmi időszakban vagy a pótlási hét végéig beadható.

12. Konzultációs lehetőségek

Megegyezés szerint.

13. Jegyzet, tankönyv, felhasználható irodalom

A jegyzetek elérhetők a tantárgyhoz kapcsolódó elektronikus felületeken.

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra42
Félévközi készülés órákra21
Felkészülés zárthelyire 
Házi feladat elkészítése34
Kijelölt írásos tananyag elsajátítása11
Vizsgafelkészülés42
Összesen150
15. A tantárgy tematikáját kidolgozta

Szántó Péter mesteroktató, MIT

Raikovich Tamás tanársegéd, MIT