Logikai tervezés
VIMIMA13 | Villamosmérnök MSc | Félév: 1 | Kredit: 4
A tantárgy célkitűzése
A tantárgy a logikai rendszerek tervezésének általános szempontjait, a terület ismeretéhez szükséges eszközöket és módszertanokat mutatja be. Megismerteti a hallgatókat a digitális rendszertervezés korszerű módszereivel, bemutatja a modern, nagybonyolultságú, felhasználó által programozható logikai áramköröket, demonstrálja a korszerű tervező környezetek szolgáltatatásait, és ezek hatékony használatát. Az oktatási cél a megfelelő eszközkészlet és módszertan bemutatásán túl a mérnöki alkotó tevékenység különböző fázisainak bemutatása a probléma megfogalmazásától a rendszermodell kidolgozásán át a konkrét architektúrák specifikációján keresztül az egyedi funkcionális egységek megvalósításáig és ellenőrzéséig. 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, ill. elmélyítik.
A tantárgy követelményeit eredményesen teljesítő hallgatóktól elvárható, hogy:
A tárgy oktatói

Szántó Péter
mesteroktató
tárgyfelelős
A tantárgy részletes tematikája
- A logikai tervezés alapjai (1. hét)
Célkitűzés: A témakör bemutatása, a tárgy alapjainak megismertetése. Alapfogalmak. A logikai rendszerek tervezésének általános szempontjai. Tervfeladatok specifikációja, a specifikáció finomítása, dekompozíció. A specifikáció különböző szintjei és megadási módjai. Rendszermegvalósítási alternatívák, technológiai áttekintés.
- A hardver leíró nyelvek
szerepe a digitális rendszerek tervezésben (2.-5. hét)
A Verilog és VHDL nyelvek kialakulása, használata és elterjedése. A rendszer komplexitás és kezelhetőségének kapcsolata a tervezői eszközök tulajdonságai alapján. A leírás aspektusai: a viselkedési és strukturális leírás. A Verilog és VHDL nyelvek részletes ismertetése, a nyelvi szabályok, struktúrák, szintaktika bemutatása. A nyelv használata a szimulációs technológiában. Az általános digitális funkcionális elemek leírási módjai a nyelv eszközkészletével. A szintézis paradigma. A konkurens programozási modell értelmezése, a hardver komponensek párhuzamos működése. A regiszter transzfer modell és használata.
- A programozható logikai
áramkörök általános bemutatása (6. hét)
Rendszermegvalósítási alternatívák, technológiai áttekintés. Integrált áramköri realizációk: ASIC, ASSP, COTS eszközök. Általános célú elemek és használatuk előnyei: CPU, memória, PLD, FPGA.
- FPGA áramkörök bemutatása (7.-10. hét)
Az FPGA áramkörök kialakulása, fejlődése, általános jellemzők. Technológiai áttekintés, programozási és rendszertechnikai tulajdonságok. Architektúra szerinti csoportosítás, a logikai alapelemek jellemzőinek értékelése méret, kihasználhatóság és komplexitás szerint. Tranzisztor, kapu, multiplexer és memória tábla alapú alapelemek. A főbb típusok ismertetése technológia és gyártók szerint. A Xilinx és Altera SRAM technológiájú FPGA-k részletes áttekintése. Az egyes FPGA családok elemei, a generációs fejlődés története. A memóriatáblázat alapú logika (LUT), és a konfigurálható logikai blokk (CLB) elemzése (LUT4, LUT6, ALM). A kiegészítő erőforrások ismertetése: aritmetikai áramkörök (carry logika, DSP blokkok), kaszkádosító logikák, huzalozás elemek és ezek felépítése. Belső memória hierarchia, az elosztott és blokk memóriák használatának tipikus esetei. Az I/O elemek paraméterei, I/O interfész szabványok, rendszerszintű jeltisztaság kezelési szempontok. I/O mintavételezés, jelkésleltetés lehetőségei. Nagy sebességű I/O vonalak. Szinkron FPGA-k órajel kezelési kérdései. Órajel bufferek, órajel menedzsment. SoC eszközök. FPGA áramkörök programozása, konfigurációja. A soros és párhuzamos konfigurációk, konfigurációs memóriák. A JTAG felprogramozás.
- Attribútumok és megkötések (11. hét)
A szintézis és implementációs lépések befolyásolása. Verilog és VHDL direktívák, attribútumok. Időzítési kritériumok megadása és ellenőrzése.
- Periféria illesztés (12.-14. hét)
Soros interfészek (UART, SPI, I2C, I2S, SAI) és megvalósításuk. Videó interfészek és perifériák (ADC_DAC, DVI, HDMI). Külső buszrendszerek (pl. PCI, PCIe, Local Bus, Link Port). Statikus memóriák (aszinkron, DDR, QDR), dinamikus memóriák (SDRAM, DDR1/2/3/4). Ethernet: MII, GMII, RGMII.