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:

  • tájékozott legyen a logikai rendszerek tervezésének általános módszereivel, a rendelkezésre álló eszközökkel és komponensekkel, képes legyen egy adott probléma megoldásához szükséges feltételek meghatározására,
  • ismerje a korszerű tervezői környezetek alapszolgáltatásait, a tervezési lépések egymásra épülését, az egyes szinteken elvégezhető feladatokat és műveleteket,
  • különböző módon megfogalmazott előzetes felhasználói specifikáció alapján a követelményeket megvalósító berendezés rendszertervének kiinduló verzióját megtervezze,
  • a kialakított rendszermodell alapján hatékony ellenőrzési és szimulációs stratégiákat használva ellenőrizze a specifikáció teljesülését,
  • a tervezési folyamat végrehajtása során eredményesen alkalmazza a felülről lefelé és alulról felfelé történő tervezési stratégiákat, a követelmények, a rendelkezésre álló eszközök és komponensek ismeretében,
  • képes legyen elemezni a tervezési folyamat eredményeképpen megvalósult rendszer műszaki, technikai paramétereit, különös tekintettel az erőforrásigény, sebesség és energia fogyasztás adatokra,
  • ismerjék meg a napjainkban használatos interfész technikákat, különös tekintettel az áramkörök közötti és az áramkörön belüli rendszer megoldásokra,
  • tájékozottak legyenek a különböző magas szintű tervezési módszerek alkalmazásában, a hardver-szoftver együttes tervezés elemi kérdéseiben,
  • tudatában legyenek annak, hogy mindennapi életünket kitöltő környezet egyre nagyobb számban tartalmaz hasonló tervezési elvek alapján felépülő különböző funkcionalitású eszközöket,
  • megszerzett ismereteik birtokában eredményesen teljesítsék a tárgy tervezési feladatát.
  • A tárgy oktatói

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

    mesteroktató

    tárgyfelelős

    A tantárgy részletes tematikája

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