SEKVENSKRETSAR Innehåll Synkrona sekvenskretsar Tillståndsdiagram / tillståndstabell Definition av Moore- och Mealy-maskiner Tillståndskodning Syntes av sekventiell logik Räknare
SEKVENSKRETSAR EXEMPEL Exempel: Bankomat Sekvens av operationer för att göra ett uttag: Sätt in kortet Mata in PIN-kod Mata in storleken på uttaget Vänta på pengarna Ta ut kort och pengar Copyright (c) Miun 204 2
TILLSTÅNDSDIAGRAM Tillståndsdiagram (eng. State Transition Graph) Visar varje individuellt tillstånd Samtliga möjliga sekvenser av tillstånd sekvensnätet kan ha övergång S Tillstånd S + Copyright (c) Miun 204 3
EXEMPEL TILLSTÅNDSDIAGRAM Operationer utförda av dig:. Sätt in kortet 2. Mata in PIN-kod 3. Mata in storleken på uttaget 4. Vänta på pengarna 5. Ta ut kortet och pengarna Operationer utförda av maskinen. Vänta på kortet 2. Hämta in PIN-kod 3. Hämta in storleken på uttaget 4. Utför transaktionen 5. Mata ut kortet och pengarna Inget kort Pengar/kort är utmatade Vänta på kort Kort insatt 5 2 Mata ut kort och pengar Summa OK Hämta in PIN Felaktig PIN 4 3 Transaktion klar Utför transakt. Hämta in storlek korrekt PIN Ogiltig summa Copyright (c) Miun 204 4
TILLSTÅNDSMASKIN (ENG. FINITE-STATE MACHINE) Implementerar ett tillståndsdiagram Består av Tillståndsminne innehåller maskinens tillstånd (s) s(t k ) s + (t k ) d Funktion för att beräkna nästa tillstånd (d) s( tk ) s ( tk ) Funktion för att beräkna utgångarnas värde (l) i K l(s,i) d(s,i) z s d s + Copyright (c) Miun 204 5
TILLSTÅNDSMINNE t k t k s(t k ) d s + (t k ) S + S 0 S S 2 S 3 s( tk ) s ( tk ) S S 0 S S 2 S 3 clock T Synkront D-element som tillståndsminne S + D q S Q + = D Klocksignalen delar upp tiden i steg - ett tidsdiskret system - minnet fördröjer signalen en klockcykel - alla förändringar i minnet sker samtidigt på aktiv flank - klockfrekvensen f = /T clock Copyright (c) Miun 204 6
TYPER AV MINNESELEMENT Symbol Karakteristisk ekvation Syntestabell D-vippa D q q D q q+ D 0 0 0 0 0 0 T-vippa T q q T q T q q q+ T 0 0 0 0 0 0 JK-vippa J q K q J q K q q q+ J 0 0 0 0-0 - K - - 0 Copyright (c) Miun 204 7
SYNKRON TILLSTÅNDSMASKIN i z K Q D Tillståndet kodat i digitalt tal - Binär kodning med n bitar kan representera 2 n tillstånd Exempel på kodning: Q D Q D Tillstånd S0 S S2 S3 Kod 00 0 0 clock Copyright (c) Miun 204 8
MOORE-MASKIN STRUKTUR l z Utsignalfunktionen: z=l(s) d.v.s: utgången beror endast av tillståndet s. i d s s + Nästatillstånds-funktionen: s + =d(i,s) d.v.s: nästa tillstånd beror av värdet på ingångarna och nuvarande tillstånd s. Copyright (c) Miun 204 9
MOORE-MASKIN TILLSTÅNDSDIAGRAM OCH TABELL I=0 S0 Z=0 I= S3 Z= I=0 I= I= Utsignalen anges i tillståndscirkeln I=0 S Z=0 S2 Z=0 I= I=0 Nuvarande tillstånd I S 0 Z S0 S0 S 0 S S S2 0 S2 S2 S3 0 S3 S3 S0 S + Nästa tillstånd Utsignalvärde För ett givet tillstånd är det oberoende av I. Copyright (c) Miun 204 0
MEALY-MASKIN STRUKTUR l z Utsignalfunktionen: z=l(i,s) d.v.s: utgången beror både av s och i. i d s s + Nästatillstånds-funktionen: s + =d(i,s) d.v.s: nästa tillstånd beror av värdet på ingångarna och nuvarande tillstånd s. Copyright (c) Miun 204
MEALY-MASKIN TILLSTÅNDSDIAGRAM OCH TABELL 0/0 Format: I/Z I S0 /0 S S 0 S0 S0,0 S,0 / /0 0/0 S S2,0 S3,0 S2 S2,0 S3, 0/0 S3 S3,0 S0, S3 / S2 S +, Z 0/0 Nuvarande tillstånd För I= fås ett annat nästa tillstånd och utsignal Utgången Z är beroende av Nuvarande tillstånd OCH ingångsvärdet För I=0 fås ett nästa tillstånd och utsignal Copyright (c) Miun 204 2
TILLSTÅNDSKODNING Tillstånd INIT Binär 000 Gray 000 One-hot 0000 Almost- One-hot 0000 I l,d Z A0 00 00 0000 000 A OK0 OK 00 0 00 0 00 0 0000 0000 0000 000 000 000 q 0 q q D q D q + 0 q + q 2 q q 0 q 2 q q 0 q 4 q 3 q 2 q q 0 q 3 q 2 q q 0 q 2 q D q + 2 Symboliskt namn ges en binär kod Q q 2 q,, q 0 Q är det kodade tillståndet Copyright (c) Miun 204 3
SYNTES AV TILLSTÅNDSMASKIN ÖVERSIKT Specifikation Otvetydig funktionell specifikation av tillståndsmaskinen Kombinatoriska nät med logiska grindar Bankomaten ska först Procedur för syntes: - Konstruera en tillståndstabell - Tilldela varje tillstånd en kod (tillståndskodning) - Konstruera en transitionstabell - Bestäm minnestyp (vilken vippa ska användas) - Konstruera en excitationstabell - Ta fram logiska uttryck för l och d. - Konstruera ett schema som visar grindar och vippor Copyright (c) Miun 204 4
TILLSTÅNDSTABELL E=0 A Z=0 E= B Z=0 E E=0 E= E= E=0 S 0 Z A A B 0 B B C 0 D Z= E= C Z=0 C C D 0 D A B S + E=0 E Z En Moore-maskin Copyright (c) Miun 204 5
TRANSITIONSTABELL Tillstånd (S) A B C D Binär (Q) 00 0 0 q q 0 S byts ut mot Q Tillstånden kodas med binär kod E S 0 Z A A B 0 B B C 0 C C D 0 D A B S + Transitionstabell E Q 0 Z 00 00 0 0 0 0 0 0 0 0 0 00 0 Q + Copyright (c) Miun 204 6
EXCITATIONSTABELL Transitionstabellen ger relationen mellan Q och Q + Q f ( Q, i) I l,d Z Egentligen vill vi veta relationen mellan Q och m, där m är insignalerna till minneselementen. M f ( Q, i) q 0 q q m q m m 0 m Specialfall: Då D-vippor används så är M=Q +. Karakteristiska ekvationen är Q + =D. q 2 q m m 2 Transitionstabell E Q 0 Z 00 00 0 0 0 0 0 0 0 0 0 00 0 Q + Syntestabell för D-vippa q q+ D 0 0 0 0 0 0 Excitationstabell E Q 0 Z 00 00 0 0 0 0 0 0 0 0 0 00 0 D Copyright (c) Miun 204 7
EXCITATIONSTABELL FÖR T-VIPPA Transitionstabell E Q 0 Z 00 00 0 0 0 0 0 0 0 0 0 00 0 Q + Syntestabell för T-vippa q q+ T 0 0 0 0 0 0 Excitationstabell E Q 0 Z 00 00 0 0 0 00 0 0 00 0 0 0 T Copyright (c) Miun 204 8
LOGISKT UTTRYCK FÖR d-funktionen DÅ D-VIPPOR ANVÄNDS Excitationstabell E Q 0 Z 00 00 0 0 0 0 0 0 0 0 0 00 0 Q={q,q 0 } D={d,d 0 } q q 0 E 00 0 0 d 0 0 0 0 0 3 2 0 4 5 7 6 d 0 =f(e,q,q 0 ) 0 Eqq0 Eq Eq0 q q 0 E 00 0 0 0 0 0 0 0 3 2 0 0 4 5 7 6 d d =f(e,q,q 0 ) Eqq0 q q0 Copyright (c) Miun 204 9
LOGISKT UTTRYCK FÖR l-funktionen Excitationstabell E Q 0 Z 00 00 0 0 0 0 0 0 0 0 0 00 0 Q={q,q 0 } D={d,d 0 } q q 0 00 0 0 0 0 0 Z=f(q,q 0 ) Z q q 0 Copyright (c) Miun 204 20
SCHEMA FÖR TILLSTÅNDSMASKIN MED D-VIPPOR d Eqq0 q q0 E & & & & & d q q clk d q q clk q q 0 q 0 q & Z Z q q 0 d 0 Eqq0 Eq Eq0 Copyright (c) Miun 204 2
LOGISKT UTTRYCK FÖR d-funktionen DÅ T-VIPPOR ANVÄNDS Excitationstabell E Q 0 Z 00 00 0 0 0 00 0 0 00 0 0 0 {q,q 0 } T={t,t 0 } q q 0 E 00 0 0 0 0 0 0 0 3 2 0 4 5 7 6 t 0 =f(e,q,q 0 ) t0 Eqq0 Eq Eq0 q q 0 E 00 0 0 0 0 0 0 0 3 2 0 0 4 5 7 6 t t =f(e,q,q 0 ) Eq0 qq0 Copyright (c) Miun 204 22
JÄMFÖRELSE AV DE LOGISKA UTTRYCKEN D-vippor T-vippor d 0 Eqq0 Eq Eq0 t 0 Eqq0 Eq Eq0 d Eqq0 q q0 t Eq0 qq0 Copyright (c) Miun 204 23
RÄKNARE Räknar antalet inkommande klockpulser De är sekvenskretsar Olika typer av räknare Modulo-2 n räknare Räknare med enable Upp- och nedräknare Copyright (c) Miun 204 24
MODULO-2 N RÄKNARE Generellt Räknar sekvensen 0,, 2 n -, 0, Exempel: Modulo-8 (2 3 ) räknare Räknar sekvensen 0,, 7, 0, Max. värde för ett n-bitars tal 7 0 clock q 2 MSB 6 2 5 3 4 q q 0 LSB Copyright (c) Miun 204 25
RÄKNARE MED ENABLE Funktion Med en enable signal kan man styra om räknaren ska räkna eller inte E=0 E=0 E=0 7 E=0 0 4 E=0 E=0 E=0 6 2 5 E= E= E= q 2 E= E= E= 3 E= E=0 clock E q q 0 MSB LSB Copyright (c) Miun 204 26
UPP/NED RÄKNARE Funktion Med en styrsignal UD (upp eller ned) kan man välja om räknaren ska räkna upp eller ned UD= UD= UD= 7 UD= 0 UD= UD=0 UD=0 UD=0 UD=0 UD=0 UD=0 UD=0 6 2 5 4 3 UD= UD= UD= clock UD q 2 q q 0 MSB LSB Copyright (c) Miun 204 27
SLUT PÅ FÖRELÄSNING 6 Innehåll Minneselement Tillståndsdiagram / tillståndstabell Definition av Moore- och Mealy-maskiner Tillståndskodning Syntes av sekvenskretsar Räknare Copyright (c) Miun 204 28