Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Digitális technika

    A tantárgy angol neve: Digital Design

    Adatlap utolsó módosítása: 2017. október 2.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIMIAA02   2/1/2/v 6  
    3. A tantárgyfelelős személy és tanszék Dr. Fehér Béla, Méréstechnika és Információs Rendszerek Tanszék
    A tantárgy tanszéki weboldala http://www.mit.bme.hu/oktatas/targyak/vimiaa02
    4. A tantárgy előadója

    Dr. Fehér Béla

    egyetemi docens

    MIT

    Dr. Benesóczky Zoltán

    mestertanár

    MIT

    5. A tantárgy az alábbi témakörök ismeretére épít -
    6. Előtanulmányi rend
    Kötelező:
    NEM (TárgyEredmény("BMEVIMIA111", "jegy", _) >= 2
    VAGY
    TárgyEredmény("BMEVIMIA111", "felvétel", AktualisFelev()) > 0
    VAGY
    TárgyEredmény("BMEVIMIAA01", "jegy", _) >= 2
    VAGY
    TárgyEredmény("BMEVIMIAA01", "felvétel", AktualisFelev()) > 0
    VAGY
    TárgyEredmény( "BMEVIMIAA01" , "aláírás" , _ ) = -1)

    ÉS (Training.Code=("5N-A8") VAGY Training.Code=("5NAA8"))

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

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:
    -
    7. A tantárgy célkitűzése

    A Digitális technika egy fontos alapozó tárgy a műszaki informatikai szakirány tantervében, és legfontosabb célkitűzése a mérnöki feladat megközelítés és rendszerszemlélet bemutatása, az alapvető gyakorlati ismeretek, önálló probléma megoldási készségek kialakítása. A tárgy bemutatja a számítástechnikai rendszerek alapelemeinek működését, a digitális absztrakció tulajdonságait, az egyszerűbb feladatok közvetlen hardveres, ill. alacsonyszintű szoftveres megoldását. A bináris aritmetika, a műveletvégzők, funkcionális egységek, vezérlők tervezésének bemutatásán keresztül jut el az általános célú mikrovezérlő architektúra ismertetéséig, az elemi CPU használat, perifériatervezés és illesztés alkalmazásáig. A tárgyhoz kapcsolódó gyakorlatok és laboratóriumi foglalkozások során a hangsúly a korszerű számítógépes tervezői módszerek elsajátításán és a közvetlen tervezési/fejlesztési tapasztalatszerzésen van.      

     

    8. A tantárgy részletes tematikája

    1.   EA1: Bevezetés, a digitális technika világa. Hierarchikus megközelítés: Rendszer – modul – kapu/FF – elemi kapcsoló. A digitális reprezentáció: adatábrázolás, kódolás. Számrendszerek, számábrázolások (egész, valós) tulajdonságai (tartomány, felbontás).

    GY1: Számrendszerek, kódok, kódkonverzió (BIN-BCD, BCD-BIN). Bináris aritmetika.

    L1: Eszközkészlet, tervezői környezet bemutatása. Verilog HDL nyelvi alapok ismertetése (modul, bemenet, kimenet, funkció). Első projekt elkészítése (kapcsoló → LED). 

    2.   EA2: Logikai kapcsolatok, Boole algebra. Logikai függvények, kombinációs hálózatok. Specifikáció, reprezentáció, konverzió, egyértelműség. Alapelemek, kapuk, kétszintű hálózatok, az SOP realizáció. Minimalizálási algoritmusok. Nem teljesen specifikált feltételek kezelése. Többszintű hálózatok, a globális optimalizáció kérdései.

    GY2: Logikai függvények használata (specifikáció, egyszerűsítés, realizáció). Egyszerű feladatok megoldása, 1 bites és több bites összeadó,

    L2: Kombinációs hálózatok tervezése Verilog HDL használatával. Elemi logikai függvények egybites változókra és bitvektorokra. 4 bites összeadó kaszkád kialakítással.

    3.   EA3: Logikai eszközök technikai részletei. Jelszintek, kimeneti megoldások (normál, HiZ, OC). Univerzális elemkészletek, a realizáció egységesítése. NAND/NOR, MUX és LUT alapú tervezés és tulajdonságaik. Az élvezérelt DFF, mint szinkron mintavevő tároló. A több bites regiszter, mint összetett alapelem. A konfigurálható FPGA alaperőforrásai: logikai cella (LUT + DFF), I/O cella (DFF + HiZ I/O), huzalozás (kapcsolók).

    GY3: Az általános kombinációs funkcionális egységek használata. 4 számjegyes kijelző tervezése.

    L3: A 7 szegmenses kijelző használata. 4 bemenetű – 7 kimenetű kombinációs hálózat tervezése. A 4 digites kijelző statikus (1 digit) és dinamikus (2 digit) használata.

    4.   EA4: A szinkron működés modellezése HDL nyelven. Az általános szekvenciális logika. FSM elrendezések, állapotregiszter, állapotátmeneti és kimeneti függvények. Specifikációs eszközök: állapotdiagram, állapottábla. HDL alapú FSM specifikációs stílusok, egyesített és szétválasztott leírás.

    GY4: Egyszerű sorrendi hálózatok tervezése, állapotdiagramjának felrajzolása. A HDL specifikáció megtervezése az általános FSM modell alapján.

    L4: 4 bites kódadó FSM tervezése, fix és beállítható kóddal. Működés idődiagramjának ellenőrzése szimulációval. 

    5.   EA5: Állapotminimalizálás elve, módszerei. Állapotkódolás szerepe, hatása az FSM komplexitására. Nem definiált állapotok kezelése. Az általános multifunkciós regiszter felépítése, vezérlési függvények származtatása. Kódolt és dekódolt vezérlés. Alapállapot beállítás, töltés, engedélyezés, és egyedi műveletek kiválasztása. A HDL modell felépítése.

    GY5: Általános célú sorrendi logikai elemek tervezése. Interfészjelek, vezérlőjelek használata. Bináris számlálók. BCD számláló és bővítése több számjegyre.

    L5: Teljes 4 digites 7 szegmenses kijelző egység felépítése. BCD számláló megtervezése, 4 digites számláló lánc kialakítása.

    6.   EA6: Adatfeldolgozó egységek tervezése, példák egyszerűbb feladatokra. Számlálók tulajdonságai, használatuk ütemezési, időzítési feladatokra. SRAM memóriák használata, tulajdonságai. HDL specifikációs minták.

    GY6: Memória eszközök használata. Dekódolás feladatai: címzés, engedélyezés, adatvonalak kezelése. Írás/olvasás műveletek, adatfeldolgozás

    L6: Mintakereső áramkör tervezése 256 bájtos ROM memóriához. Feladat: Előírt tulajdonságú adatbájt megkeresése, {cím, adat} kijelzése a 4 digites kijelzőn.

    7.   EA7: A regisztertranszfer szintű tervezés. Vezérlő és adatfeldolgozó egységek együttes specifikációja. Feladatspecifikus megoldások, a tervezés menete. Vezérlők tervezése ASM megközelítéssel. Elemei műveletek, feltételek kezelése. Állapotátmenetek, vezérlési szerkezetek.

    GY7: Digitális rendszer tervezése a legnagyobb közös osztó (GCD) meghatározásához. Az algoritmus áttekintése, a feldolgozás lépései, a szükséges műveleti egységek és vezérlőjelek meghatározása. A vezérlőegység állapotdiagramja és megtervezése.

    L7: A GCD egység HDL kódjának elkészítése, szimulációja, megvalósítása.

    8.   EA8: Az általánosított adatfeldolgozó egység. Be- és kimeneti interfészek, adatregiszterek, műveletvégzők. Adatméret, műveletek szabványosítása. Az általános adatstruktúra elemei: memória, regiszterek/regisztertömb, stack, ALU, státuszjelző bitek.

    GY8: A GCD feladat realizációja mikroprogramozott vezérlővel. Mikroutasítás specifikációja, mikroprogram szervezése, vezérlőjelek.    

    L8: A mikroprogramozott vezérlő HDL specifikációjának megtervezése. Az algoritmus mikrokódjának elkészítése. 

    9.   EA9: A mikrovezérlő/mikroprocesszor bevezetése. Programtár, programszámláló, utasítás végrehajtási fázisok: F-D-E. Az utasítás végrehajtás FSM modellje. Az utasítás architektúra (IA) jelentősége, utasítás felépítés. Utasításkészlet elemzése. Operandus elérés, címzési módok.

    Gépi szintű programozás, gépi kód, mnemonik, egyszerű program.

    GY9: MiniRISC CPU felépítése, blokkvázlat. A MiniRISC gépi kódú programozása, 2-3 egyszerű program elkészítése (max. 10-20 utasítás!)

    L9: A MiniRISC GUI bemutatása. A gyakorlaton elkészített forráskódok használata, fordítás, letöltés, futtatás. Hibakeresés/javítás lehetőségei.

    10.  EA10: A mikroprocesszoros busz. Cím, adat, vezérlő jelek. Buszok jellemzői: buszciklus fogalma, átvitelvezérlés, master/slave egységek, arbitráció. Perifériakezelés fogalma, alapvető műveletek: címdekódolás, parancsjelek előállítása, szikronizálás/nyugtázás. Buszillesztő logika elemei: adat regiszterek, parancs/státusz regiszterek. A felhasználói logika működtetése, monitorozása. Perifériakezelés feladatai: alaphelyzetbe állítás, üzemmód beállítás, indítás. Adatforgalom szervezése lekérdezéssel, ill. visszajelzéssel (IRQ).

    GY10: Periféria illesztőegység tervezése bemeneti (kapcsoló, nyomógomb) és kimeneti (LED) eszköz használatához. Címdekóder, parancsjel generátor, adatbusz fogadás/meghajtás.

    L10: Lekérdezéses periféria kezelés használata LED fényerő vezérléshez.

    11.  EA11: A mikrovezérlők tipikus perifériaegységei: A GPIO periféria. Jelentése, áramköri felépítés, jellemző szolgáltatások, használat. Egyszerű IN/OUT/INOUT. Programozott interfészek. Konfigurálás, programozás. Az időzítő egység. Jelentése, áramköri felépítés, jellemző szolgáltatások, használat. Ütemezés, időzítés, mérés, periodikus jelalakok.

    GY11: Mikroszervo motor vezérlés tervezése: Vezérlő hullámforma specifikációja, -90°, 0°, +90° beállításához. Bemenet: 2 digites BCD érték, előjel nyomógombbal.

    L11: Mikroszervo motor vezérlés tervezése programozott időzítő alapú PWM vezérléssel, GPIO interfészen.

    12.  EA12: A megszakítás fogalma, jelentősége. A processzor működése megszakítás használata esetén. Engedélyezés, kérés elfogadása, állapotmentés, megszakítás kiszolgáló rutin, visszatérés.   Megszakításrendszerek osztályozása: egyszerű, vektoros, egyszintű, többszintű. A megszakítás vezérlő feladata, prioritáskezelés.

    GY12: Mikroprocesszoros digitális óra tervezése HHMM kijelzéssel, Ébresztő funkció, időzítés beállítás megszakításos perifériakezeléssel. 

    L12: Mikroprocesszoros óra forráskód kiegészítése a megszakításhoz kapcsolódó részfunkciókkal.

    13. EA13: Mikrovezérlők adatátviteli interfészei: soros UART/USRT, SPI. A külső buszok kialakítási lehetőségei. Autonóm adatátviteli egységek, a közvetlen memória elérés jellemzői, működése, kialakítása.

    GY13: Egyszerű szoftveres SPI interfész megvalósítás GPIO segítségével.  

    L13: Adatblokk mozgatása a memóriából az USRT periférián át a PC terminálra. Hőmérséklet szenzor adatinak beolvasása szoftver SPI rutinnal és kijelzése hétszegmenses kijelzőn.

    14.  EA14: Félévi tematika áttekintése. A digitális technika alkalmazása beágyazott rendszerekben. HW-SW együttes kezelése a rendszermegvalósítás során. Összetett hierarchikus rendszerek tervezése.

     GY14: -

    L14: -       

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás, gyakorlat, labor.
    10. Követelmények

    A szorgalmi időszakban:

    A tárgy előadásainak, gyakorlatainak és laboratóriumi foglalkozásainak látogatása kötelező. A jelenlét ellenőrzése az előadásokon központilag, a gyakorlatokon és laborfoglalkozáson egyedileg történik.  Aláírást nem kaphat az a hallgató, aki az előadások több, mint 30%-ról vagy több, mint 4 gyakorlatról, illetve több, mint 2 laboratóriumi gyakorlatról hiányzott. Az órarendi szünetek miatt elmaradó gyakorlatok, laboratóriumi foglakozások nem számítanak hiányzásnak.   

    A szorgalmi időszakban a hallgatók 1 db zárthelyi dolgozatot (max. 60 pont) és 2 db házi feladatot (2x15 pont) készítenek el egyénileg. A laboratóriumi foglalkozásokhoz külön számonkérés nem tartozik, az előírt feladatokat sikeresen teljesítők alkalmanként 1-1 pontot kaphatnak.

    A félévvégi aláíráshoz a jelenléti követelmények teljesítése és összességében minimum 40 pont elérése szükséges. 

    A vizsgaidőszakban:

    A tárgyból írásbeli vizsgát tartunk. Az elégséges osztályzathoz a vizsgadolgozat minimum 40%-os teljesítése szükséges. Az osztályzat megállapítása 75%-ban az írásbeli vizsga és 25%-ban a félévközi pontszám alapján történik.   

    11. Pótlási lehetőségek

    A félév során és a pótlási időszakban egy-egy pótzárthelyi alkalmat biztosítunk. A félév során (utolsó héten) és a pótlási héten egy-egy laboratóriumi jelenlét pótolható.

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

    A tárgy oktatói igény szerint biztosítanak konzultációs lehetőséget.

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

    Frank Vahid: Digital Design, John Wiley & Sons, 2007, (ISBN 978-0-470-04437-7)

    Milos Ercegovac, Tomás Lang, Jaime H. Moreno: Introduction to Digital Systems, John Wiley & Sons, 1999, (ISBN 0-471-57299-8)

    Richard S. Sandige: Digital Design Essentials, Prentice Hall, 2002, (ISBN 0-201-47689-4)

    David Money Harris, Sarah L. Harris: Digital Design and Computer Architectures, Elsevier, 2013, (ISBN 978-0-12-394424-5)

    Linda Null, Julia Lobur: Computer Organization and Architecture, Jones &Bartlett Learning, 2014, ISBN-13: 9781284045611

     Az előadásvázlatok a tárgy honlapján: www.mit.bme.hu/oktatas/targyak/vimiaa02 érhetők el.

     

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra70
    Félévközi készülés előadásra7
    Félévközi készülés gyakorlatra
    7
    Félévközi készülés laborra
    14
    Felkészülés zárthelyire18
    Házi feladat elkészítése16
    Vizsgafelkészülés48
    Összesen180
    15. A tantárgy tematikáját kidolgozta

    Dr. Fehér Béla

    egyetemi docens

    MIT

    IMSc tematika és módszer

    Az IMSC képzés számára a tárgy a következő kiegészítéseket biztosítja:

    1. Előadás: Az IMSC képzés részére önálló előadáskurzust nem indítunk.

    2. Gyakorlat: Az IMSC hallgatók számára emelt szintű tanköri foglalkozásokat tartunk. Az emelt szintű gyakorlatokon alaposabb elemzéseket, kiegészített gyakorlati feladatok bemutatását tervezzük. (Ezek a feladatok a többi hallgató számára szorgalmi feladatként jelennek meg.)

    3. Laboratórium: Az IMSC hallgatók számára az emelt szintű laboratóriumi foglalkozások során a mérőcsoportok önálló feladatmegoldását ösztönözzük, az előírt feladatok mellett/helyett megengedve egyéni elképzelések, saját feladatok megfogalmazását és megoldását. 

    IMSc pontozás

    A tárgy teljesítése során a tárgy kreditszámának megfelelő 6*5 = 30 IMSC pontot a következőképpen lehet megszerezni: félév közi követelmények 20 pont, vizsgakövetelmények 10 pont.

    ZH IMSC feladatok 10 pont

    HF IMSC feladatok 10 pont  

    Vizsga IMSC feladatok 10 pont

    Az IMSC pontok megszerzése minden hallgató számára elérhető, de értékelésük csak abban az esetben történik meg, ha az adott számonkérési forma (ZH, HF, vizsga) alapfeladatain elért eredmény eléri a jeles szintet. Az egyes pontok megszerezhetősége nem függ az adott követelmény teljesítésének módjától (pót ZH, határidőn túl beadott HF, pót vagy javító vizsga), az IMSC pontok minden esetben megszerezhetők. 

    Részletek:

    Az IMSC pontok a ZH és vizsgadolgozatok során a dolgozatok F2 és F3 nagyfeladataihoz kapcsolódó kiegészítő feladatok megválaszolásával szerezhetők meg, ha az adott feladat pontszáma elérte a jeles szintet. (5-5 IMSC pont feladatonként)

    A két HF során az alapfeladat kiírásán túl egy kiegészítő IMSC részfeladatot is megfogalmazunk, amelynek megoldásával szerezhető meg az 5-5 IMSC pont, ha egyébként az alapfeladat minősége a jeles szintet elérte.