340 likes | 669 Views
EDA 451 - Digital och Datorteknik 2008/09 Dagens föreläsning: ”Sekvensnät”, lärobok kap.5 Ur innehållet: Hur fungerar en SR-latch? Hur konstrueras JK-, D- och T-vippor? Funktionstabeller och excitationstabeller Register som minneselement Register och bussar
E N D
EDA 451 - Digital och Datorteknik • 2008/09 • Dagens föreläsning: • ”Sekvensnät”, lärobok kap.5 • Ur innehållet: • Hur fungerar en SR-latch? • Hur konstrueras JK-, D- och T-vippor? • Funktionstabeller och excitationstabeller • Register som minneselement • Register och bussar • Konstruktion av synkrona räknare med D- och T-vippor • Analys av synkrona räknare Sekvensnät
Sekvensnät Kombinatoriskt nät x0 Varje utgång har i varje ögonblick det värde som entydigt bestäms av insignaler och tillstånd. x1 f0(x0,x1,x2,...,xm,q0,q1,...,qi) x2 f1(x0,x1,x2,...,xm,q0,q1,...,qi) x3 f2(x0,x1,x2,...,xm,q0,q1,...,qi) x4 fn(x0,x1,x2,...,xm,q0,q1,...,qi) xm q0 q0 e0 e1 q1 q1 ei qi qi Sekvensnät
Asynkront eller synkront Sekvensnät Kombinatoriskt nät x0 x1 f0(x0,x1,x2,...,xm,q0,q1,...,qi) x2 f1(x0,x1,x2,...,xm,q0,q1,...,qi) x3 f2(x0,x1,x2,...,xm,q0,q1,...,qi) x4 fn(x0,x1,x2,...,xm,q0,q1,...,qi) xm q0 q0 e0 e1 q1 q1 ei qi qi • Återkoppling (”feedback”) • Omedelbar (asynkron) • Tidsbestämd (synkron) 3 Sekvensnät Sekvensnät
Exempel: Omedelbar återkoppling x1 e1 x2 u1 q1=e1 Sekvensnät
Analys... x1 e1 x2 u1 q1 e1=[x1+(x2+q1)’]’ = x1’(x2+q1) u1=(x2+q1)’=x2’q1’ Sekvensnät
..och när vi kopplar ihop e1 och q1... x1 e1 x1 e1 x2 u1 x2 u1 q1=e1 q1 Vid återgång till 00 uppstår ”kapplöpning” förbjudet tillstånd (kan inte finnas...) Sekvensnät
Latch (låskrets) x1 q1 kan ettställas eller nollställas för att därefter behålla värdet. Kopplingen är ett ”minneselement” och kallas SR-latch. e1 x2 u1 q1=e1 x1 R=Reset S=Set x2 q1 Sekvensnät
SR-latch Alternativa realiseringar S R Q Q Q’ Q’ R S Symbol Funktionstabell Asynkront minneselement Sekvensnät
Grindad SR-latch Symbol R Q CP R Q’ S S CP Q Q+=Q Sekvensnät
Master-Slave SR-latch Symbol R Ändringen i Q kommer alltid vid en negativ flank hos CP. Signalen fördröjs (halv klockcykel) S CP QM Q Sekvensnät
Flanktriggade SR-vippor Funktions-tabell Exitations-tabell CP Synkront minneselement Sekvensnät
Flanktriggad D-vippa Funktions-tabell D Q Q D CP CP Q’ Exitations-tabell D D’ CP Q Sekvensnät
D-vippa med asynkron Set/Reset Då SR=11 (Q+=Q) fungerar vippan som en ordinär D-vippa Om SR=01, ettställs Q asynkront (väntar EJ på flank...) Om SR=10, nollställs Q asynkront Vi säger att S och R ingångarna är ”aktivt låga” S S S S S 1D 1D 1D 1D 1D C1 C1 C1 C1 C1 R R R R R 1 Q4 D4 Exempel på användning: 4-bitars REGISTER med RESET-funktion Q4’ Q3 D3 Q3’ Q2 D2 Q2’ Q1 D1 CP Q1’ Clear’ Sekvensnät
D-vippa med ”Load Enable” S 1D S C1 2D G & 1C2 R G1 R CP Styrsignalen G (”Gate”) kan användas för att ”strypa” klockpulsen. Då G=0 behåller vippan sitt värde oavsett vad som finns på D-ingången Sekvensnät
Flanktriggad JK-vippa Flanktriggad SR-vippa & 1J 1S J Q C1 CP C1 K Q’ & 1K 1R Exitations-tabell Funktions-tabell Sekvensnät
Flanktriggad T-vippa (”toggle”) T T 1J 1T Q Q CP C1 CP C1 Q’ Q’ 1K Exitations-tabell Funktions-tabell Funktions-tabell Sekvensnät
Sammanfattning av vippor Funktions-tabell Exitations-tabell Exitations-tabell Funktions-tabell S Q Q D 1J CP CP C1 Q’ R Q’ 1K Funktions-tabell Exitations-tabell Funktions-tabell Exitations-tabell T 1T Q J Q CP C1 CP Q’ Q’ K Sekvensnät
Sammanfattning • Vi har klarat av: • Hur fungerar en SR-latch? • Hur konstrueras JK-, D- och T-vippor? • Funktionstabeller och excitationstabeller • ..och ska nu titta närmre på några viktiga tillämpningar • Register som minneselement • Konstruktion av synkrona räknare med D- och T-vippor • Analys av synkrona räknare Sekvensnät
8-bitars minnesregister D0-7, Din Q0 D0 2D 1C2 G1 Q1 D1 2D 2D 1C2 S G1 1C2 2D Q2 D2 2D 1C2 G1 1C2 G1 Q0-7, Dut Q3 D3 G1 2D 1C2 Utgå från känd D-vippa, ta bort asynkrona ingångar och Q’... G1 R Q4 D4 2D 1C2 G1 Q5 D5 2D 1C2 G1 Q6 D6 2D Packa ihop 8 likadana med gemensam CP resp G... 1C2 G1 Q7 D7 2D 1C2 G1 LD CP Sekvensnät
Dataöverföring, register och bussar En överföring åt gången... Sekvensnät
Snabbare, dyrare... Samtidiga överföringar till samtliga register... Sekvensnät
Kan utgångarna kopplas samman? Sekvensnät
Kortslutning... Sekvensnät
Transmissionsgrind (”three-state”) Sekvensnät
Register med ”three-state” utgång • Tre beteckningar: • CP: Clock Pulse, kretsens klockingång. • LDR: Load Enable R, styrsignal för att kunna ladda register R • OER: Output Enable R, styrsignal för att överföra innehållet i R till utgången. Sekvensnät
Register med gemensam buss Sekvensnät
Exempel: (R)→A Sekvensnät
Konstruktion av Räknare • Vi använder vippor för att konstruera räknare • Maximalt antal tillstånd (”räknarvärden”) bestäms av antalet vippor T0 Tn T1 1T 1T 1T Q0 Qn Q1 CP C1 CP C1 CP C1 Q0’ Qn’ Q1’ • Qi utgör nätets utsignaler, ”räknarvärdet” • Maximal räknarsekvens blir 0 .. (2n-1) • Kallas ”modulo 2n-räknare” Sekvensnät
Exempel, 2-bitars räknare, ”0,1,2,3,1,2,3...” med T-vippor Metod: • Q är utsignal, hur bestämma T? Q1Q0 11 00 01 10 T1 T0 1T 1T Q1 Q0 CP C1 CP C1 Exitations-tabell Q1’ Q0’ Sekvensnät
Q och T bestämmer Q+... T1 T0 1T 1T Q1 Q0 CP C1 CP C1 Q1’ Q0’ Q0 Q0 T1 T0 0 1 0 1 0 1 0 1 1 Q1 Q1 1 1 1 1 Sekvensnät
Q0 Q0 T1 T0 0 1 0 1 0 1 0 1 1 Q1 Q1 1 1 1 1 T1 = Q0 T0 = Q0’ +Q1’ T1 T0 Q1 Q0 1T 1T C1 C1 Q1’ Q0’ 1 CP Sekvensnät
Analys av räknare • Givet en ”räknarkoppling” bestäm dess räknesekvens • Vi illustrerar metoden genom att analysera den räknare vi nyss konstruerat. 1. Bestäm vippornas insignaler... T1 T0 Q1 Q0 1T 1T T1 = Q0 C1 C1 Q1’ Q0’ T0 = Q0’ +Q1’ 1 CP Sekvensnät
2. För varje möjligt tillstånd, dvs 2n, där n är antalet vippor, bestäm Q+, med ledning av Q och T.... T1 = Q0 T0 = Q0’ +Q1’ T1 T0 Q1 Q0 1T 1T C1 C1 Q1’ Q0’ 1 CP Sekvensnät
3. Redovisa resultatet i form av en tillståndsgraf... 11 00 01 10 Q1Q0 Sekvensnät