08a -- Sekvensiell logikk del 2 BLANK.pptx

Transcription

08a -- Sekvensiell logikk del 2 BLANK.pptx
INF1400
Sekvensiell logikk del 2
Læringsutbytte
•  Kunnskapsmål:
–  Kunnskap om hva sekvensiell logikk er
–  Kunnskap om hva klokkings strategier
–  Kunnskap om register
•  Ferdighetsmål:
–  Kunne forstå de ulike klokkestrategiene
–  Kunne argumentere for design basert på portforsinkelse og
logisk dybde
•  Generelle kompetansemål:
–  Kunne redegjøre for behovet av register
Omid Mirmotahari
2
Oppsummering hittil
•  Låsekretser (latch´er)
–  SR latch med NOR-porter
–  S´R´ latch med NAND-porter
–  D-latch
•  Flip-flop
–  Master-slave D-flip-flop
–  JK flip-flop
–  T-flip-flop
Omid Mirmotahari
3
Flip-flop karakteristiske tabeller
J
K
Q(t+1)
0
0
1
1
0
1
0
1
Q(t)
0
1
Q(t)'
Reset
Set
S
R
Q(t+1)
0
0
1
1
0
1
0
1
Q(t)
0
1
?
SR Flip-flop
JK Flip-flop
D
Q(t+1)
0
1
0
1
Reset
Set
D Flip-flop
Reset
Set
Uforutsigbar
T
Q(t+1)
0
1
Q(t)
Q(t)'
T Flip-flop
Omid Mirmotahari
4
•  I synkrone sekvensielle kretser skjer endringen(e) i output
•  I asynkrone sekvensielle kretser skjer endringen(e) i
output
•  Nesten alle kretser er synkrone.
•  Et klokkesignal er et digitalt signal som veksler mellom ´0´
og ´1´ med fast takt.
Omid Mirmotahari
5
• 
Den omvendte av klokkeperioden kalles (klokke)frekvensen, altså
•  Ønsker så høy klokkefrekvens som mulig, fordi hver enkelt operasjon
da bruker så kort tid som mulig.
•  Maksimal klokkefrekvens bestemmes av flere faktorer, blant
annet:
• 
NB: Hastighet er ikke direkte proporsjonal med klokkefrekvens.
Omid Mirmotahari
6
Portforsinkelse / tidsforsinkelse
a
b
F
’1’
a
’1’
’0’
b
’1’
’0’
F
Omid Mirmotahari
7
Logisk dybde
•  Logisk dybde: Antall porter et signal passerer fra inngang
til utgang.
•  Ved å redusere logisk dybde reduseres
forsinkelsen gjennom kretsen.
Eksempel:
a
b
E
F
c
Omid Mirmotahari
8
• 
Internt i en CPU trengs en fleksibel type lagercelle som kan lagre et bit.
Data
in
Clock
1-bits lagercelle
Data
out
Load
• 
Som regel trenger man å lagre hele byte, halvord eller ord, og gjøre samme
operasjon på alle bitene.
• 
Load-signalet bestemmer om ny verdi skal lastes inn eller ikke.
• 
Ved å sette sammen 1-bits celler i parallell, får man et register.
• 
Hvis man i tillegg kan laste data over i nabocellen, kalles det et skiftregister.
Omid Mirmotahari
9
Shiftregister - enkel
Data in
Clock
Load
Shift enable
Shift left
Data
out
Kontroll
logikk
1
bit
Data
out
Shift Left
Load
Shift enable
Shift left
1
bit
Shift Enable
Data in
Clock
Load
Data Data
out
in
’0’
’X’
’X’
Ingen endring
’1’
’1’
’1’
’0’
’1’
’1’
’X’
’0’
’1’
Data out := Data in
Shift right
Shift left
Kontroll
logikk
Omid Mirmotahari
10
System (klokket)
De fleste VLSI systemer er en kombinasjon av:
(a) Pipeline
(b) tilstandsmaskiner (FSM)
Input
D Q
D Q
Logic
CLK
Logic
...
D Q
output
CLK
Comb.
Logic
QD
CLK or CLKS
11
1-fase klokking
Cycle Time (Tc)
Tc = klokkeperioden
Clock
Ts = tiden før klokkeflanken
hvor inngangen må være
stabil og tilgjengelig
Setup Time (Ts)
data
Th = tiden etter klokkeflanken
hvor inngangssignalet må
fortsatt være stabil
Hold Time (T h)
Tq = tiden det tar fra
klokkeflanken til utgangen er
klar
Q
Clock-to-Q Delay (Tq)
Omid Mirmotahari
12
1-fase klokking eksempel
clk
0
D
1
Q
D
Q
s
CLK
Omid Mirmotahari
13
System timing
clock
Register
A
Combinational
Logic
Td
Tq
Tq
Td
Ts
Register
B
Ts
Tc >Tq + Td + Ts
Omid Mirmotahari
14
System timing (alternativ)
Alternativt, kan man bruke latcher som lagrings
element for å spare plass
clock
Latch
A
Tq
Combinational
Logic
Td
Omid Mirmotahari
Ts
Latch
B
15
System timing
A
Latch
A
clock
Tq
Tc1
Combinational
Logic
Tda
Tco
B
Ts
Latch
B
Combinational
Logic
Tdb
Tc1>Tqa+Tda+Tsb
Latch
c
Tco>Tqb+Tdb+Tsc
If Tc=Tc1+Tco and Tc1=Tco, Tqa=Tqb,
Tqa
Tsb=Tsc
Tda
Tsb
Tqb
Tdb
Tsc
=> The limit is Tc = Tda + Tdb + 2(Tq+Ts)
Omid Mirmotahari
16
Klokket latch i CMOS
ck
D
D
clk
Q
clk
ck
clk
clk
”liten” inverter
(lav-gain, mindre
W or større L)
Omid Mirmotahari
17
Typisk utlegg for latch
VDD
Q
D
VSS
clk
-clk
clk
V
SS
-clk
clk
clk
D
-clk
-clk
D
clk
clk
Q
D
Omid Mirmotahari
clk
Q
clk
18
Tilstandsmaskin - Teller
•  Synkron 3-bits teller har en modus signal M
•  M = 0, teller oppover i binær sekvens
•  M = 1, teller oppover i Gray Code sekvens
Binært: 000, 001, 010, 011, 100, 101, 110, 111
Gray: 000, 001, 011, 010, 110, 111, 101, 100
Omid Mirmotahari
19
Et utvalg inputkombinasjoner
Input M
0
0
1
1
1
0
0
Nåværende tilstand
000
001
010
110
111
101
110
Omid Mirmotahari
Neste tilstand
001
010
110
111
101
110
111
20
Tilstandsdiagram
Omid Mirmotahari
21