PDF_4up - Chalmers tekniska högskola

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