Sequentiële schakelingen
• Gebaseerd op geheugen elementen • Worden opgedeeld in – synchrone systemen » scheiding tussen • wat er wordt opgeslagen (data) • wanneer het wordt opgeslagen (klok)
– asynchrone systemen » Puls om • geheugen op 1 te zetten (Set) • geheugen op 0 te zetten (Reset)
» onafhankelijk van een klok in het systeem
Sequentiële schakelingen
Jan Genoe KHLim
Eenvoudig circuit met feedback • Geheugen elementen worden bekomen aan de hand van poorten waarvan de uitgangen terug verbonden worden aan de ingang – een even aantal inversies nodig in de lus
• Eenvoudigste poort: de inverter – een lus met 2 invertoren is het basiselement van commerciële static RAM (SRAM)
• Lussen van NOR poorten en NAND poorten worden ook gebruikt "1" Lus van inverters: Statische geheugen Cel
"0"
LD
\LD A
\LD Z
LD
Selectieve onderbreking van de lus om nieuwe data in het geheugen te kunnen schrijven • LD is de klok • A is de data
Sequentiële schakelingen
Jan Genoe KHLim
Lus met NOR poorten: RS latch lus voorstelling • Werkt als een lus van inverters als zowel de reset(R) als de set(S) 0 zijn. • Als de Reset (R) 1 is wordt de uitgang (Q) gedwongen 0
R S
• Als de set (S) 1 is wordt de inversie van de uitgang (\Q) gedwongen 0 « Normaal wordt de uitgang Q dan 1
= R
S
Q
• Er is een probleem als S en R gelijktijdig 1 zijn
\Q
Normale FF voorstelling
Sequentiële schakelingen
Jan Genoe KHLim
Gedrag van de RS latch
• De volgende toestand van het geheugen (Q+) wordt: – De huidige toestand als R=0 en S=0 – 1 als S=1 – 0 als R=1
S 0 0 1 1
R 0 1 0 1
Q+ Q 0 1 onstabiel
Q+ = S + Q ⋅ R als S ⋅R = 0
Sequentiële schakelingen
Jan Genoe KHLim
Symbool van de RS latch
• Amerikaans symbool
• Europees Symbool
Sequentiële schakelingen
S
Q
R
\Q
S
Q
R
\Q
Jan Genoe KHLim
Gedrag van de RS latch S 0 0 1 1
R Q 0 geheugen 1 0 0 1 1 onstabiel
Waarheidstabel van het R-S Latch gedrag
QQ 01
QQ 10
QQ 00
QQ 11
Sequentiële schakelingen
Jan Genoe KHLim
Theoretisch RS latch toestandsdiagram SR = 00, 10
SR = 00, 01 SR = 1 0 QQ 01
QQ 10 SR = 0 1 SR = 0 1 SR = 1 0 SR = 11 SR = 1 1
SR = 1 1 QQ 00 SR = 0 1
SR = 1 0
SR = 0 0 SR = 0 0, 11 QQ 11
Sequentiële schakelingen
Jan Genoe KHLim
Waargenomen RS latch gedrag SR = 00, 10
SR = 00, 01 SR = 1 0 QQ 01
QQ 10 SR = 0 1 SR = 0 1 SR = 1 0 SR = 11 SR = 1 1
SR = 1 1 QQ 00 SR = 0 0
SR = 0 0
Het is zeer moeilijk om de R-S Latch in de 1-1 state te brengen Keert in de praktijk terug naar state 0-1 of 1-0 Dit noemt men de "race conditie" Sequentiële schakelingen
Jan Genoe KHLim
Lus met NAND poorten lus voorstelling • Werkt als een lus van inverters als zowel de reset(\R) als de set(\S) 1 zijn. • Als de Reset (R) 0 is wordt de inversie van de uitgang (\Q) gedwongen 1 « Normaal wordt de uitgang Q dan 0
R S S
R
Q
• Als de set (S) 0 is wordt de uitgang (Q) gedwongen 1 • Er is een probleem als S en R gelijktijdig 0 zijn
\Q
Normale FF voorstelling
Sequentiële schakelingen
Jan Genoe KHLim
Gedrag negatieve input RS latch
• De volgende toestand van het geheugen (Q+) wordt: – De huidige toestand als R=1 en S=1 – 1 als S=0 – 0 als R=0
S 0 0 1 1
R 0 1 0 1
Q+ onstabiel 1 0 Q
Q+ = S + Q ⋅ R als S + R =1
Sequentiële schakelingen
Jan Genoe KHLim
Symbool negatieve input RS latch
• Amerikaans symbool
• Europees Symbool
Sequentiële schakelingen
S
Q
R
\Q
S
Q
R
\Q
Jan Genoe KHLim
Toepassing: ontdenderen van schakelaars
+5V S SW GND
&
a b
Q
&
SW
a sluit b opent
a opent b sluit t
S
R
t R t Q t
Sequentiële schakelingen
Jan Genoe KHLim
Geklokte SR latch
Q
S
R \Q klok
– een Set (S) komen en een klokpuls – of een Reset (R) en een klokpuls
symbool S klok
Q
C R
• Normaal verandert de SR latch van zodra er een set (S) of een reset (R) toekomt • Hier moet er
\Q
Sequentiële schakelingen
• De veranderingen gebeuren dus synchroon met de klok
Jan Genoe KHLim
D latch
Q
D
\Q klok
Sequentiële schakelingen
• De D ingang is de Set (S) • de inverse van de D ingang is de Reset (R) • Set en Reset nooit gelijktijdig hoog
Jan Genoe KHLim
JK latch Hoe kunnen we de verboden toestand elimineren? Oplossing: maak gebruik van de uitgang om ervoor te zorgen dat R en S nooit gelijktijdig 1 zijn Indien J, K beide gelijktijdig 1 zijn zal de flip-flop van toestand veranderen
K
R
J
S
\ Q
\Q
Q
Q
R-S latch
Karakteristieke vergelijking: J
Q
K
\Q
Sequentiële schakelingen
Q+ = Q K + Q J
Jan Genoe KHLim
Geklokte JK Flip-Flop
• J en K signalen worden maar actief van zodra de klok hoog wordt
J klok
K
R
J
S
\ Q
\Q
Q
Q
R-S latch
klok
Q
C K
\Q
Sequentiële schakelingen
Jan Genoe KHLim
Definitie setup en hold tijd
T su
Th
Input
Clock
Er Erisiseen eentijds tijdsvenster venster rond rondde deklok klokevent event waarin waarinde deinputs inputs stabiel stabielen enonveranderd onveranderd moeten moetenblijven blijven om omjuist juistherkend herkend te tekunnen kunnenworden worden
Setup Tijd (Tsu) Minimum tijd voor de klok event gedurende dewelke de inputs stabiel moeten blijven Hold Tijd (Th) Minimum tijd na de klok event gedurende dewelke de inputs stabiel moeten blijven
Sequentiële schakelingen
Jan Genoe KHLim
Verschil tussen flank getriggerde FF en latches 7474 D
Q
Clk Positive edge-triggered flip-flop
Flank getriggerde FF bemonsteren het signaal op de flank van de klok latches bemonsteren het signaal zolang de klok hoog is Timing Diagram:
7476 D
D
Q C
Clk
Clk Level-sensitive latch
Q Q
7474 7476
Gedrag is hetzelfde tenzij de input verandert terwijl de klok hoog is Sequentiële schakelingen
Jan Genoe KHLim
Timing specificaties: FF 74LS74 Positieve flank getriggerde D Flipflop • Setup tijd • Hold tijd • Minimum klok breedte • Propagatie vertraging (low to high, high to low, maximum en typisch)
D
Clk
Q
T su 20 ns
Th 5 ns
T su 20 ns
Th 5 ns
Tw 25 ns T plh 25 ns 13 ns
T phl 40 ns 25 ns
Alle metingen van tijden worden opgegeven ten opzichte van de klok event dit is de stijgende flank van de klok
Sequentiële schakelingen
Jan Genoe KHLim
Timing specificaties: Latches 74LS76 Transparent Latch D
• Setup tijd • Hold tijd • Minimum klok breedte • Propagatie vertraging: high to low, low to high, maximum, typisch data to output clock to output
Clk
Q
T su 20 ns Tw 20 ns T plh C» Q 27 ns 15 ns T plh D»Q 27 ns 15 ns
Sequentiële schakelingen
Th 5 ns
T su 20 ns
Th 5 ns
T phl C» Q 25 ns 14 ns T phl D»Q 16 ns 7 ns
Jan Genoe KHLim
Flank getriggerde Flip Flop
D
D Houd D vast wanneer de klok daalt 0 R
Q
Clk=1
Q S
Negatieve flank getriggerde D flipflop 4-5 poort vertragingen setup en hold tijden steeds noodzakelijk om juist de input op te slaan
0 Houd D vast wanneer de klok daalt D
D
Negatieve flank getriggerde D flipflop wanneer de klok hoog is Sequentiële schakelingen
Karakteristieke vergelijking: Q+ = D
Jan Genoe KHLim
Flank getriggerde Flip Flop Stap voor stap analyse D
4
0
D
3
D R
D R
Q Clk=0
Clk=0
Q D
D
S
D
D'
6
Q
5
Q
S 2
D
D
D
1
D
0
D’≠D
Negatieve flank getriggerde D flipflop wanneer de klok gaat van hoog naar laag: data wordt opgeslagen Sequentiële schakelingen
Negatieve flank getriggerde D flipflop wanneer de klok is laag: data wordt behouden Jan Genoe KHLim
Positieve tegenover negatieve flank getriggerde FF 100 D Clk Q pos
Positieve flank getriggerde FF
\ Q pos Q neg
Negatieve flank getriggerde FF
\ Q neg
Positieve flank getriggerde FF
Negatieve flank getriggerde FF
• Inputs worden gesampled op de stijgende flank • Outputs veranderen na de stijgende flank
• Inputs worden gesampled op de dalende flank • Outputs veranderen na de dalende flank
Sequentiële schakelingen
Jan Genoe KHLim
Master slave JK FF Meester trap K
\Q
R
Slaaf trap \P
R R-S Latch
R-S Latch S
J
\Q
\Q
Q
S
P
Q
Q
Clk
Sample inputs wanneer de klok hoog is Sample inputs wanneer de klok laag is Gebruikt de tijd om een mogelijke lus van de Gebruikt de tijd om een mogelijke lus van deoutputs outputsnaar naarde deinputs inputste tebreken! breken! Set
Reset
1's Catch
Toggle
100
J K Clk P
Master outputs
\P Q
Slave outputs
\Q
Sequentiële schakelingen
Jan Genoe KHLim
Latches tegenover Flip-flops Input/Output gedrag van latches en Flipflops Type
Wanneer gebeurt de sampeling
Wanneer zijn Outputs Valid
ongeklokte latch
altijd
propagatie vertraging na de input verandering
level sensitive latch
klok hoog
propagatie vertraging na de input verandering
positieve flank getriggerde FF
klok laag naar hoog transitie
propagatie vertraging stijgende flank van de klok
negatieve flank getriggerde FF
klok hoog naar laag transitie
propagatie vertraging dalende flank van de klok
master/slave flipflop
klok hoog naar laag transitie
propagatie vertraging dalende flank van de klok
Sequentiële schakelingen
Jan Genoe KHLim
Keuze van de Flipflop • SR geklokte Latch: – gebruikt als opslagelement in systemen met nauwe klokken – Het gebruik is niet aan te raden! – Het is een fundamentele bouwblok van andere FF
• J-K Flipflop: – – – –
flexibel bouw blok kan gebruikt worden om D and T FFs te realiseren vraagt vaak het minst logica om een “next state” functie te realiseren heeft 2 ingangen wat het verbindingsnetwerk complexer maakt
• D Flipflop: – – – –
minimaliseert het aantal draden wordt verkozen µ in VLSI technologie meest eenvoudige ontwerp techniek beste keuze voor opslag elementen
• T Flipflops: – komen niet vaak voor, meestal gemaakt van J-K FFs – de beste keuze op tellers te maken Preset en Clear inputs zijn in de meeste gevallen best aanwezig!! Sequentiële schakelingen
Jan Genoe KHLim
Overgaan naar een ander type FF Karakteristieke vergelijkingen R-S:
Q+ = S + R Q
D:
Q+ = D
J-K:
Q+ = J Q + K Q
T:
Q+ = T Q + T Q
Afkomstig van de Karnaugh kaarten voor de volgende toestand Q+ = ƒ(Inputs, Q) b.v., J=K=0, then Q+ = Q J=1, K=0, then Q+ = 1 J=0, K=1, then Q+ = 0 J=1, K=1, then Q+ = Q
Implementatie van een FF aan de hand van een andere FF
D
J C K
Q
Q
Q
D geïmplementeerd met J-K FF Sequentiële schakelingen
K
J
D
Q
C
Q
J-K geïmplementeerd met D-FF Jan Genoe KHLim
Flank-getriggerde FF met prioriteitsingangen • Elke geklokte FF kan ook uitgevoerd worden met een – Asynchrone reset – Asynchrone preset D
D 0
Reset
R
Q
S 1D C1
Clk=1
Q
R
S 0
D
Preset
D
Sequentiële schakelingen
Jan Genoe KHLim
JK latch met asynchrone preset en clear PR
J
&
&
Q
CLK K
S 1J C1
&
&
Sequentiële schakelingen
_ Q
1K R
Jan Genoe KHLim