elektro- och informationsteknik...lunds tekniska högskola elektro- och informationsteknik edi610...
TRANSCRIPT
Digitala system EDI610Elektro- och informationsteknik
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Sekvensnät• En klass av kretsar med minnesfunktion
• För att kunna beskriv utsignalerna krävs kännedom om systemets tillstånd och beteende.
• Tillståndsdiagram, tillståndstabell , klocksignal och register
• D-vippor
• Sekvensmodellerna Moore och Mealy.
• Synkrona och asynkrona sekvensnät
• Finite State Machines FSM
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Tillståndsdiagram
s0
s1
s2
s3
Realisering av en sekvenskrets börjar med att beskriva beteendet med tillstånd. Tillstånd Sx betecknas med en cirkelBörja med ett starttillståndGå till nästa tillstånd eller stanna kvar beroende på insignalenGenerera utsignaler i tillstånden (Moore) eller vid övergångarna (Mealy)
Nästa tillstånd
Stanna kvar
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Beteendet av tillståndsdiagrammet kan realiseras av en sekvenskrets
D = D-vippan, realiserar minnet av systemet ( tillstånd)K = Kombinatoriska nätet ( Booleska funktioner)
Nuvarandetillstånd
Nästatillstånd
insignaler utsignaler
q q+
ux
clk
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
D-vippan, minneselementet
D
• D-vippan har en ingång ’D’ vars logiska värde överförs till ’Q’ när klockingången ’Clk’ går från ’låg’ till ’hög’
Q
Clk
QClk D Q+
0 X Q
0->1 0 1
0->1 1 1
1 X Q
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Tillståndstabell
• Tabellbeskrivning av tillståndsgrafen. Innehåller ingen ny information.
Nuvarande tillstånd
Nästa tillstånd
Utsignal
Insignal x
start
nästa
nästa1
nästa2
start
0 1
nästa
nästa2
nästa1
nästanästa2start
start
u
000
1
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Tillståndskodning
Kodning (0, 1)
q1q0
start 0 0
Nästa 0 1
Nästa1 1 0
Nästa2 1 1
Nuvarande tillstånd
Nästa tillstånd
Utsignal
Insignal x
00
01
10
11
00
0 1
01
11
10
011100
00
u
000
1
Ta fram booleska uttryck för q1+ , q0
+ och u (enligt tidigare)
Gray kodning och one-hot, andra typer av tillståndskodning
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Mealy eller Moore
MealyMoore
x x
u u
q+q+ qqD DK K
KutKut
Utsignal beror endast av nuvarande tillstånd.q+ = f(q, x) och u = g(q)
Utsignalen beror både av nuvarande tillståndet och insignalenq+ = f(q, x) och u = g(q, x)
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Exempel – detektera tre ettor
• I en bitström, x, ska förekomsten av tre ettor i följd detekteras. Utsignalen ska vara ’1’ när tre ettor hittats annars ’0’. Moore- och Mealytypen ska undersökas.
• Metod:
– Rita tillståndsgraf
– Koda tillstånden (’S0’ -> (0, 0) etc. och ange utsignalen)
– Skriv upp tilståndstabellen
– Gör Karnaugh-diagram för D-vipporna (q1+, q0+ och utsignalen)
– Minimera och teckna Booleska uttryck för qi+
– Realisera med vippor och grindar (eller i VHDL)
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Exempel: detektera minst 3 ettor.
s0
s1s2
s3
Moore
1
1
1
1
100
0
0 0
0
0
Mealy
s0
s1 s2
1/01/0
1/1
0/0
0/0
0/0
Nuvarande tillstånd
Nästa tillstånd Utsignal
Insignal x
00 s0
01 s1
11 s2
10 s3
00 s0
0 1
00 s0
00 s0
u
0
0
0
1
01 s1
11 s2
10 s3
00 s0 10 s3
X q1q0/u
Nuvarande tillstånd
Nästa tillstånd
Insignal x
00 s0
01 s1
11 s2
--
00 s0/0
0 1
u
01 s1/0
00 s0/0
00 s0/0
--
11 s2/0
11 s2/1
--
x/u q1q0
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 - - -
0 1 1 0 0 0
1 0 0 0 1 0
1 0 1 1 1 0
1 1 0 - - -
1 1 1 1 1 1
x q1 q0 q1+ q0
+ u
0 0
0 1
0 1
- -11
00
01
10
0 1x
q1, q0
q1+
0 1
0 1
0 1
- -
11
00
01
10
0 1x
q1, q0
q0+
q1+= x q0
q0+= x
u = x q1
0 0
0 0
0 1
- -11
00
01
10
0 1x
q1, q0
u
Mealy
s0
s1 s2
1/01/0
1/1
0/0
0/0
0/0
Nuvarande tillstånd
Nästa tillstånd
Insignal x
00 s0
01 s1
11 s2
--
00 s0/0
0 1
u
01 s1/0
00 s0/0
00 s0/0
--
11 s2/0
11 s2/1
--
x/u q1q0
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 1
1 0 1 1 1
1 1 0 1 0
1 1 1 1 0
x q1 q0 q1+ q0
+
u
0
0
0
1
0 0
0 1
0 1
0 1
11
00
01
10
0 1
x
q1, q0
q1+
0 1
0 1
0 0
0 0
11
00
01
10
0 1
x
q1, q0
q0+
q1+= x q0 + x q1
q0+= x q1
’
u = q1 q0’
00
01
11
10s0
s1s2
s3
Moore
1
1
1
1
100
0
0 0
0
0
Nuvarande tillstånd
Nästa tillstånd Utsignal
Insignal x
00 s0
01 s1
11 s2
10 s3
00 s0
0 1
00 s0
00 s0
u
0
0
0
1
01 s1
11 s2
10 s3
00 s0 10 s3
X q1q0/u
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Enable – också en insignal
• Enable, E, betyder tillåta, möjliggöra. ’Chip Enable’, CE, är en annan beteckning som används
• ’Enable’ i en sekvenskrets är en insignal som anger om kretsen ska utföra sin tänkta funktion eller stanna kvar i nuvarande tillstånd. Den behandlas som en insignal och är därför med i tillståndsbeskrivningen.
• Allmänt för alla typer av kretsar t.ex. minnen, AD-omvandlare, in- och utgångskretsar betyder ’Enable’ att kretsen blir aktiv.
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Reset - nollställ
• ’Reset’ i sekvenskretsar gör att nästa tillstånd sätts till ett speciellt tillstånd, vanligen starttillståndet ’S0’.
• Synkron Reset behandlas som en insignal och är därför med i tillståndsbeskrivningen. Reset sker när klockan går hög.
• Asynkron Reset påverkar D-vipporna direkt via en extra ingång på dessa och sätter omedelbart ’Q’ till ’0’ oberoende av klockan.
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Räknare – ett exempel på sekvensnät
• Räknare är ett sekvensnät vars tillstånd (och utsignal) är den binära koden: 0000, 0001, 0010, …, 1110, 1111, 0000, 0001, …
• Vid varje klockpuls tar räknaren ett steg i sekvensen.
• Räknare används t.ex. för att dela ned en hög klockfrekvens till en lägre t.ex. fClk -> fClk/10
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Exempel – tvåbitars upp-räknare i binärkod med enable och reset (dominant).
E R Q1 Q0 Q1+
Q0+
0 0 0 0 0 0
0 0 0 1 0 1
0 0 1 0 1 0
0 0 1 1 1 1
0 1 0 0 0 0
0 1 0 1 0 0
0 1 1 0 0 0
0 1 1 1 0 0
E R Q1 Q0 Q1+
Q0+
1 0 0 0 0 1
1 0 0 1 1 0
1 0 1 0 1 1
1 0 1 1 0 0
1 1 0 0 0 0
1 1 0 1 0 0
1 1 1 0 0 0
1 1 1 1 0 0
Lunds Tekniska högskola Elektro- och Informationsteknik EDI610
Karnaugh-diagrammen för qi+
q1+
00 01 11 10
00 0 0 1 1
01 0 0 0 0
11 0 0 0 0
10 0 1 0 1
q1, q0
E, R
q0+
00 01 11 10
00 0 1 1 0
01 0 0 0 0
11 0 0 0 0
10 0 1 0 1
q1, q0
E, R
q1+ = E’R’q1 + R’q1 + ER’q1’q0 q0+ = E’R’q0 + R’q1’q0 + ER’q1q0’