Kiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez

Hasonló dokumentumok
Digitális technika házi feladat III. Megoldások

D I G I T Á L I S T E C H N I K A Gyakorló feladatok 3.

Állapot minimalizálás

Dr. Oniga István DIGITÁLIS TECHNIKA 8

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

Újrakonfigurálható eszközök

Szinkron sorrendi hálózatok tervezése

Véges állapotú gépek (FSM) tervezése

Digitális technika (VIMIAA02) Laboratórium 4

5. Hét Sorrendi hálózatok

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika VIMIAA02

Digitális technika VIMIAA02

Megoldás Digitális technika I. (vimia102) 4. gyakorlat: Sorrendi hálózatok alapjai, állapot gráf, állapottábla

6. hét: A sorrendi hálózatok elemei és tervezése

A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg: Olvasható aláírás:...

Digitális technika - Ellenőrző feladatok

Hardver leíró nyelvek (HDL)

Digitális technika (VIMIAA01) Laboratórium 4

DIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István

Aszinkron sorrendi hálózatok

DIGITÁLIS TECHNIKA feladatgyűjtemény

Szomszédos kódolás szinkron hálózatok esetén

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

10. Digitális tároló áramkörök

A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg. Olvasható aláírás:...minta VIZSGA...

DIGITÁLIS TECHNIKA II

3.6. HAGYOMÁNYOS SZEKVENCIÁLIS FUNKCIONÁLIS EGYSÉGEK

Gépészmérnöki és Informatikai Kar Automatizálási és Kommunikáció- Technológiai Tanszék

Irányítástechnika I. Dr. Bede Zsuzsanna. Összeállította: Dr. Sághi Balázs, egy. docens Dr. Tarnai Géza, egy. tanár

A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg: Olvasható aláírás:...

Véges állapotú gépek (FSM) tervezése

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Szekvenciális hálózatok és automaták

DIGITÁLIS TECHNIKA II

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

Véges állapotú gépek (FSM) tervezése

Mérési jegyzőkönyv. az ötödik méréshez

A fealdatot két részre osztjuk: adatstruktúrára és vezérlőre

A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg: Olvasható aláírás:...

Áramkörök elmélete és számítása Elektromos és biológiai áramkörök. 3. heti gyakorlat anyaga. Összeállította:

1. Az adott kapcsolást rajzolja le a lehető legkevesebb elemmel, a legegyszerűbben. MEGOLDÁS:

Verilog HDL ismertető 4. hét : hét dia

hét Sorrendi hálózatok tervezési lépései: szinkron aszinkron sorrendi hálózatok esetén

Logikai áramkörök. Informatika alapjai-5 Logikai áramkörök 1/6

funkcionális elemek regiszter latch számláló shiftregiszter multiplexer dekóder komparátor összeadó ALU BCD/7szegmenses dekóder stb...

Digitális technika Laboratórium 6.

14. TARTALOM FUTTATÁSA A FEJLESZTŐLAP HÉTSZEGMENSES KIJELZŐJÉN

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 1. rész

Széchenyi István Egyetem. dr. Keresztes Péter DIGITÁLIS HÁLÓZATOK ÉS RENDSZEREK

DIGITÁLIS TECHNIKA I

Verilog HDL ismertető

DIGITÁLIS TECHNIKA II

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

Verilog ismertető (Szántó Péter, BME MIT, )

1. Kombinációs hálózatok mérési gyakorlatai

7.hét: A sorrendi hálózatok elemei II.

EB134 Komplex digitális áramkörök vizsgálata

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Előadó: Nagy István (A65)

Újrakonfigurálható eszközök

Digitális Technika II. jegyzet

Digitális hálózatok. Somogyi Miklós

Egyszerű RISC CPU tervezése

8.3. AZ ASIC TESZTELÉSE

Számlálók és frekvenciaosztók Szinkron, aszinkron számlálók

6. hét Szinkron hálózatok tervezése és viszgálata

2. Digitális hálózatok...60

DIGITÁLIS TECHNIKA A FÉLÉV TEMATIKAI VÁZLATA ÉS ISMERETANYAGA (1) ÁLTALÁNOS BEVEZETÉS A FÉLÉV TEMATIKAI VÁZLATA ÉS ISMERETANYAGA (3)

A gyakorlatokhoz kidolgozott DW példák a gyakorlathoz tartozó Segédlet könyvtárban találhatók.

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

Szántó Péter BME Méréstechnika és Információs Rendszerek Tanszék, FPGA Labor

Megoldás Digitális technika I. (vimia102) 2. gyakorlat: Boole algebra, logikai függvények, kombinációs hálózatok alapjai

Kombinációs hálózat. sorrendi hálózat. 1. ábra

Irányítástechnika Elıadás. A logikai hálózatok építıelemei

SZORGALMI FELADAT. 17. Oktober

1. Az adott kifejezést egyszerűsítse és rajzolja le a lehető legkevesebb elemmel, a legegyszerűbben.

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István

EBBEN A VIZSGARÉSZBEN A VIZSGAFELADAT ARÁNYA

DIGITÁLIS TECHNIKA NORMÁL BCD KÓD PSZEUDOTETRÁDOK AZONOSÍTÁSA A KARNAUGH TÁBLÁN BCD (8421) ÖSSZEADÁS BCD ÖSSZEADÁS: +6 KORREKCIÓ

DIGITÁLIS TECHNIKA 7-ik előadás

Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38

PAL és GAL áramkörök. Programozható logikai áramkörök. Előadó: Nagy István

Szekvenciális hálózatok Állapotdiagram

Hobbi Elektronika. A digitális elektronika alapjai: Kombinációs logikai hálózatok 1. rész

XI. DIGITÁLIS RENDSZEREK FIZIKAI MEGVALÓSÍTÁSÁNAK KÉRDÉSEI Ebben a fejezetben a digitális rendszerek analóg viselkedésével kapcsolatos témákat

F1301 Bevezetés az elektronikába Digitális elektronika alapjai Szekvenciális hálózatok

IRÁNYÍTÁSTECHNIKA I.

12. NYOMÓGOMBOK ÉS KAPCSOLÓK PERGÉSMENTESÍTÉSE A FEJLESZTŐLAPON

Digitális technika VIMIAA02 2. EA Fehér Béla BME MIT

4. hét: Ideális és valódi építőelemek. Steiner Henriette Egészségügyi mérnök

30.B 30.B. Szekvenciális hálózatok (aszinkron és szinkron hálózatok)

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1.

Digitális technika VIMIAA02

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 2. rész

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 3. rész

Logikai hálózatok. Dr. Bede Zsuzsanna St. I. em. 104.

Átírás:

Kiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez Benesóczky Zoltán 217 1

digitális automaták kombinációs hálózatok sorrendi hálózatok (SH) szinkron SH aszinkron SH Kombinációs automata Logikai függvényt valósít meg. A kimenete csak az aktuális bemeneti kombinációtól függ. z=z(x) x Z(x) z Megvalósítása kombinációs hálózattal történik. 2

Sorrendi automata A kimenet az előző bemenetektől is függ. Emlékező tulajdonsága van, melyet az állapotokkal (s) reprezentálunk. Az állapota megváltozhat, ha új bemenetet érzékel. A következő állapot (s t ) az aktuális (t időpontbeli) állapot és az aktuális bemenet függvénye. s t =S(s,x), A szinkron sorrendi hálózat (SSH) aktuális állapotát (az állapot kódját) memória tulajdonságú alkatrész, flip-flopokból álló állapot regiszter tárolja, órajellel (clk) ütemezett időpontokban, az órajel aktív élénél. (Ez vagy felfutó él (-1 átmenet), vagy lefutó él (1- átmenet) lehet. A példákban felfutó élet használunk.) A kimenete az aktuális állapot és az aktuális bemenet függvénye ún. Mealy modell szerinti működésnél. z=z(s,x) 3

A kimenet csak az aktuális állpottól függ ún. Moore modell szerinti működés esetén. z=z(s) Vegyes modell esetén egyes kimenetek Mealy zi=zi(s,x), mások Moore jellegűek zj=zj(s) A szinkron sorrendi hálózat felépítése x bemenet következõ állapot kombinációs hál. t következõ állapot next_state állapot regiszter Melay és vegyes modell esetén D rst aktuális állapot state kimeneti kombinációs hál. Z Z RESET áramkör reset clock Órajel gen. Az óragenerátor állítja elő az órajelet. A RESET áramkör bekapcsoláskor vagy a nyomógomb megnyomásakor megfelelő hosszúságú impulzust ad ki, melyet a sorrendi hálózat kezdő állapotának beállítására használunk. (A továbbiakban nem rajzoljuk le külön.) 4

A működés szemléltetése idődiagrammon CLOCK X x1 x2 x3 x4 Z Mealy Z Moore A Melay típusú kimenet megváltozhat, ha a bemenet vagy az állapot megváltozik. A Moore típusú kimenet csak állapot változáskor változhat meg. Az állapot (állapot kód, állapotregiszterben tárolt érték) csak az órajel aktív élének hatására változik meg. 5

A sorrendi hálózat leírási módjai b 1/ d 1/ állapotgráf a 1/ e 1/1 a c f /1 1/ 1/ állapottábla a b/ c/ b c d e f x= x=1 bemeneti kombináció d/ e/ e/ f/ a/ a/ a/ a/1 a/1 a/ következõ állapot/ aktuális kimenet aktuális állapot irányított gráf állapot -> gráfpont állapot átmenet ->él élre írva: bemeneti kombináció/kimeneti kombináció táblázatos forma aktuális állapot ->sor bemeneti kombinációk -> oszlop rubrika: következő állapot /aktuális kimenet 6

Legegyszerűbb állapottároló a D flip-flop. D D felfutó él érzékeny D flip-flop lefutó él érzékeny D flip-flop Az órajel aktív élére tárolja a D bemeneten levő értéket. t+1 =D A működést szemléltető idődiagram felfutó él érzékeny flip-flop esetén: CLOCK D Reset és preset bemenete is lehet: törlés (reset) Aszinkron set és reset D r esetén kimenet az órajeltől s függetlenül 1 lesz s, lesz r 1-be írás (set) hatására. Szinkron esetben csak ha ezen kívül megjön az órajel aktív éle is. Utóbbit használjuk. 7

A szinkron sorrendi hálózat állapotregiszterét közös órajelű D flip-flopok alkotják. D r regiszter D r n D n r D r clk r 8

SSH tervezése szisztematikusan Példa: Egy sorrendi hálózat egyetlen bemenetére sorosan érkeznek 3 bites számok, az órajellel szinkronban. A megtervezendő automatának fel kell ismerni, ha a 3 bites számokban pontosan 2db 1-es van, és jelezni a 3. bit beérkezésekor. Pl: x: 1 11 111 11 11 1 1 11 y: 1 1 1 1 1. Szöveg alapján előzetes állapotgráf megrajzolása. a 1/ b c 1/ 1/ d e f g 1/ 1/1 1/1 /1 1/ a 9

Az állapotgráf rajzolása során egy olyan kezdőállapotból indulunk ki, ami azt az információt tárolja, hogy a bekapcsolás (reset) óta nem jött adat. Utána a már meglévő állapotból kiindulva a feladat leírása alapján minden bemeneti kombinációra megvizsgáljuk, hogy az adott állapotban milyen kimenet kell adni és, hogy fel kell-e venni új állapotot, vagy egy már meglévő tárolja azt az információt, amire az adott bemeneti kombináció után emlékeznie kell a hálózatnak. Előbb-utóbb eljutunk oda, hogy nem kell új állapotot felvennünk és minden állapotban minden bemeneti kombiációra meghatároztuk a kimenetet és a következő állapotot. Ekkor elkészült az előzetes állapotgráf. (A fenti gráfon 2 db a állapot szerepel, ezek ugyanazok, csak az egyszerűbb rajzolás miatt kettőztük meg.) Az előzetes állapotgráf redundáns állapotokat tartalmazhat. (Olyan állapotokat, amelyek a feladat szempontjából ugyanazt az információt jegyzik meg.) Ezeket meg kell keresni és egyetlen állapottal helyettesíteni. Tehát állapotminimalizálásra lehet szükség. 1

2. Állapotminimalizálás Az előbbi e és f állapotok egyetlen állapottal helyettesíthetők mivel csak azt kell megjegyezni, hogy hány 1-es jött, a sorrendjük érdektelen. Teljesen specifikált hálózatnál (TSH, amelyben minden állapotátmenet és kimenet specifikált) ezt úgy nevezik, hogy ekvivalensek (e == f). Minden egymással ekvivalens állapotot egyetlen állapottal helyettesítünk. TSH-nál gyakorlatilag az egymással ekvivalensek közül 1-et meghagyunk a többit töröljük a gráfból vagy állapottáblából és az összes megmaradt állapotot átnevezzük. Az állapotok száma is befolyásolja a magvalósítandó hálózat bonyolultságát. Kevesebb állapothoz többnyire egyszerűbb hálózat tartozik. (Azonban nem biztos, hogy a minimális állapotszámú lesz a legegyszerűbb.) Az állapotminimalizálásra szisztematikus módszerek léteznek. Ezek kiindulópontja az előzetes állapottábla. 11

Minimalizált állapotgráf: a 1/ b c 1/ 1/ A 1/ B C 1 1/ 1/ 1/ d e f g 1/1 1/1 a 1/1 /1 1/ 1/ D E F 1 2 1/1 a /1 1/ A jobboldali rajz állapotaiba a könnyebb érthetőség miatt -beírtuk, hogy mit jegyeznek meg (eddig hány 1-es jött). A további eljárások kiindulópontja a minimalizált állapottábla. A minimalizált állapottáblát az állapotgráf alapján töltöttük ki: x= x=1 A B/ C/ B D/ E/ C E/ F/ D A/ A/ E A/ A/1 F A/1 A/ 12

3. Állapotkódolás Az állapotokhoz kódokat kell rendelni. A megvalósított hálózatban ezek képviselik az állapotokat. Az állapotkódolásra szintén vannak szisztematikus módszerek, mivel az állapotkódolás is befolyásolja a megvalósítandó hálózat bonyolultságát. Itt ad hoc kódoltunk. Az állapotot a szekunder változók (21) egy kombinációja reprezentálja. 21 x= 13 x=1 21 t /z 21 t /z A B 1/ C 1 B 1 D 11/ E 1 C 1 E 1 F 11/ D 11 A A E 1 A A /1 F 11 A /1 A A kódolt állapottábla megadja, hogy adott kódú állapotból, adott bemeneti kombináció hatására mi lesz a következő állapot kódja (21 t egyes bitjei) és a kimenet (z egyes bitjei, ha több kimenetű). Tehát a kódolt állapottábla a következő állapot bitjeinek és a kimenet(ek)nek az igazságtábláit tartalmazza!

Az előző kódolt állapottáblában még nem tüntettük fel azon állapotkódokat, amelyeket nem használunk. A nem használt állapotkódokhoz is ki kell tölteni a kódolt állapottáblát. 21 x= 21 t /z x=1 21 t /z 1/ 1 1 11/ 1 1 1 11/ 11 1 /1 11 /1 11 (---/-) (---/-) 111 (---/-) (---/-) Ha a többi (normál működésnél nem használt) állapotkódhoz közömbös bejegyzést teszünk, több egyszerűsítési lehetőség adódhat a kombinációs hálózatrész tervezésénél. Ha megbízhatóbb működésre törekszünk, akkor célszerű előírnunk, hogy a normál működésnél nem használt állapotkódokból is a használtakba vezessen a hálózat. (Normál működésnél nem használt állapotkódba kerülhet a hálózat külső zavar hatására. Közömbös kitöltésnél szerencsétlen esetben itt ragadhat az automata, ha a tervezés után a következő állapotok kódja szintén nem használt állapotkódba vezet!) 14

4. Következő állapot kódját előállító logika és a kimenet függvényeinek meghatározása A megtervezendő automata struktúrája: always@(*) következõ állapot kódját (next_state[2:]) elõállító kombinációs hálózat case(state) aktuális állapot kódja A: next_state <=... state[2:]... endcase 2() next_state[2:] 2 t D r 2 kimeneti kombinációs hálózat assign z =... 1() 1 t D r 1 Z() z x () t D r clk rst állapot reg. always@(posedge clk) if(rst) <= 3'b; else <= next_state A fenti ábrán a rövidebb leírás végett a következő jelöléseket használtuk (Verilogban megadva): assign next_state[2:] = {2 t, 1 t, t }; assign state[2:] = {2, 1,}; 15

Megtervezendők a következő állapot logika 2 t (2,1,,x), 1 t (2,1,,x), t (2,1,,x), és a kimenet Z(2,1,,x) függvényei. Mivel igazságtáblájukat egyszerre tartalmazza a kódolt állapottábla, ez alapján lehet az egyes függvények igazságtábláit kitölteni majd valamely módszerrel egyszerűsíteni. Az igazságtáblák (Logic Friday-ban megadva): 16

A Logic Friday-val minimalizált függvények: (Abban a formában, ahogy az eredményt adja. Az x' az x negáltját jelöli ) 2t = 2' 1' x + 2' 1 ' ; 1t = 2' 1' x' + 2' 1' ' x; t = 2' 1 ' x + 2' 1' x'; z = 2 1' x' + 2 1' ' x; Verilogban megadva az állapotgép leírását: reg [2:] state, next_state; //Állapotkódolás parameter A = 3'b, B = 3'b1, C = 3'b1, D = 3'b11, E = 3'b1, F = 3'b11; //Állapotregiszter always @ (posedge clk) begin if (rst) state <= A; else state <= next_state; end 17

A következő állapot logikát többféleképpen is megadhatjuk. a. megadhatjuk a minimalizált függvények alapján Boole algebrai alakban assign-al. //next state logika wire a,b,c; // ez a hozzárendelés rövidebb leírást //eredményez és reg típusú next_state esetén is működik assign {a,b,c} = state; assign next_state[2] = ~a&~b&c&x ~a&b&~c; assign next_state[1] = ~a&~b&c&~x ~a&~b&~c&x; assign next_state[] = ~a&b&~c&x ~a&~b&~c&~x; b. Azonban sokkal célszerűbb az állapottábla alapján az állpotátmeneteket megadni és a minimalizálást a tervezőrendszerre bízni. //next state logika always @(*) case(state) A: if(~x) next_state = B; else next_state = C; B: if(~x) next_state = D; else next_state = E; C: if(~x) next_state = E; else next_state = F; D: next_state = A; E: next_state = A; F: next_state = A; default: next_state = A; endcase 18

A kimeneti függvény A kimeneti függvény megadására is több lehetőségünk van. Megadhatjuk a Logic Friday által minimalizált függvényt SOP Boole algebrai alakban: assign z = a&~b&~c&x a&~b&c&~x; Megadhatjuk az állapotgráf/állapottábla alapján az állapotkódok felhasználásával: assign z = (state == E)&x (state == F)&~x; A fenti 2 megoldás összehasonlításából látható, hogy a&~b&~c& = (state == E) és a&~b&c& = (state == F), ami az állapotkódolásból következik. (Az AND kapcsolat konstanssal történő komparálásra is használható.) A következő oldalon a szinkron hálózat jobb megértése érdekénben bemutatjuk a működést egy rövid bemeneti sorozat esetére az állapotgráfon és a blokkvázlaton. 19

Mit csinál az automata RESET után az X=11 bemeneti sorozat hatására? 1 B C 1 1 1/ 1/ 11 D 1 E 111 F 1 2 1/ RESET A 1/ 1/1 /1 1/ x= 2() 1() () clk 2 t 1 t t 1 állapot reg. 2 D cl 1 D cl D cl Z() Z= a RESET A 1/ 1 B C 1 1 1/ 1/ 11 D 1 E 111 F 1 2 1/ 1/1 /1 1/ x=1 2() 1() () clk 2 t 1 1 t t állapot reg. 2 D cl 1 D cl t D 1 cl Z() Z= a RESET A 1/ 1 B C 1 1 1/ 1/ 11 D 1 E 111 F 1 2 1/ 1/1 /1 1/ x=1 2() 1() () clk 2 t 1 t t állapot reg. 2 D 1 cl 1 D cl D cl Z() Z=1 a RESET 2