Digitális Technika II. jegyzet Javított változat: 2018. október Digitális Technika II. Dr. Holczinger Tibor Dr. Göllei Attila Dr. Vörösházi Zsolt Egyetemi tankönyv TypoTex • Budapest, 2013 © Dr. Holczinger Tibor, Dr. Göllei Attila, Dr. Vörösházi Zsolt, 2013 2 ő El szó A Pannon Egyetem Műszaki Informatikai Karán tanuló mérnök informatikus és villamosmérnök alapszakos hallgatók eddig más oktatási intézmények által kiadott jegyzetekből, a kereskedelemben kapható tankönyvekből valamint az Internetről letöltött anyagokból tanulhatták a digitális technikát (BME: [ARATÓP], vagy SZE: [KERESZTP]). Bár ezekből is tökéletesen elsajátíthatták a tantárgy elméleti részeit, azonban nincs közöttük egyetlen olyan sem, amely a karunkon folyó képzés követelményeihez és tematikájához teljes mértékben igazodna. A jegyzet ezt a hiányt hivatott pótolni. Jelen jegyzet készítése során célul tűztük ki, hogy a meglévő előadás vázlatokra, fóliákra épülően egy egységes, jól hasznosítható oktatási segédanyag készüljön a Digitális Technika I. - II., és a Digitális Áramkörök c. tárgyakhoz, amelyet a nagy hallgatói létszámmal oktatunk a Pannon Egyetem veszprémi, és nagykanizsai képzési helyein, valamint a Szegedi Tudomány Egyetemen. A jegyzet mind mérnök informatikusok, mind villamosmérnökök számára korszerű, konkrét, elméleti és gyakorlati ismereteket tartalmaz a digitális áramkörök és rendszerek tervezéséhez. 3 4 Tartalomjegyzék Előszó ....................................................................................................................................................... 3 1. Sorrendi hálózatok alapjai ................................................................................................................... 9 Bevezetés............................................................................................................................................. 9 Sorrendi hálózatok alapmodelljei: ..................................................................................................... 10 Mealy modell ................................................................................................................................. 10 Moore modell ................................................................................................................................ 11 Definíciók Aszinkron Sorrendi hálózatok esetén ........................................................................... 11 Definíciók Szinkron Sorrendi hálózatok esetén: ............................................................................ 13 a.) Idődiagram szinkron Mealy modell esetén: ...................................................................... 13 b.) Idődiagram szinkron Moore modell esetén: ..................................................................... 14 2. Sorrendi hálózatok működésének leírása ......................................................................................... 15 2.1 Példa: ÁLLAPOT TÁBLA bemutatása aszinkron működést feltételezve....................................... 15 2.2 Példa: ÁLLAPOT TÁBLA bemutatása szinkron működést feltételezve ........................................ 17 További példák .................................................................................................................................. 20 2.3 Példa: Állapottábla felírása állapotgráf segítségével .................................................................. 20 2.4 Példa: Sorrendi hálózat vizsgálata állapottábla alapján .............................................................. 21 2.5 Példa: Sorrendi hálózat vizsgálata állapottábla alapján .............................................................. 23 2.6 Példa: Állapottábla felírása speciális, don’t care állapotot tartalmazó állapotgráf alapján ........ 25 3. Flip-flopok, mint a sorrendi hálózatok alapelemei ............................................................................ 26 Alapáramkörök .................................................................................................................................. 26 Flip-flop-ok típusai ............................................................................................................................. 26 R-S flip-flop .................................................................................................................................... 27 J-K flip-flop ..................................................................................................................................... 29 T flip-flop ....................................................................................................................................... 30 D-G flip-flop ................................................................................................................................... 31 D flip-flop ....................................................................................................................................... 31 Közbenső tárolós (Master-Slave) flip-flop ..................................................................................... 32 Közbenső tárolós flip-flop aszinkron billentésének megvalósítása ................................................... 33 Élvezérelt, dinamikus billentésű flip-flop-ok ..................................................................................... 33 Flip-flop-ok integrált áramköri megvalósításai.................................................................................. 34 Élvezérelt D flip-flop .......................................................................................................................... 34 Élvezérelt J-K flip-flop .................................................................................................................... 35 Több bites tároló áramkörök (latch) ................................................................................................. 35 Flip-flop-ok átalakítása másik típusú flip-floppá ............................................................................... 36 4. Szinkron sorrendi hálózatok tervezése .............................................................................................. 40 Szinkron sorrendi hálózat (Mealy modell) komplex tervezési feladata: ........................................... 40 1. Logikai feladat megfogalmazása: .......................................................................................... 40 5 2. Előzetes állapottábla összeállítása ........................................................................................ 43 3. Összevont (egyszerűsített) állapottábla ................................................................................ 44 4. Kódolt állapottábla ................................................................................................................ 45 5. Alkalmazandó tároló típusának kiválasztása ......................................................................... 46 6. Vezérlési tábla összeállítása .................................................................................................. 46 a. Vezérlési tábla összeállítása J-K (S-R) tároló segítségével ..................................................... 46 b. Vezérlési tábla összeállítása T tároló segítségével ................................................................ 48 c. Vezérlési tábla összeállítása D-G tároló segítségével ............................................................ 50 7. Működtetés szemléltetése idődiagramon (Mealy) ............................................................... 51 Szinkron sorrendi hálózat (Moore-modell) komplex tervezési feladata: .......................................... 52 1. Logikai feladat megfogalmazása: .......................................................................................... 52 2. Előzetes állapottábla összeállítása ........................................................................................ 52 3. Összevont (egyszerűsített) állapottábla ................................................................................ 54 4. Kódolt állapottábla ................................................................................................................ 54 5. Alkalmazandó tároló típusának kiválasztása ......................................................................... 56 6. Vezérlési tábla összeállítása .................................................................................................. 56 a. Vezérlési tábla összeállítása D tároló segítségével ................................................................ 56 b. Vezérlési tábla összeállítása S-R (vagy J-K) tároló segítségével ............................................. 58 7. Működtetés szemléltetése idődiagramon (Moore) .............................................................. 61 További példák .................................................................................................................................. 62 4.1 Példa: Sorrendi hálózat tervezése TS állapotgráf alapján ....................................................... 62 4.2 Példa: Sorrendi hálózat tervezése NTS állapotgráf alapján ..................................................... 65 4.3 Példa: Sorrendi hálózat állapottáblájának összeállítása.......................................................... 67 4.4 Példa: Sorrendi hálózat állapottáblájának összeállítása.......................................................... 68 5. Aszinkron sorrendi hálózatok tervezése............................................................................................ 72 Aszinkron sorrendi hálózat komplex tervezési feladata: D-FF tervezése aszinkron módon ............. 72 a) Logikai feladat megfogalmazása: .......................................................................................... 73 b) Előzetes állapottábla összeállítása ........................................................................................ 74 c) Összevont (egyszerűsített) állapottábla ................................................................................ 75 d) Kódolt állapottábla ................................................................................................................ 76 Állapotkódok: I. módszer (Kritikus versenyhelyzet) ...................................................................... 76 Kritikus versenyhelyzet .................................................................................................................. 77 Állapotkódok: II. módszer (nem-kritikus versenyhelyzet) ............................................................. 78 Nem-kritikus versenyhelyzet ......................................................................................................... 79 e) Alkalmazandó tároló típusának kiválasztása ......................................................................... 79 f) Vezérlési tábla összeállítása .................................................................................................. 79 a. Tisztán visszacsatolt kombinációs hálózattal történő megvalósítás ..................................... 79 b. Aszinkron tárolókból történő megvalósítás .......................................................................... 81 6 g) „Lényeges hazárd” ellenőrzése ............................................................................................. 83 Összefoglaló táblázat: .................................................................................................................... 85 További feladatok .............................................................................................................................. 86 5.1 feladat: Aszinkron sorrendi hálózat előzetes állapottáblájának felvétele .............................. 86 a) Logikai feladat megfogalmazása ........................................................................................... 86 b) Előzetes állapottábla összeállítása ........................................................................................ 87 c) Összevont (egyszerűsített) állapottábla és állapotgráf ......................................................... 89 d) Kódolt állapottábla ................................................................................................................ 90 6. Teljesen specifikált sorrendi hálózatok állapotminimalizálása ......................................................... 91 Ekvivalens állapotok .......................................................................................................................... 91 Ekvivalencia osztályok előállítása ...................................................................................................... 93 Lépcsős tábla ................................................................................................................................. 93 Partíció finomítás .......................................................................................................................... 98 Összevont állapottábla .................................................................................................................... 100 További példák: ............................................................................................................................... 102 6.1 Példa ...................................................................................................................................... 102 7. Nem teljesen specifikált sorrendi hálózatok állapotminimalizálása ............................................... 106 Kompatibilis állapotok ..................................................................................................................... 106 Kompatibilis és inkompatibilis állapotpárok meghatározása .......................................................... 108 Maximális kompatibilitási osztályok meghatározása ...................................................................... 111 Kompatibilis párok alapján bővítéssel ......................................................................................... 111 Inkompatibilis párok alapján szétszedéssel ................................................................................. 113 Minimális számú zárt kompatibilis osztály meghatározása ............................................................ 114 Összevont állapottábla .................................................................................................................... 118 További példák: ............................................................................................................................... 121 7.1 Példa ...................................................................................................................................... 121 8. Szinkron sorendi hálózatok állapotkódolása ................................................................................... 128 Szomszédos állapotkódok választása .............................................................................................. 130 Az „a” szabály .............................................................................................................................. 131 A „b” szabály ................................................................................................................................ 132 A „c” szabály ................................................................................................................................ 134 Állapotkódolás ............................................................................................................................. 134 Kódolás Helyettesítési Tulajdonságú (HT) partíciók alapján ........................................................... 139 Kódolás kimenet alapján ................................................................................................................. 150 Állapotonként egy bit kódolás ......................................................................................................... 151 9. Aszinkron sorendi hálózatok állapotkódolása ................................................................................. 154 Instabil állapotok beillesztése ......................................................................................................... 154 Tracey-Unger módszer .................................................................................................................... 157 7 10. Kódolási eljárások .......................................................................................................................... 169 Adatvédelem, adatbiztonság ........................................................................................................... 169 Kódtípusok: ...................................................................................................................................... 170 Pozíció kódok: .............................................................................................................................. 170 BCD kódok ....................................................................................................................................... 171 Excess kódok: ............................................................................................................................... 171 Hibafelfedő-, és javító kódok ........................................................................................................... 171 NRZ-RZ kódolás ................................................................................................................................ 173 Fáziskódolt jelátmenet .................................................................................................................... 174 Manchester kódolás ........................................................................................................................ 174 Differenciális Manchester kódolás .................................................................................................. 174 Adatok titkosítása ............................................................................................................................ 175 Titkosítás (kriptológia) ................................................................................................................. 175 Szimmetrikus kulcsú kódolások ....................................................................................................... 176 Konvencionális titkosítás ................................................................................................................. 178 Üzenethitelesítő kódok ................................................................................................................... 180 Nyilvános, aszimmetrikus kulcsú kódolás – az RSA algoritmus ....................................................... 181 Irodalomjegyzék .................................................................................................................................. 182 8 1. Sorrendi hálózatok alapjai Bevezetés Ebben a fejezetben a sorrendi hálózatok működésével, felépítésével, fizikailag realizálható modelljeivel (Mealy, Moore modellek) fogunk megismerkedni. A működés leírásának nyomon követésére az állapottáblát, illetve a szemléletesebb, de vele ekvivalens állapot-gráfot fogjuk majd használni. A sorrendi hálózatok működési hátterének ismeretében az egyes alkalmazásokban is fontos „építőköveket”, az elemi tárolókat fogunk megvalósítani, illetve más sorrendi hálózatokban felhasználni (pl. szinkron-, és aszinkron hálózatok). A sorrendi hálózatokban esetében is – a kombinációs hálózatoknál megismert – működési bizonytalanságok (hazárd) vizsgálata szükséges: egyrészt a késleltetésekből adódó kritikus versenyhelyzet („rendszer hazárd”), másrészt pedig a lényeges hazárd megszüntetése válhat szükségessé. Emlékeztető: (K.H.) Kombinációs logikai hálózatról beszéltünk, ha a mindenkori kimeneti kombinációk (függő változók) értéke csupán a bemeneti kombinációk (független változók) pillanatnyi értékétől függ (tároló „kapacitás”, vagy memória nélküli hálózatok voltak). Egyrészt a bemenetek ( ), (cid:1) kimenetek ( ) halmazaival jellemezhetők, másrészt pedig az kimeneti függvény megadásával ( (cid:2) (cid:2) = ). (cid:4)(cid:5)(cid:1)(cid:6) ) X Kombinációs ) ( Z ek Logikai Hálózat k ( t e ne (K.H.) et e n m e m e B Z = f(X) Ki 1.1 ábra: Kombinációs logikai hálózat szimbóluma Hívják még nyílt hatásláncnak is: egyértelmű hozzárendelés (de nem kölcsönösen egyértelmű). (cid:4) Def: S.H. – Sorrendi (vagy szekvenciális) hálózatokról beszélünk, ha a mindenkori kimeneti kombinációt, nemcsak a pillanatnyi bemeneti kombinációk, hanem a korábban fennállt bementi kombinációk és azok sorrendje (mint állapot) is befolyásolja. A szekunder/másodlagos kombinációk segítségével az ilyen típusú hálózatok képessé válnak arra, hogy az ugyanolyan bemeneti kombinációkhoz más-más kimeneti kombinációt szolgáltassanak, attól függően, hogy a bemeneti kombináció fellépésekor, milyen értékű a szekunder kombináció, azaz az állapot (például az Állapot Regiszter tartalma). Sorrendi hálózatok fajtái között két fő típust különböztetünk meg: 1. Szinkron működésű: a. Mealy modell b. Moore modell 2. Aszinkron működésű: • Ütemezetlen (normál) aszinkron működésű • Ütemezett aszinkron működésű A továbbiakban a sorrendi hálózatok helyett praktikus rövidítésként alkalmazzuk az S.H.-t. Az 1.2-es ábrán egy később tárgyalandó tipikus sorrendi hálózati modell (Mealy modell) blokkszintű felépítése látható. Egyrészt a bemenetek ( ), kimenetek ( ), következő állapotok ( ), és az aktuális (cid:1) (cid:2) (cid:7) állapotok ( ) halmazaival jellemezhetők, másrészt pedig az kimeneti ( ), valamint az következő (cid:8) (cid:4)(cid:5)(cid:1),(cid:8)(cid:6) (cid:9) állapot függvény megadásával ( ). (cid:4) (cid:5)(cid:1),(cid:8)(cid:6) (cid:11) 9 ) X k ( Z = f (X,y) e k Z et ete en(Z) n Kombinációs m me Logika (K.H.) Ki e B y Y = f (X,y) Y Állapot y Y Reg. 1.2 ábra: Egy tipikus sorrendi logikai hálózat blokkszintű felépítése Hívják még zárt hatásláncnak is, a szekunder kombinációk (állapotok), mint visszacsatolás hat a kombinációs hálózat bemenetére. Előzetesen: a sorrendi hálózatok leképezési szabályai: Mealy modell (cid:4)(cid:13)(cid:5)(cid:8)(cid:6)⇒ (cid:2) vagy Moore modell: (cid:4)(cid:5)(cid:1),(cid:8)(cid:6)⇒ (cid:2) (cid:12) (cid:9) A kimeneti függvény előállítása mindkét modell (Mealy, Moore) esetén azonos: (cid:4) (cid:5)(cid:1),(cid:8)(cid:6)⇒ (cid:7) (cid:15) Sorrendi hálózatok alapmodelljei: Mealy modell A sorrendi hálózatok egyik alapmodellje. Mivel a hálózatban valós késleltetés van, ezért a kimeneten az eredmény véges időn belül jelenik csak meg! (Visszacsatolás + állapot regiszter elérése = késleltetés). Korábbi értékek (állapotok) visszacsatolódnak a bemenetre: így a kimeneteket nemcsak a bemenetek pillanatnyi, hanem a korábbi állapotai is együtt határozzák meg. Problémák merülhetnek fel az állapotok és bemenetek közötti „szinkronizáció” hiánya miatt (változó hosszúságú kimenetet – dekódolás is, amennyiben vezérlő egységek konstruálásában gondolkozunk). Ezért alkalmazzuk legtöbb esetben a második, Moore-féle automata modellt. • Halmazok: o – a bemenetek, (cid:1) o – a kimenetek, (cid:2) o – a következő állapotok halmaza, (cid:7) o – a következő állapotok halmaza (cid:8) • Két leképezési szabály a halmazok között: o : következő állapot függvény (hívják még következő állapot logikának is (cid:4) (cid:5)(cid:1),(cid:8)(cid:6)→(cid:7) (cid:15) – „next-state logic”), o : kimeneti függvény. (cid:4)(cid:5)(cid:1),(cid:8)(cid:6)→(cid:2) (cid:9) 10