Belépés címtáras azonosítással
magyar nyelvű adatlap
angol nyelvű adatlap
Digitális technika
A tantárgy angol neve: Digital Design
Adatlap utolsó módosítása: 2021. június 9.
Dr. Benesóczky Zoltán
mestertanár
MIT
Szántó Péter
mesteroktató
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ó.
A Digitális technika egy fontos alapozó tárgy a mérnökinformatikus szak tantervében, és legfontosabb célkitűzése a mérnöki feladat megközelítés 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éria 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, alapfokú tervezési/fejlesztési tapasztalatszerzésen van. A Digitális technika egy fontos alapozó tárgy a mérnökinformatikus szak tantervében, és legfontosabb célkitűzése a mérnöki feladat megközelítés 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éria 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, alapfokú tervezési/fejlesztési tapasztalatszerzésen van.
1. EA1: Bevezetés, a digitális technika világa. 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). Verilog HDL nyelvi alapok ismertetése (modul, bemenet, kimenet, funkció).
GY1: Számrendszerek, kódok, kódkonverzió (BIN-BCD, BCD-BIN). Bináris aritmetika.
L1: Eszközkészlet, tervezői környezet bemutatása. 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ó. Alapelemek, kapuk, kétszintű hálózatok, az SOP realizáció. Minimalizálási algoritmusok.
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 és több bites változókra
3. EA3: Funkcionális egységek, univerzális elemkészletek. 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, 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.
4. EA4: 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. Verilog 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: 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.
GY5: Általános célú sorrendi logikai elemek tervezése. Interfészjelek, vezérlőjelek használata. Bináris számlálók.
L5: Teljes 4 digites 7 szegmenses kijelző egység felépítése. Bináris számláló megtervezése.
6. EA6: Adatfeldolgozó egységek tervezése, példák egyszerűbb feladatokra (ADD, SUB, COMP). Regiszterek, Stack, FIFO. SRAM memóriák használata, tulajdonságai.
GY6: Mintakereső feladat bemutatása, a tervezés lépései.
L6: Mintakereső áramkör megvalósítása 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 előre elkészített modulok felhasználásával.
7. EA7: A regisztertranszfer szintű tervezés. Vezérlő és adatfeldolgozó egységek együttes specifikációja. Vezérlők tervezése HLSM és ASM megközelítéssel. Elemi 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 Verilog 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. 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 MiniRISC GUI bevezetése, szerkesztés, fordítás, ellenőrzés, lépésenkénti végrehajtással elemi (3-4 utasításos) ASM minta programokon.
L8: A MiniRISC GUI bemutatása. Az előadáson elkészített forráskódok használata, fordítás, letöltés, futtatás. Hibakeresés/javítás lehetőségei. Tipikus ASM programozási minták: ciklus szervezés, indirekt adatcímzés, időzítés alkalmazása. (Esetleg néhány kurzusnak elmarad, Okt. 23., Nov. 1.).
9. EA9: A MiniRISC mikrovezérlő/mikroprocesszor felépítésének bemutatása. 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.
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. Az előadáson elkészített forráskódok használata, fordítás, letöltés, futtatás. Hibakeresés/javítás lehetőségei. Tipikus ASM programozási minták: ciklus szervezés, indirekt adatcímzés, időzítés alkalmazása. (Esetleg néhány kurzusnak elmarad, Okt. 23., Nov. 1.).
10. EA10: A mikroprocesszoros busz. Cím, adat, vezérlő jelek. Buszok jellemzői, buszciklus fogalma. Perifériakezelés fogalma, alapvető műveletek: címdekódolás, parancsjelek előállítása, Buszillesztő logika elemei: adat regiszterek, parancs/státusz regiszterek. Perifériakezelés feladatai: alaphelyzetbe állítás, üzemmód beállítás, indítás.
GY10: Egyszerű periféria eszközök (LED, kapcsoló) felépítésének, használatának ismertetése.
L10: Lekérdezéses periféria kezelés használata LED 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 (IN/OUT/INOUT).
GY11: LCD kijelző működtetése GPIO interfész és programozott átvitel használatával
L11: LCD kijelző működtetése GPIO interfész és programozott átvitel használatával. Karakter sorozat kiírása LCD-re memóriából.
12. EA12: Az időzítő egység. Jelentése, jellemző szolgáltatások, használat. Ütemezés, időzítés, mérés, periodikus jelalakok A megszakítás fogalma, jelentősége. A processzor működése megszakítás használata esetén.
GY12: PWM vezérlőjel előállítása időzítővel GPIO kimeneten.
L12: Mikroszervo motor vezérlés tervezése programozott időzítő alapú PWM vezérléssel, GPIO interfészen.
13. EA13: Mikrovezérlők adatátviteli interfészei: soros UART/USRT, SPI, I2C.
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 adatainak 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: Pótlási alkalom
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ó.
A kis zárthelyik nem pótolhatók, a 6 alkalomból 4 alkalmon részt kell venni.
A tárgy oktatói igény szerint biztosítanak konzultációs lehetőséget.
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.
Dr. Fehér Béla
egyetemi docens
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.
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 12 pont Kiszárthelyi feladatok 8 pont (4x2 pont) Vizsga IMSC feladatok 10 pont
ZH IMSC feladatok 12 pont
Kiszárthelyi feladatok 8 pont (4x2 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, 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. (6-6 IMSC pont feladatonként).
Minden kis zárthelyi tartalmaz 1 db két 2 pontos kiegészítő IMSC feladatot, ezek értékelése akkor történik meg, ha a kis zárthelyi 7 vagy 8 pontos.