LEU431 – Digital- och datorteknik, Chalmers, 2015/2016 Uppdaterad 25 september, 2015 Föreläsning #9 Sekvensnät Digital- och datorteknik Vad kännetecknar ett sekvensnät? I ett sekvensnät är nätets utsignaler vid en viss tidpunkt inte enbart bestämda av insignalernas värden utan även av tidigare uppträdande sekvenser av insignaler. Föreläsning #9 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Sekvensnät Minnesfunktion Vad kännetecknar ett sekvensnät? Återkopplat grindnät: I ett sekvensnät är nätets utsignaler vid en viss tidpunkt inte enbart bestämda av insignalernas värden utan även av tidigare uppträdande sekvenser av insignaler. För att åstadkomma en minnesfunktion behövs först och främst en negerande (inverterande) komponent, exempelvis ett elektronrör, en transistor, eller en grind med en negerande funktion (NOR, NAND). Därefter skapar man ett grindnät med två sådana komponenter där nätets utgångar återkopplas till dess ingångar för att det skall vara möjligt att åstadkomma en ”låsning” av nätets utsignaler. Grindnätets låsta utsignaler kallas för nätets tillstånd. + Q+ = (qn−1 ,...,q1+ ,q0+ ) är nätets nästa tillstånd. Q = (qn−1,...,q1,q0 ) är nätets nuvarande tillstånd. Övergång från nuvarande till nästa tillstånd sker med en klockpuls. 1 ≥1≥1 && ≥1≥1 && LEU431 – Digital- och datorteknik, Chalmers, 2015/2016 Föreläsning #9 Uppdaterad 25 september, 2015 Minnesfunktion Minnesfunktion Återkopplat grindnät: Återkopplat grindnät: Beakta följande par av NOR-grindar: Beakta följande par av NOR-grindar: Sätt R = 1 och S = 0 1 R 0 S ≥1 Q ≥1 Sätt R = 0 och S = 0 0 1 0 R 0 S Q = 0 för R = 1 och S = 0 & ≥1 & ≥1 Q Sätt R = 0 och S = 1 0 & 1 & 0 R 1 S Q = 0 för R = 0 och S = 0 ≥1 Q ≥1 Sätt R = 0 och S = 0 1 0 0 R 0 S Q = 1 för R = 0 och S = 1 Minnesfunktion & ≥1 & ≥1 Återkopplat grindnät: Vi ser också att utgångarna på NOR-grindarna alltid är varandras inverser för dessa fall. Vi benämner därför grindnätets utgångar Q respektive Q. Att vi har både Q och dess negation tillgängliga skall vi strax dra nytta av. Detta är vår minnesfunktion! 0 S ≥1 ≥1 Q 0 1 Q = 0 för R = 0 och S = 0 om R = 1 innan. 0 R 0 S & ≥1 & ≥1 & 0 & Minnesfunktion Vi har nu två möjliga utfall för R = 0 och S = 0 beroende på vilka värden som R och S hade innan. Grindnätet har alltså lyckats ”komma ihåg” resultatet från en tidigare sekvens av insignaler. R 1 Q = 1 för R = 0 och S = 0 Återkopplat grindnät: 0 Q Q 1 & 0 & Q = 1 för R = 0 och S = 0 om S = 1 innan. 0 R 0 S ≥1 Q 0 ≥1 Q 1 Q = 0 för R = 0 och S = 0 om R = 1 innan. 2 0 R 0 S & ≥1 Q 1 & & ≥1 Q 0 & Q = 1 för R = 0 och S = 0 om S = 1 innan. LEU431 – Digital- och datorteknik, Chalmers, 2015/2016 Föreläsning #9 Uppdaterad 25 september, 2015 Minnesfunktion Minnesfunktion Återkopplat grindnät: Återkopplat grindnät – sammanfattning: Då R = 1 och S = 1 får vi ett tillstånd som inte är önskvärt. Dels blir båda utgångarna lika med 0 (d v s inte varandras negation). Dessutom är det oklart vilken av utgångarna som får värdet 1 om insignalerna återgår till R = 0 och S = 0 (ett s k ”race condition”). Vi kan ’1’-ställa (”Set”) utgång Q med S = 1 och R = 0. Vi kan ’0’-ställa (”Reset”) utgång Q med S = 0 och R = 1. ≥1 S = 0. & Minnesfunktionen aktiveras då R = 0 och Sätt R = 1 och S = 1 1 1 R S Kombinationen S = 1 och R = 1 skall undvikas. Denna komponent kallas för en SR-latch. ≥1 Sätt R = 0 och S = 0 ≥1 Q ≥1 Q 0 0 0 0 R & ≥1 Q & ≥1 Q S 1 eller 0 0 eller 1 R & & S Minnesfunktion ≥1 Q ≥1 Q S R & Q Q & S Q Q R OBS! Fel i KMP bild 6.5 och 6.7: R och S skall byta plats. Klockning Återkopplat grindnät med NAND-grindar: Synkronisering av sekvensnät: En SR-latch med NAND-grindar kräver negerad logik på S och R. När man konstruerar större sekvensnät, t ex en uppsättning register i en mikroprocessor eller en räknare, måste man säkerställa att alla bitar som hör ihop sparas i minnesfunktionen vid samma tidpunkt. Detta kan ske om man använder en gemensam klockpuls för att styra vid vilken tidpunkt som minnesfunktionens tillstånd uppdateras. Man kan ’1’-ställa (”Set”) utgång Q med S = 0 och R = 1. & Man kan ’0’-ställa≥1(”Reset”) utgång Q med S = 1 och R = 0. Minnesfunktionen aktiveras då S = 1 och R = 1. Kombinationen S≥1= 0 och R = 0 skall undvikas. & ≥1 ≥1 & S R & & S R Q Q Q S R Synkroniseringen kan ske på två sätt: • Klockning med pulsnivå (”level triggered”): Insignaler kan påverka minnesfunktionens tillstånd enbart då klockpulsen har det logiska värdet ’1’. • Klockning med pulsflank (”edge triggered”): Insignaler kan påverka minnesfunktionens tillstånd enbart vid klockpulsens framkant eller bakkant. Q Q Q 3 LEU431 – Digital- och datorteknik, Chalmers, 2015/2016 Uppdaterad 25 september, 2015 Föreläsning #9 Klockning Klockning Klockning med pulsnivå: Klockning med pulsflank: Genom att ansluta ett par AND-grindar till en SR-latch är det möjligt att låta en klockpuls CP styra när minnesfunktionen skall uppdateras. & Detta kallas för en nivåtriggad SR-vippa (”SR flip-flop”). ≥1 När flera SR-vippor kopplas ihop på detta sätt beror noggrannheten i synkroniseringen på hur lång tid som CP har värdet ’1’: ju kortare puls desto mer ”samtidigt” kommer vippornas &tillstånd≥1att uppdateras. Genom att använda två SR-vippor i en s k master/slave-koppling är Q det möjligt att erhålla mycket noggrann synkronisering.1S Insignalerna C1 tillstånd avläses till mastervippan medan CP = 1, och slavvippans Q uppdateras därefter när CP går från ’1’ till ’0’ (negativ flank). 1R R & ≥1 Q 1S 1 S 1S Q CP C1 Q R 1R C1 CP S Detta kallas för en negativt flanktriggad SR-vippa. ≥1 & 1R Q 1R Klockning 1S C1 1R Q 1S 1S Q CP Q Q C1 1R Q Q 1S 1R Q Vippans tillstånd uppdateras vid klockpulsens negativa flank. Q Q Gör ett tidsdiagram som visar tillstånden för följande minnesfunktioner: a) SR-latch b) nivåtriggad SR-vippa, och c) positivt flanktriggad SR-vippa. Q C1 1R Q Vippans tillstånd uppdateras vid klockpulsens positiva flank. Q C1 1R Q Speciellt användbart är tidsdiagrammet när man vill visa på skillnaderna mellan nivåtriggade och flanktriggade vippor. 1 1 Q Ett tidsdiagram är lämpligt att använda när man vill illustrera när och hur en vippas tillstånd ändras vid en längre sekvens av olika värden på vippans insignaler. En funktionstabell är oftast bara lämplig för att beskriva tillståndsändring vid en specifik tidpunkt. Q Detta kallas för en positivt flanktriggad SR-vippa. Q 1R Q C1 Tidsdiagram: Genom att använda två SR-vippor i en s k master/slave-koppling är Q det möjligt att erhålla mycket noggrann synkronisering.1SInsignalerna C1 tillstånd avläses till mastervippan medan CP = 0, och slavvippans Q uppdateras därefter när CP går från ’0’ till ’1’ (positiv flank). 1R 1R 1S Funktionsbeskrivning Klockning med pulsflank: R Q Q 1R C1 Q C1 C1 1S Q 1S Q 1S C1 1 Om siffran efter C också står före S och R betyder det att S och R styrs av C. 1S S Q Q 4 1S Q C1 1R Q LEU431 – Digital- och datorteknik, Chalmers, 2015/2016 Uppdaterad 25 september, 2015 Föreläsning #9 Funktionsbeskrivning Funktionsbeskrivning & Funktionstabell och excitationstabell: ≥1 Funktions- och excitationstabell&för SR-vippa Funktionstabellen har vi hittills använt för att beskriva vilken utsignal som genereras för olika kombinationer av insignaler i kombinatoriska nät, och kan naturligtvis även användas för sekvensnät. R & ”Om jag vill en övergång från tillstånd Q till tillstånd Q+ vilka värden på insignalerna skall jag då välja?” S R 0 0 0 1 1 0 1 1 S ≥1 & 1R Q S R 0 0 0 1 1 0 1 1 1S Q+ Q C1 Q Q 1R 0 & Excitationstabell för SR-vippa 1S Q+ Q C1 Q Q 1R 0 Q Q+ S R 0 0 0 0 0 1 1 0 1 1 0 0 1 X 1 1 0 0 ≥1 Q Q ≥1 1S Q S Excitationstabell för SR-vippa ≥1 & Q+ S R S R 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 X 1 1 1 0 1 1 1R Q Funktionstabell för SR-vippa Q Även S = 1 fungerar. Q C1 CP Även R = 1 fungerar. Funktionstabell för SR-vippa Q ≥1 Funktions- och excitationstabell&för SR-vippa C1 CP 1R Q & R 1S Q Funktionsbeskrivning ≥1 ≥1 Funktions- och excitationstabell&för SR-vippa Q 1S Icke önskvärt tillstånd. Funktionsbeskrivning ≥1 ≥1 & Funktionstabell för SR-vippa Tabellen fyller man i ledsagad av följande fråga: & Q C1 S Excitationstabellen innehåller kolumner för både Q (nuvarande tillstånd) och Q+ (nästa tillstånd), samt kolumner för sekvensnätets insignaler. R ≥1 CP När man analyserar och konstruerar sekvensnät kan det i många fall vara intressant att också ta reda på vilka insignalkombinationer som krävs för att åstadkomma en övergång mellan två givna tillstånd i nätet. För detta syfte kan man använda en s k excitationstabell. & ≥1 1S Q+ Q C1 Q Q 1R 0 Q Excitationstabell för SR-vippa Q Q+ S R 0 0 0 − 0 1 1 0 1 1 0 0 1 X 1 1 − 0 Version med ”don’t care”. 5 LEU431 – Digital- och datorteknik, Chalmers, 2015/2016 Uppdaterad 25 september, 2015 Föreläsning #9 Minnesfunktion Funktionsbeskrivning & 1S Q C1 Q Återkopplat grindnät utan icke-önskvärt tillstånd: Funktions- och excitationstabell& för 1RJK-vippa Genom att återkoppla utgångarna på en SR-vippa via ett par ANDgrindar är det möjligt att förhindra att det &icke-önskvärda tillståndet 1S Q för S = 1 och R = 1 uppträder. På köpet får vi en ny funktion, som kan C1 användas för att enkelt växla mellan två logiska tillstånd. Q Detta kallas för en JK-vippa. 1R & 1S & J Q 1J Q C1 CP K Q 1K Q 1R & Q Q Q Excitationstabell för JK-vippa Q Q+ J K 0 0 0 − 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 Q 1 1 − 0 Nytt spännande tillstånd! 1J Q C1 1K Q Funktionstabell 1J för JK-vippa Q J K C1 Q+ 0 01K Q Q Q 1J Q C1 K C1 Q 1R & 1S & J CP Utgå från SR-vippan. Q C1 1K Q Funktionsbeskrivning & 1S Funktionsbeskrivning & Q 1S C1 Q Q Funktions- och excitationstabell& för 1RJK-vippa 1S & J Q 1J Q K 1R & Q Funktions- och excitationstabell& för 1RJK-vippa Q Q 1J Q K 1R & Q Q C1 C1 CP Q 1K Q 1S & J C1 C1 CP Q C1 Q 1K Q Även K = 1 fungerar. Funktionstabell 1J för JK-vippa Q J K C1 Q+ 0 01K Q Q Excitationstabell för JK-vippa Q Q+ J K 0 0 0 − Funktionstabell 1J för JK-vippa Q J K C1 Q+ 0 01K Q Q Excitationstabell för JK-vippa Q Q+ J K 0 0 0 − 0 1 0 0 1 1 1 0 1 0 0 1 1 − 1 0 1 1 0 1 1 1 0 1 1 0 − 1 1 1 Q 1 1 − 0 1 1 Q 1 1 − 0 Även J = 1 fungerar. 6
© Copyright 2024