Dr. Oniga István DIGITÁLIS TECHNIA 8
Szekvenciális (sorrendi) hálózatok Szekvenciális hálózatok fogalma Tárolók RS tárolók tárolók T és D típusú tárolók Számlálók Szinkron számlálók Aszinkron számlálók Regiszterek http://www.play-hookey.com/digital/ http://www.asic-world.com/digital/seq.html
A tárolók alkalmazásai Minden felfutó élre a kimenet az előző állapot negáltjára vált Egy flip-flop kettővel osztja a bemenőjelet, két flip-flops négyel.. Frekvenciaosztás Számlálók HIGH HIGH A B f out f in f in f out
Számlálók A számlálók - szekvenciális áramkörök, amelyek összeszámlálják a bemenetükre érkező impulzusokat, és az eredményt a kimeneteken jelenítik meg. Számlálás iránya szerint: felfelé (előre) számlálók lefelé számlálók fel/le(reverzibilis) számlálók Számlálás kódja szerint: bináris BCD Vezérlési mód szempontjából: aszinkron szinkron Egyéb szolgáltatások: szinkron/aszinkron törlés szinkron aszinkron kezdőérték beállítás (programozhatóság)
Aszinkron számlálók Minden egyes T tároló felezi a bemenetére kapcsolt jel frekvenciáját, az egyik periódusában felvesz egy értéket, a másik periódusban ennek negáltját. T tárolókat sorba kötünk = > n x TFF, 2 n osztást végez. A kapacitás azt a legnagyobb számot jelenti, amellyel egy számolási ciklus befejeződik. A számláló m = k + különböző értéket különböztet meg. Az m - et a számláló modulusának nevezzük. Pl. 4 TFF 0-5 számol => m=6 Nr. D C B A Imp.tact 0 0 0 0 0 0 0 0 2 0 0 0 3 0 0 4 0 0 0 5 0 0 6 0 0 7 0 8 0 0 0 9 0 0 0 0 0 0 2 0 0 3 0 4 0 5 6 (0) 0 0 0 0 7 () 0 0 0 Az aszinkron működés = a tárolók nem szinkronban billennek,a számlálandó jel elindítja a állapotváltozási sorozatot. A továbbiakban az egyes FF- ok billentik egymást. => rövid ideig hibás kombináció jelenik meg a kimeneteken
Aszinkron felfelé számlálók T tárolókat úgy kötünk sorba, hogy a kimeneteket kötjük a következő T-k órajel bemenetére. Előreszámlálás akkor valósul meg, ha lefutó élre vezérelt tárolókat alkalmazunk T A B C D A B C D T A 0 0 0 0 0 0 0 0 0 B 0 0 0 0 0 0 0 0 0 C 0 0 0 0 0 0 0 0 0 D 0 0 0 0 0 0 0 0 0 0 2 3 4 5 6 7 8 9 0 2 3 4 5 0 N x = D *2 3 + C *2 2 + B 2 + A *2 0
Aszinkron felfelé számlálók jellemzői Az átmeneti időszakban nem kívánt kombinációk is előfordulnak a kimeneteken Az aszinkron számlálók nagyon egyszerű felépítése mellett hátránya a kisebb határfrekvencia. Ha egy FF terjedési ideje tipikusan T p = 0 ns akkor egy négybites aszinkron számláló teljes terjedési ideje: T p(tot) = 4 x T p = 4 x 0 ns = 40 ns A határfrekvencia: f max = / T p(tot) = /40 ns = 25 MHz
Aszinkron lefelé számlálók T tárolóknak a kimenetét kötjük a következő tároló bemenetére. Lefutó élre vezérelt tárolókat alkalmazunk
Reverzibilis számlálók T tárolóknak a kimenetét kötjük a következő tároló bemenetére felfele számol T tárolóknak a kimenetét kötjük a következő tároló bemenetére lefele számol Irányváltó számlálót úgy kapunk, egy kontrol jel segítségével (X) logikai kapukkal megvalósítjuk, ha X igaz, a kimenetek kerülnek a következő órajelbemenetre, ha X hamis, akkor meg a kimenetek. Bemenet ontrol X X= - előreszámlálás X=0 - visszaszámlálás
Számlálók ciklusának rövidítése Modulo-N számlálok építése, N 2-hatvány Az N-ik impulzus hatására a kezdő állapotba tér vissza a számláló Egy modulo-n számláló logikai tervezésének lépései: a tárolók számának meghatározása (n), 2 n- N 2 n ; egy n bites számláló logikai vázlat megrajzolása, olyan tárolókkal amelyeknek aszinkron törlő bemenete is van a törlő bemeneteket olyan logikai hálózattal egészítünk ki, ami az N-ik impulzus hatására minden FF ot töröl és ezzel az alap állapot áll be. Pl. 4 bites számlálók ciklusai BINÁRIS: 0 2 3 4 5 6 7 8 9 A B C D E F DECIMÁLIS: 0 2 3 4 5 6 7 8 9
Aszinkron decimális számlálók 2 n- N 2 n N=0 => n=4 2 4-0 2 4 ; egy 4 bites bináris számlálót - amelynek aszinkron törlő bemenete is van olyan logikai hálózattal egészítünk ki, ami az 0 0 (decimális 0) állapot megjelenésekor minden FF ot töröl és ezzel 0 0 0 0 állapot áll be. Imp. sz. D C B A (Álapot) 0 0 0 0 0 0 0 0 2 0 0 0 3 0 0 4 0 0 0 5 0 0 6 0 0 7 0 8 0 0 0 9 0 0 0 (0) (0) 0 (0) 0 T Ck A Ck A2 A Cl. _ A Ck Cl _ B Ck Cl _ C Ck Cl _ D B C D Cl
Aszinkron decimális számlálók (2) Ha a tárolók késleltetési ideje a Cl bemenetekhez képest nagyon eltérő egyes tárolók hamarabb törlődhetnek és a törlő feltétel eltűnik mielőtt minden tároló törlődőt volna T Ck Cl _ Ck Cl _ Ck Cl _ Ck Cl _ A2 A. A B C D A és A 2 pontok köze beiktatunk egy álapót tárolót T
Integrált áramköri aszinkron számlálók Aszinkron működésű számlálók SN7490 BCD számláló. Egy kettes és egy ötös osztóból áll. Az R 0i jelű bemenetre adott szinttel mind a négy flip-flop 0-ba állítható (törlés). Az R 9i jelű bemenetek vezérlésével a BCD 0 0 kódot (9 beírása) tárolja a számláló. SN7493-4 bites bináris számláló. Ha In.A - ra adjuk a számlálandó jelet és az A kimenetet In.B - vel kötjük össze. Amennyiben az impulzusokkal az In.B-t vezéreljük és D -t a In.A - val kötjük össze, olyan tízes osztót kapunk, amelynél az A kimeneten szimmetrikus négyszögjelet kapunk. In. A RO() RO(2) "" 4 3 CL 2 A 2 3 In. B 4 3 Milyen modulusú számlálót ábrázol a jobboldali ábra? CL 2 B 2 3 4 3 CL 2 C 2 3 4 3 CL 2 D 2 3 In A B R0() R0(2) A B C D Out Cl=R 0 &R 02 = A &( C & D ) M = 3
Szinkron bináris számlálók Az aszinkron számlálok hibáit kiküszöbölik. A külső órajel az összes flip-flopot egyszerre vezérli 0 minden órajelnél változtatja az állapotát, ezt úgy érjük el ha: T 0 = 0 = 0 = A FF csak akkor vált ha 0 =, Ennek megfelelően T = = = 0 (a bemeneteket a 0 - hoz kel kötni) A FF2 csak akkor vált ha 0 = =, Ennek megfelelően T 2 = 0 Nr. 0 2 3 4 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 3 0 0 0 4 0 0 0 0 5 0 0 0 6 0 0 0 7 0 0 8 0 0 0 0 9 0 0 0 0 0 0 0 0 0 2 0 0 0 3 0 0 4 0 0 5 0 6 0 0 0 0 7 0 0 0 T 3 = 0 2 T 4 = 0 2 3
Párhuzamos átvitelű szinkron bináris számlálók T 0 = T = 0 T 2 = 0 T 3 = 0 2 T 4 = 0 2 3 0 2 3 4 2 3 0 T min =t pb +t pp. 0 2 az n-ik szinten n- bemenetű ÉS kapu kell 0 23
Soros átvitelű szinkron bináris számlálók T = 0 T 2 = 0 =T T 3 = 0 2 =T 2 2 ; T 4 = 0 2 3 =T 3 3 0 2 3 4 T T 2 2 T 3 3 - soros átvitel hátránya - az ÉS kapukon keresztüli jelterjedést végig kell várnunk T min =t pb +(N-2) t pp
Felfelé számláló Verilog tervezése // // 4-bit up counter with an asynchronous clear. // module counter_ (input C, CLR, output reg [3:0] ); always @(posedge C or posedge CLR) begin if (CLR) <= 4'b0000; else <= + 'b; end endmodule Aszinkron törlés
Felfelé számláló Verilog tervezése // // 4-bit up counter with an synchronous clear. // module counter_2 (input C, CLR, output reg [3:0] ); always @(posedge C) begin if (CLR) <= 4'b0000; else <= + 'b; end endmodule Szinkron törlés
Lefelé számláló Verilog tervezése module counter_3 (input C, CLR, output reg [3:0] ); always @(posedge C) begin if (CLR) <= 4'b; else <= - 'b; end endmodule
Fel/Le számláló Verilog tervezése module counter_3 (input C, CLR, DIR, output reg [3:0] ); always @(posedge C) begin if (CLR) <= 4'b; else if (DIR) <= + 'b; else <= - 'b; end endmodule
Felfelé számláló, ciklus rövidítéssel és tölthető kezdő értekkel module counter_5 (input C, CLR, LOAD, input [3:0] D, output reg [3:0] ); assign q9 = (== 4'd9); //assign q2 = (== 4'd2); always @(posedge C) begin if (CLR q9) <= 4'b0000; else if (LOAD) // (LOAD==) <= D; // vagy konstanssal <= 4'b00; else <= + 'b; end endmodule
Integrált áramköri szinkron számlálók Szinkron működésű számlálók SN7492 reverzibilis BCD számláló. SN7493 - reverzibilis 4 bites bináris számláló. - A, B, C, D - kimenetek. -CR (carry ) alacsony állapotával (0) jelzi a 00, vagy kombinációt a kimenteken ( D C B A ) az 7492E, vagy 7493E és ha felfele számolunk. -BR (borrow) alacsony állapotával (0) jelzi a 0000 kombinációt a kimenteken, és ha lefele számolunk. -LD (load - betöltés) mikor = 0, a DCBA bementeken lévő értékeket tölti be -CL (clear) törli a számalálokat. -CU (count up számolás felfele) CD egyesen tarjuk. -CD (count down - számolás lefele). -D,C,B,A adat bemenet. - CR şi BR több számláló öszekötését szolgáják
Integrált áramköri szinkron számlálók SN7492 reverzibilis BCD számláló. Töltés Számolás felfelé (egy órajel után) Számolás lefelé (egy órajel után)
Szinkron számlálók Modulus növelés Törlés Betöltés Impulzus bemenet Irányváltó bemenet CM= Lefele számol CM=0 Felfele számol
Szinkron számlálók alkalmazási példa