Digitalteknik F9 bild 1
Digitalteknik F9
AutomaterMinneselement
Digitalteknik F9 bild 2
Automater
Från F1 minns vi följande om en automat (sekvenskrets):Utsignalerna beror av insignal och gammalt tillstånd:
Digital funktionƒ
Insignaler Utsignaler
M
Synk
( )
Minneselement
Digitalteknik F9 bild 3
Lite mer detaljerat...
Nästa tillstånds-avkodare(komb.)
Utsignal-avkodare
(komb)
Tillstånd(minne)
clock Nästa tillstånd(kodat)
Nuvarande tillstånd
Insignaler Utsignaler
Digitalteknik F9 bild 4
...och formellt
En kombinatorisk krets kan beskrivas med en logikekvation av typen
ƒ = F ( insignalerna )
Automaten beskrivs med en logikekvation av typen
ƒ = F ( insignalerna, tillståndet )
Tillståndet (state) är den nödvändiga informationen om det förflutna
Digitalteknik F9 bild 5
Vi skiljer på några olika automater:
Automater
Synkrona(de som intresseraross i kursen)
Asynkrona
Mooreautomat:ƒ = F(state)
Mealyautomat:ƒ = F(input, state)
Digitalteknik F9 bild 6
Några problem:
1. Hur skapa och styra ett minneselement?
2. Hur skapa nästa tillstånds- och utsignalavkodare
3. Hur synkronisera automaten
4. Hur beskriver vi automatens funktion
5. Prestandaanalys
Digitalteknik F9 bild 7
Minneselement
1
1
Q
/Q
Vout1
Vout2
Vin1
Vin2
Hur fungerar följande krets? Resonera: V = 0 --> V = V = 1
--> V = V = 0
Slutsats: Stabilt läge!
V = 1 --> V = V = 0
--> V = V = 1
Slutsats: Stabilt läge!
Vid spänningstillslag antar kretsen något av de båda tillstånden 0 eller 1
in1 in2out1
out2 in1
in1 in2out1
out2 in1
Digitalteknik F9 bild 8
Minneselement
Problem 1: Vi vill ha ett styrbart elementmed två tillstånd (minnesfunktion)
Problem 2: Det finns ett metastabilt tillståndmellan 0 och 1:
V =V
out1in2
V =V
in1out2
V =V
out1in2
V =V
in1out2
Metastabilt tillstånd
Pga brus lämnar kretsendet metastabila tillståndet efter en kort stund
stabilatillstånd
Digitalteknik F9 bild 9
SR-latchen
Ett styrbart minneselement:
≥1
≥1
Q
/Q
R
S
R
0000000011111111
Endast fem realiserbara rader!
S
0000111100001111
Q
0011001100110011
/Q
0101010101010101
Q
1010101000000000
/Q
1100000011000000
Nor:
A B F0 0 10 1 01 0 01 1 1
Digitalteknik F9 bild 10
SR-latchenTa bort de rader som intekan realiseras:
≥1
≥1
Q
/Q
R
S
R
00011
S
00101
Q
01100
/Q
10010
Q
01100
/Q
10010
Vi kan styra latchen genom attmanövrera R och S:
RS = 00 är normalt utgångsläge och vippankan styras mellan de båda tillstånden:
RS: 00 --> 01 --> 00 ger Q = 1; /Q = 0
RS: 00 --> 10 --> 00 ger Q = 0; /Q = 1
OBS! En styrsignal i taget!
RS = 11 är en kombination som inte bör inträffa.Den ger Q = /Q = 0 och lämnas så här:
RS: 11 --> 01 --> 00 ger Q = 1; /Q = 0
RS: 11 --> 10 --> 00 ger Q = 0; /Q = 1
(Det är i princip omöjligt att växla båda styr-signalerna samtidigt.)
Digitalteknik F9 bild 11
/S/R-latchen...... kan också byggas med NAND-grindar och kallas då /S/R-latch:
&
&
Q
/Q
/S
/R
/R
11100
/S
11010
Q
01100
/Q
10010
Q
01100
/Q
10010
Vi kan styra latchen genom attmanövrera R och S:
/R/S = 11 är normalt utgångsläge och vippankan styras mellan de båda tillstånden:
RS: 11 --> 10 --> 11 ger Q = 1; /Q = 0
RS: 11 --> 01 --> 11 ger Q = 0; /Q = 1
OBS! En styrsignal i taget!
/R/S = 00 är en kombination som inte bör inträffa. Den ger Q = /Q = 1 och lämnas så här:
RS: 00 --> 10 --> 11 ger Q = 1; /Q = 0
RS: 00 --> 01 --> 11 ger Q = 0; /Q = 1
(Det är i princip omöjligt att växla båda styr-signalerna samtidigt.)
Digitalteknik F9 bild 12
SR-latchen......ritas ibland så här:
Q
/QRS
≥1 ≥1
Q
/QSR
&&
alternativt
R Q
S Q
R
S
Q
/Q
R Q
S Q
/R
/S
Q
/Q
Digitalteknik F9 bild 13
SR-latchen
Vi har löst problemet med att skapa ett styrbart minneselement.
Problemet med metastabilitet kvarstår dock.
Två nya problem visar sig också:
1. Styrsignalerna (S och R) måste vara av viss minsta längd för att tillföra vippan tillräckligt med energi för ett omslag
2. Latchen reagerar direkt på styrsignalerna. Vi vill gärna kunna kontrollera omslagsögonblicket mer exakt.
Digitalteknik F9 bild 14
Timing (SR-latch)
S
R
Q
tpLH(SQ)
tpHL(RQ)
tpw(min)
tpw(min) Oscillation
Digitalteknik F9 bild 15
Att styra omslagstidpunkten
Lösning 1: SR-latch med enable
Med enablesignalen”C” bestämmer vi närlatchen skall påverkas av insignalerna.
SR = 11 ger problem...
≥1
≥1
Q
/QR
S&
&
C
C = 0 spärrar S
C = 0 spärrar R
≥1
≥1
/Q
QS
R&
&
C
R Q
S Q
R
S
Q
/Q
C C
Digitalteknik F9 bild 16
Att styra omslagstidpunkten
Lösning 2: toggle latch
Med togglesignalen”T” bestämmer vi närlatchen skall växla tillstånd.
Problem: En puls på T ger alltid omslagSjälvsvänger om pulsen är för lång
≥1
≥1
Q
/Q
&
&
T Q
Q
Q
/Q
T T
Digitalteknik F9 bild 17
Att styra omslagstidpunkten
Lösning 3: JK- latch
Med styrsignalerna J och K bestämmer vihur latchen skall reagera på C.
Problem: En lång puls (C) kan ge självsvängningnär JK = 11
≥1
≥1
Q
/Q
&
&
C
J
K
J Q
K Q
J
K
Q
/Q
C C
K
0101
Q
Q01Q
n-1
n-1
J
0011
Digitalteknik F9 bild 18
Att styra omslagstidpunkten
Lösning 4: D-latch
Med enablesignalen”C” = 1 följer Qinsignalen D (med viss fördröjning).
Med enablesignalen”C” = 0 är Q låsttill det värde som D hade när C = 1
Svårt att styra omslaget exakt!
≥1
≥1
Q
/Q
D
&
&
C
1
D
C
Q
C
110
D
01x
Q
01Q
n-1
Digitalteknik F9 bild 19
Timing (D-latch)
C
D
Q
tholdtsetup
tpLH(DQ)
tpHL(CQ)
tpLH(DQ)
tpHL(DQ)tpLH(CQ)
D stabil!
Digitalteknik F9 bild 20
Att styra omslagstidpunkten
De olika latchkonstruktionerna har brister som göratt de inte räcker till.
Exempel:
- SR-latchen är otillförlitlig om SR = 11 när pulsen kommer
- T-latchen slår alltid om när det kommer en puls
- T-latchen självsvänger om pulsen är lång
- JK-latchen självsvänger ibland om pulsen är lång
- D-latchen har inga sådana problem, men en kort puls är alltid vansklig att skapa vid rätt tidpunkt
Slutsats: Vi måste konstruera en bättre komponent
Digitalteknik F9 bild 21
Att styra omslagstidpunkten
Det finns ytterligare tre sätt att initiera ändring av utsignalen:
- Pulstriggad master-slavevippa
- Flanktriggad vippa
- Vippa med datalås (data lockout)
Digitalteknik F9 bild 22
Att styra omslagstidpunktenLösning 5: Master-slave SR-vippa
≥1
≥1R
S&
&
Ck
≥1
≥1
Q
/Q
&
&
1
R Q
S Q
R
S
Q
/Q
Ck Ck
Mastervippan styrs av SR när Ck = 1. Utgången kanväxla nivå flera gånger under denna tidpunkt
När Ck blir 0 låses mastervippans utgångar och kan inte längre påverkas av SR.
Då öppnas slavevippan och utgångarna på denna styrs av mastervippans utgångar. Nivån växlar högst en gång medan Ck = 0.
Ck bör vara en kort puls för att identifiera mastervippans omslagstidpunkt
Digitalteknik F9 bild 23
Att styra omslagstidpunktenLösning 6: Master-slave JK-vippa
J Q
K Q
J
K
Q
/Q
Ck Ck
Mastervippan styrs av JK när Ck = 1. Utgången kanväxla nivå flera gånger under denna tidpunkt
När Ck blir 0 låses mastervippans utgångar och kan inte längre påverkas av JK.
Då öppnas slavevippan och utgångarna på denna styrs av mastervippans utgångar. Nivån växlar högst en gång medan Ck = 0.
Ck bör vara en kort puls för att identifiera mastervippans omslagstidpunkt
≥1
≥1K
J&
&
Ck
≥1
≥1
Q
/Q
&
&
1
Digitalteknik F9 bild 24
Att styra omslagstidpunktenLösning 7: Flanktriggad D-vippa
D
C
Q D
C
Q
11
D
clk
Q
Vippan utgång ställs lika med D när klockan växlar från 0 till 1 (uppflank, positiv flank).Vi har en enkelt användbar komponent!
(Konstruktionen är i grunden Master-Slavemen Mastervippans omslagstidpunkt är intenågot problem då utgången bara följer D)
D
clk
Q
clk
01
D
01xx
Q
01QQn-1
n-1
Digitalteknik F9 bild 25
D-vippan
D
clk
Q
Vi föbättrar den flanktriggade D-vippan genom att lägga till asynkrona ingångarför preset (ettställning) och clear (noll-ställning).
(Detta går att göra med alla vippor.)
pr
clr
clk
01xx
D
01xxxx
Q
01QQ10
n-1n-1
pr
111101
clr
111110
Digitalteknik F9 bild 26
D-vippanEn flanktriggad D-vippa byggd med 2 D-latchar och 2 inverterare innehåller 11 - 12 grindar. Det finns utrymme för förbättringar...(både kretsantal och prestanda (tidsfördröjning)):
Q
/Q
(NAND enligt deMorgan)
≥1
&
≥1
&
≥1
&
clk
D
/S
/R
1
2
3
4
Antag D = 1:
När clk = 0 är /S/R = 11utgången 4 = D’ = 0utgången 1 = D = 1
När clk blir 1 blir utgången 2 (/S) = 0utgången 3 (/R) = 1
/S/R = 01 sätter Q/Q = 10
Samma resonemang för D = 0
Digitalteknik F9 bild 27
Den kompletta D-vippan
≥1
&
≥1
&
≥1
&
Q
/Q
/pr
/clr
clk
D
I en kommersiell D-vippa finner vi även /pr och /clr:
Digitalteknik F9 bild 28
Den flanktriggade JK-vippanDen flanktriggade JK-vippan kan t ex konstrueras så här:
≥1
&
≥1
≥1
&
Q
/Q
/pr
/clr
clk
≥1
&
&J
/KTillägg till D-vippan
Digitalteknik F9 bild 29
T- och JK-vippornaVanliga schemasymboler för flanktriggade D- och JK-vippor:
T
clk
Qpr
clr
T-vippan:
clk
xx
T
01xx
Q
QQ10
n-1n-1
pr
1101
clr
1110
JK-vippan:
J
clk
Qpr
clrK
clk
xx
K
0101xx
Q
Q01Q10
n-1
n-1
pr
111101
clr
111110
J
0011xx
Digitalteknik F9 bild 30
Styrning av vippor
Ett problem att lösa är hur en vippas ingångar skall styras för att utgången efter klockning skall anta önskat värde. Det finns flera sätt:
1. Det går att läsa ur de beskrivningar som vi redan har använt
2a. Det går att använda en excitationstabell/ekvation
2b. Det går att använda en syntestabell/ekvation
(Några sätt att beskriva samma sak...)
Digitalteknik F9 bild 31
D-vippan
clk
01
D
01xx
Q
01QQn-1
n-1
D
01
Q
01
n+1
D = Qn+1
D
0101
Q
0011
Q
0101
n+1
Q = Dn+1
Excitationstabell/ekvation
Syntestabell/ekvation
n
Digitalteknik F9 bild 32
T-vippan
clk
xx
T
01xx
Q
QQ10
n-1n-1
pr
1101
clr
1110
Excitationstabell/ekvation
Syntestabell/ekvation
T
01
Q
n+1
nn
Q = T ’ Q + T Q’n+1 n n
T
0110
Q
0011
Q
0101
n+1n
T = Q’ Q + Q Q’n+1n n n+1
Digitalteknik F9 bild 33
JK-vippanclk
xx
K
0101xx
Q
Q01Q10
n-1
n-1
pr
111101
clr
111110
J
0011xx
Excitationstabell/ekvation
Syntestabell/ekvation
J
0011
Q
Q01Q
n+1K
0101
n
n
Q = J Q’ + K’ Qn+1 n n
J = Q’ Qn+1
J
01--
Q
0011
Q
0101
n+1K
--10
n
K = Q Q’n+1
n
n
Digitalteknik F9 bild 34
Vippans tidskrav
För att fungera väl förutsätter en vippa att bl a följande krav är uppfyllda:
Styrsignalerna måste vara stabila en viss tid, t före klockning
och en viss tid, t efter klockning.
Efter klockning tar det en viss tid, t innan utsignalen har växlat nivå.
Vippan får inte heller klockas med högre frekvens än f .
Om något av dessa krav inte uppfylls kan t ex metastabilitet uppstå.
setup
hold
ffpd
max
Digitalteknik F9 bild 35
KlocksignalenNågra definitioner:
tH tL
tper
periodtid t uppflank: 0 --> 1
frekvens 1/t nedflank: 1 --> 0
”duty cycle” t / t
alt. t / t
per
per
per
per
H
L
Digitalteknik F9 bild 36
Hur skapas klocksignalen?
Det bästa sättet att skapa en klocksignal med stabil frekvens är att använda en kristalloscillator:
1 11
D
clk
Qf f/2
Här säkerställs attklocksignalen blirsymmetrisk
Kristallen säkerställer att frekvenseninte varierar med temperatur, övrigakomponenters parametrar etc
R ≈ 500 ohm