Transcript pps
Slide 1
VTŠ Novi Sad
Elektronika 2 - Digitalna elektronika
6. IMPLEMENTACIJA
SEKVENCIJALNE
LOGIKE
dr Zoran Mitrović
Slide 2
Implementacija sekvencijalne logike
Sekvencijalna kola
Osnovni sekvencijalni elementi
Kombinaciona logika
Modeli za predstavljanje sekvencijalnih kola
Metoda konačnih stanja (Finite-state machines)
Predstavljanje memorije (stanja)
Promene stanja (tranzicije)
Osnovna sekvencijalna kola
Pomerački registri
Brojači
Procedura projektovanja
Dijagrami stanja
Tabela tranzicija
Funkcije sledećeg stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 2
Slide 3
Elementi stanja
Podeliti kolo na kombinacionu logiku i stanje
Lokalizovati petlje povratne sprege i obezbediti da je
olakšano da se raskinu
Implementacija elemenata memorije vodi do različitih
formi sekvencijalne logike
Ulazi
Combinational
Logic
Ulazi stanja
Izlazi
Izlazi stanja
Elementi memorije
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 3
Slide 4
Forme sekvencijalne logike
Asinhrona sekvencijalna logika – promene stanja se
dešavaju kad se menjaju stanja ulaza (elementi mogu
da budu obične šice ili elementi kašnjenja)
Sinhrona sekvencijalna logika – promene stanja se
dešavaju u definisanim koracima kroz memorijske
elemente (koristeći periodični talasni oblik - takt)
Takt
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 4
Slide 5
Prikaz “mašine” konačnih stanja
Stanja: definisana mogućim vrednostima u
sekvencijalnim memorijskim elementima
Tranzicija: promena stanja
Takt: dozvoljava kad stanje može da se promeni
kontrolom memorijskih elemenata
010
001
In = 0
Sekvencijalna logika
In = 1
100
111
In = 0
In = 1
110
Sekvencijalni prolazak kroz niz stanja
Bazirana na sekvenci vrednosti ulaznih signala
Periodi takta definišu elemente sekvence
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 5
Slide 6
Primer dijagrama “mašine” konačnih stanja
Kombinaciona brava sa početka kursa
GREŠKA
zatvoreno
nije jednako
& novi
reset
nije jednako
& novi
nije jednako
& novi
S3
S1
S2
OTVORENO
zatvoreno
zatvoreno
zatvoreno
otvoreno
mux=C1 jednako mux=C2 jednako mux=C3 jednako
& novi
& novi
& novi
nije novi
nije novi
nije novi
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 6
Slide 7
Može li bilo koji sekvencijalni sistem
da se predstavi dijagramom stanja?
Pomerački registar
Ulazna vrednost
predstavljena
na tranzicionim
lukovima
Izlazna vrednost
prikazana
unutar čvora
100
stanja
1
0
OUT1
IN
0
1
0
D Q
110
1
1
1
010
0
001
D Q
OUT3
CLK
1
000
D Q
OUT2
101
0
0
111
0
1
0
011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 7
1
Slide 8
Brojači su proste “mašine” konačnih stanja
Brojači
Prolaze kroz dobro definisanu sekvencu stanja kao odgovor na
enable
Mnogo tipova brojača: binarni, BCD, sa grejovim kodom
3-bitni brojač na gore: 000, 001, 010, 011, 100, 101, 110, 111, 000, ...
3-bitni brojač na dole: 111, 110, 101, 100, 011, 010, 001, 000, 111, ...
001
000
010
011
100
3-bitni brojač na gore
111
110
101
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 8
Slide 9
Kako pretvaramo dijagram stanja u logiku?
Brojač
Tri flip-flopa pamte stanje
Logika za izračunavanje sledećeg stanja
Takt kontroliše kad može da se promeni stanje flip-flop-a
Sačekati dovoljno dugo da kombinaciona logika izračuna novu vrednost
Ne sme se čekati predugo – niske performanse
OUT1
D Q
OUT2
D Q
CLK
"1"
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 9
OUT3
D Q
Slide 10
Procedura projektovanja “mašine” konačnih stanja
Počinje se od brojača
Prosto, jer je izlaz samo stanje
Prosto, jer izbor sledećeg stanja ne zavisi od ulaza
Dijagram stanja -> tabela prelaza iz stanja u stanje
Tabularna forma dijagrama stanja
Nalik na kombinacionu tabelu
Kodiranje stanja
Odluka o prikazu stanja
Za brojače je to prosto: samo njegova vrednost
Implementacija
Flip-flop za svaki bit stanja
Kombinaciona logika bazirana na kodiranju
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 10
Slide 11
Procedura projektovanja “mašine” konačnih stanja:
dijagram stanja -> tabela prelaza iz stanja u stanje
Tabularna forma dijagrama stanja
Nalik na kombinacionu tabelu (specifirati izlaze za sve
ulazne kombinacije)
Kodiranje stanja: prosto za brojače – samo se koristi
vrednost
tekuće stanje
sledeće state
001
000
010
011
100
3-bitni brojač na gore
111
110
101
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 11
001
010
011
100
101
110
111
000
1
2
3
4
5
6
7
0
Slide 12
Implementacija
D flip-flop za svaki bit stanja
Kombinaciona logika bazirana na kodiranju
C3
0
0
0
0
1
1
1
1
C2
0
0
1
1
0
0
1
1
C1
0
1
0
1
0
1
0
1
N3
C1
N3
0
0
0
1
1
1
1
0
C3
0
0
1
1
0
1
0
1
C2
N2
0
1
1
0
0
1
1
0
notacija koja pokazuje
koja funkcija predstavlja
ulaz u D-FF
N1
1
0
1
0
1
0
1
0
N1 := C1'
N2 := C1C2' + C1'C2
:= C1 xor C2
N3 := C1C2C3' + C1'C3 + C2'C3
:= C1C2C3' + (C1' + C2')C3
:= (C1C2) xor C3
N2
C1
C3
0
1
1
0
1
0
0
1
N1
C2
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 12
C1
C3
1
1
1
1
0
0
0
0
C2
Slide 13
Implementacija (nastavak)
Programabilni blok za građenje sekvencijalne logike
Makro-ćelija: FF + logika
D-FF
Sposobnost logike u dva nivoa, nalik na PAL (npr., 8 proizvodnih izraza)
DQ
Q
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 13
Slide 14
Još jedan primer
Pomerački registar
Ulaz određuje sledeće stanje
In
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
C1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
C3
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
N1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
N2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
N3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
100
0
1
0
0
101
0
0
001
N1 := In
N2 := C1
N3 := C2
IN
0
OUT1
D Q
1
1
1
010
1
000
110
D Q
CLK
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 14
111
0
1
0
011
OUT2
D Q
OUT3
1
Slide 15
Primer kompleksnijeg brojača
Kompleksni brojač
Ponavlja pet stanja u sekvenci
Nije prikaz binarnih brojeva
Korak 1: Nacrtati dijagram tranzicije stanja
Brojačka sekvenca: 000, 010, 011, 101, 110
Korak 2: Nacrtati tabelu tranzicije stanja iz dijagrama
tranzicije stanja
000
110
010
101
011
Trenutno stanje
C
B
A
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Sledeće stanje
C+
B+
A+
0
1
0
–
–
–
0
1
1
1
0
1
–
–
–
1
1
0
0
0
0
–
–
–
primetiti stanja nije-važno koja su ustvari nekorišćeni kodovi stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 15
Slide 16
Primer kompleksnijeg brojača (nastavak)
Korak 3: K-mape za funkciju sledećeg stanja
C+
A
B+
C
0
0
0
X
X
1
X
1
A
A+
C
1
1
0
X
X
0
X
1
B
B
C+ := A
B+ := B' + A'C'
A+ := BC'
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 16
A
C
0
1
0
X
X
1
X
0
B
Slide 17
Primer kompleksnijeg brojača (nastavak)
Uključiti i stanja nije-važno u tabelu tranzicija, da se
definiše način kako se brojač vraća u projektovani sled
C+
A
B+
C
0
0
0
0
1
1
1
1
A
1
1
0
1
1
0
0
1
A
C
0
1
0
0
0
1
0
0
B
B
Sadašnje
C
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
A+
C
A
0
1
0
1
0
1
0
1
Sledeće
C+ B+
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
B
111
A+
0
0
1
1
0
0
0
0
001
000
110
100
010
101
011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 17
Slide 18
Samo-startujući brojači
Početna stanja
Prilikom uključenja brojač može da bude i u nekorišćenom ili u ne-validnom
stanju
Projektant mora da obezbedi da brojač radi i kad uđe u ne-validno stanje
Rešenje sa samo-startovanjem
Projektovati brojač tako da ne-validna stanja prelaze u validna
Može da se ograniči rad sa stanjima nije-važno
111
111
001
000
implementacija
na prethodnom slajdu
110
000
100
110
100
010
101
010
011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 18
101
011
001
Slide 19
Model stanja (State Machine)
Vrednosti koje se čuvaju u registrima predstavljaju
stanje kola
Kombinaciona logika računa:
Sledeće stanje
Funkcija sadašnjeg stanja i ulaza
Izlaze
Funkcija sadašnjeg stanja i ulaza (Mealy-jeva “mašina”)
Funkcija samo sadašnjeg stanja (Moore-ova “mašina”)
Ulazi
izlazna
logika
sledeće stanje
logika
Izlazi
Sledeće stanje
Sadašnje stanje
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 19
Slide 20
Model stanja (nastavak)
Izlazi
izlazna logika
Ulazi
logika
sledećeg stanja
Stanja: S1, S2, ..., Sk
Ulazi: I1, I2, ..., Im
Izlazi: O1, O2, ..., On
Sledeće stanje
Sadašnje stanje
Funkcija tranzicije: Fs(Si, Ij)
Izlazna funkcija: Fo(Si) or Fo(Si, Ij)
Sledeće stanje
Stanje
Takt 0
1
2
3
4
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 20
5
Slide 21
Primer: Automat za prodaju
Izbaciti proizvod nakon što je ubačeno 15 dinara
Jedan prorez za ubacivanje novca, samo metalni 5 i 10
dinara
Nema vraćanja novca
N
Senzor
novčića
D
Reset
Vending
Machine
FSM
za
Otvaranje mehanizam
izbacivanje
proizvoda
Takt
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 21
Slide 22
Primer: Automat za prodaju (nastavak)
Pogodan prikaz
Reset
Proučiti tipične ulazne sekvence:
3 novčića od 5 din
5 din, zatim 10 din
10 din, zatim 5 din
2 novčića od 10 din
S0
N
S1
Nacrtati dijagram stanja:
Ulazi: N (5 din), D (10 din), reset
Izlaz: otvaranje vratanaca
N
S3
Pretpostavke:
Pretpostavimo da su u jednom
ciklusu prihvaćeni N i D
Svako stanje ima petlju za
N = D = 0 (nema novčića)
D
S2
D
N
D
S4
S5
S6
[otvoreno] [otvoreno] [otvoreno]
N
S7
[otvoreno]
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 22
Slide 23
Primer: Automat za prodaju (nastavak)
Minimizirati broj stanja – koristiti definisano stanje kad god je
moguće
sadašnje
stanje
0 din
Reset
0 din
5 din
N
5 din
N
D
D
10 din
10 din
N+D
15din
[otvaranje]
15 din
ulazi
D
N
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
–
–
sledeći
0 din
5 din
10 din
–
5 din
10 din
15 din
–
10 din
15 din
15 din
–
15 din
tabela simboličkih stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 23
izlaz
otvaranje
0
0
0
–
0
0
0
–
0
0
0
–
1
Slide 24
Primer: Automat za prodaju (nastavak)
Jedinstveno kodiranje stanja
sadašnje
stanje
Q1 Q0
0 0
0
1
1
0
1
1
ulazi
D
0
0
1
1
0
0
1
1
0
0
1
1
–
N
0
1
0
1
0
1
0
1
0
1
0
1
–
sledeće
izlaz
stanje
D1 D0 otvaranje
0 0
0
0 1
0
1 0
0
– –
–
0 1
0
1 0
0
1 1
0
– –
–
1 0
0
1 1
0
1 1
0
– –
–
1 1
1
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 24
Slide 25
Primer: Automat za prodaju (nastavak)
Mapiranje u logiku
Q1
D1
0 0 1 1
0 1 1 1
D
X X X X
1 1 1 1
Q0
Q1
D0
Q1
Open
0 0 1 0
0 1 1 0
1 0 1 1
N
D
X X X X
0 0 1 0
N
0 1 1 1
D
X X X X
N
0 0 1 0
Q0
Q0
D1 = Q1 + D + Q0 N
D0 = Q0’ N + Q0 N’ + Q1 N + Q1 D
OPEN = Q1 Q0
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 25
Slide 26
Primer: Automat za prodaju (nastavak)
Kodiranje za slučaj da je samo jedan ulaz aktivan
sadašnje
stanje
Q3 Q2 Q1 Q0
0 0 0 1
0 0
0 1
1 0
1
0
0
0
0
0
ulazi
D
0
0
1
1
0
0
1
1
0
0
1
1
-
N
0
1
0
1
0
1
0
1
0
1
0
1
-
sledeće
stanje
D3 D2 D1 D0
0 0 0 1
0 0 1 0
0 1 0 0
- - - 0 0 1 0
0 1 0 0
1 0 0 0
- - - 0 1 0 0
1 0 0 0
1 0 0 0
- - - 1 0 0 0
izlaz
otvaranje
0
0
0
0
0
0
0
0
0
1
D0 = Q0 D’ N’
D1 = Q0 N + Q1 D’ N’
D2 = Q0 D + Q1 N + Q2 D’ N’
D3 = Q1 D + Q2 D + Q2 N + Q3
OPEN = Q3
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 26
Slide 27
Jedna implementacija detektora ivice
"Ad hoc" rešenje - nije minimalno, ali je jeftino i brzo
X’
X’
10
[0]
X’
00
[0]
X
X
01
[1]
X’
11
[0]
X
X
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 27
VTŠ Novi Sad
Elektronika 2 - Digitalna elektronika
6. IMPLEMENTACIJA
SEKVENCIJALNE
LOGIKE
dr Zoran Mitrović
Slide 2
Implementacija sekvencijalne logike
Sekvencijalna kola
Osnovni sekvencijalni elementi
Kombinaciona logika
Modeli za predstavljanje sekvencijalnih kola
Metoda konačnih stanja (Finite-state machines)
Predstavljanje memorije (stanja)
Promene stanja (tranzicije)
Osnovna sekvencijalna kola
Pomerački registri
Brojači
Procedura projektovanja
Dijagrami stanja
Tabela tranzicija
Funkcije sledećeg stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 2
Slide 3
Elementi stanja
Podeliti kolo na kombinacionu logiku i stanje
Lokalizovati petlje povratne sprege i obezbediti da je
olakšano da se raskinu
Implementacija elemenata memorije vodi do različitih
formi sekvencijalne logike
Ulazi
Combinational
Logic
Ulazi stanja
Izlazi
Izlazi stanja
Elementi memorije
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 3
Slide 4
Forme sekvencijalne logike
Asinhrona sekvencijalna logika – promene stanja se
dešavaju kad se menjaju stanja ulaza (elementi mogu
da budu obične šice ili elementi kašnjenja)
Sinhrona sekvencijalna logika – promene stanja se
dešavaju u definisanim koracima kroz memorijske
elemente (koristeći periodični talasni oblik - takt)
Takt
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 4
Slide 5
Prikaz “mašine” konačnih stanja
Stanja: definisana mogućim vrednostima u
sekvencijalnim memorijskim elementima
Tranzicija: promena stanja
Takt: dozvoljava kad stanje može da se promeni
kontrolom memorijskih elemenata
010
001
In = 0
Sekvencijalna logika
In = 1
100
111
In = 0
In = 1
110
Sekvencijalni prolazak kroz niz stanja
Bazirana na sekvenci vrednosti ulaznih signala
Periodi takta definišu elemente sekvence
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 5
Slide 6
Primer dijagrama “mašine” konačnih stanja
Kombinaciona brava sa početka kursa
GREŠKA
zatvoreno
nije jednako
& novi
reset
nije jednako
& novi
nije jednako
& novi
S3
S1
S2
OTVORENO
zatvoreno
zatvoreno
zatvoreno
otvoreno
mux=C1 jednako mux=C2 jednako mux=C3 jednako
& novi
& novi
& novi
nije novi
nije novi
nije novi
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 6
Slide 7
Može li bilo koji sekvencijalni sistem
da se predstavi dijagramom stanja?
Pomerački registar
Ulazna vrednost
predstavljena
na tranzicionim
lukovima
Izlazna vrednost
prikazana
unutar čvora
100
stanja
1
0
OUT1
IN
0
1
0
D Q
110
1
1
1
010
0
001
D Q
OUT3
CLK
1
000
D Q
OUT2
101
0
0
111
0
1
0
011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 7
1
Slide 8
Brojači su proste “mašine” konačnih stanja
Brojači
Prolaze kroz dobro definisanu sekvencu stanja kao odgovor na
enable
Mnogo tipova brojača: binarni, BCD, sa grejovim kodom
3-bitni brojač na gore: 000, 001, 010, 011, 100, 101, 110, 111, 000, ...
3-bitni brojač na dole: 111, 110, 101, 100, 011, 010, 001, 000, 111, ...
001
000
010
011
100
3-bitni brojač na gore
111
110
101
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 8
Slide 9
Kako pretvaramo dijagram stanja u logiku?
Brojač
Tri flip-flopa pamte stanje
Logika za izračunavanje sledećeg stanja
Takt kontroliše kad može da se promeni stanje flip-flop-a
Sačekati dovoljno dugo da kombinaciona logika izračuna novu vrednost
Ne sme se čekati predugo – niske performanse
OUT1
D Q
OUT2
D Q
CLK
"1"
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 9
OUT3
D Q
Slide 10
Procedura projektovanja “mašine” konačnih stanja
Počinje se od brojača
Prosto, jer je izlaz samo stanje
Prosto, jer izbor sledećeg stanja ne zavisi od ulaza
Dijagram stanja -> tabela prelaza iz stanja u stanje
Tabularna forma dijagrama stanja
Nalik na kombinacionu tabelu
Kodiranje stanja
Odluka o prikazu stanja
Za brojače je to prosto: samo njegova vrednost
Implementacija
Flip-flop za svaki bit stanja
Kombinaciona logika bazirana na kodiranju
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 10
Slide 11
Procedura projektovanja “mašine” konačnih stanja:
dijagram stanja -> tabela prelaza iz stanja u stanje
Tabularna forma dijagrama stanja
Nalik na kombinacionu tabelu (specifirati izlaze za sve
ulazne kombinacije)
Kodiranje stanja: prosto za brojače – samo se koristi
vrednost
tekuće stanje
sledeće state
001
000
010
011
100
3-bitni brojač na gore
111
110
101
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 11
001
010
011
100
101
110
111
000
1
2
3
4
5
6
7
0
Slide 12
Implementacija
D flip-flop za svaki bit stanja
Kombinaciona logika bazirana na kodiranju
C3
0
0
0
0
1
1
1
1
C2
0
0
1
1
0
0
1
1
C1
0
1
0
1
0
1
0
1
N3
C1
N3
0
0
0
1
1
1
1
0
C3
0
0
1
1
0
1
0
1
C2
N2
0
1
1
0
0
1
1
0
notacija koja pokazuje
koja funkcija predstavlja
ulaz u D-FF
N1
1
0
1
0
1
0
1
0
N1 := C1'
N2 := C1C2' + C1'C2
:= C1 xor C2
N3 := C1C2C3' + C1'C3 + C2'C3
:= C1C2C3' + (C1' + C2')C3
:= (C1C2) xor C3
N2
C1
C3
0
1
1
0
1
0
0
1
N1
C2
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 12
C1
C3
1
1
1
1
0
0
0
0
C2
Slide 13
Implementacija (nastavak)
Programabilni blok za građenje sekvencijalne logike
Makro-ćelija: FF + logika
D-FF
Sposobnost logike u dva nivoa, nalik na PAL (npr., 8 proizvodnih izraza)
DQ
Q
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 13
Slide 14
Još jedan primer
Pomerački registar
Ulaz određuje sledeće stanje
In
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
C1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
C3
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
N1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
N2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
N3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
100
0
1
0
0
101
0
0
001
N1 := In
N2 := C1
N3 := C2
IN
0
OUT1
D Q
1
1
1
010
1
000
110
D Q
CLK
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 14
111
0
1
0
011
OUT2
D Q
OUT3
1
Slide 15
Primer kompleksnijeg brojača
Kompleksni brojač
Ponavlja pet stanja u sekvenci
Nije prikaz binarnih brojeva
Korak 1: Nacrtati dijagram tranzicije stanja
Brojačka sekvenca: 000, 010, 011, 101, 110
Korak 2: Nacrtati tabelu tranzicije stanja iz dijagrama
tranzicije stanja
000
110
010
101
011
Trenutno stanje
C
B
A
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Sledeće stanje
C+
B+
A+
0
1
0
–
–
–
0
1
1
1
0
1
–
–
–
1
1
0
0
0
0
–
–
–
primetiti stanja nije-važno koja su ustvari nekorišćeni kodovi stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 15
Slide 16
Primer kompleksnijeg brojača (nastavak)
Korak 3: K-mape za funkciju sledećeg stanja
C+
A
B+
C
0
0
0
X
X
1
X
1
A
A+
C
1
1
0
X
X
0
X
1
B
B
C+ := A
B+ := B' + A'C'
A+ := BC'
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 16
A
C
0
1
0
X
X
1
X
0
B
Slide 17
Primer kompleksnijeg brojača (nastavak)
Uključiti i stanja nije-važno u tabelu tranzicija, da se
definiše način kako se brojač vraća u projektovani sled
C+
A
B+
C
0
0
0
0
1
1
1
1
A
1
1
0
1
1
0
0
1
A
C
0
1
0
0
0
1
0
0
B
B
Sadašnje
C
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
A+
C
A
0
1
0
1
0
1
0
1
Sledeće
C+ B+
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
0
B
111
A+
0
0
1
1
0
0
0
0
001
000
110
100
010
101
011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 17
Slide 18
Samo-startujući brojači
Početna stanja
Prilikom uključenja brojač može da bude i u nekorišćenom ili u ne-validnom
stanju
Projektant mora da obezbedi da brojač radi i kad uđe u ne-validno stanje
Rešenje sa samo-startovanjem
Projektovati brojač tako da ne-validna stanja prelaze u validna
Može da se ograniči rad sa stanjima nije-važno
111
111
001
000
implementacija
na prethodnom slajdu
110
000
100
110
100
010
101
010
011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 18
101
011
001
Slide 19
Model stanja (State Machine)
Vrednosti koje se čuvaju u registrima predstavljaju
stanje kola
Kombinaciona logika računa:
Sledeće stanje
Funkcija sadašnjeg stanja i ulaza
Izlaze
Funkcija sadašnjeg stanja i ulaza (Mealy-jeva “mašina”)
Funkcija samo sadašnjeg stanja (Moore-ova “mašina”)
Ulazi
izlazna
logika
sledeće stanje
logika
Izlazi
Sledeće stanje
Sadašnje stanje
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 19
Slide 20
Model stanja (nastavak)
Izlazi
izlazna logika
Ulazi
logika
sledećeg stanja
Stanja: S1, S2, ..., Sk
Ulazi: I1, I2, ..., Im
Izlazi: O1, O2, ..., On
Sledeće stanje
Sadašnje stanje
Funkcija tranzicije: Fs(Si, Ij)
Izlazna funkcija: Fo(Si) or Fo(Si, Ij)
Sledeće stanje
Stanje
Takt 0
1
2
3
4
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 20
5
Slide 21
Primer: Automat za prodaju
Izbaciti proizvod nakon što je ubačeno 15 dinara
Jedan prorez za ubacivanje novca, samo metalni 5 i 10
dinara
Nema vraćanja novca
N
Senzor
novčića
D
Reset
Vending
Machine
FSM
za
Otvaranje mehanizam
izbacivanje
proizvoda
Takt
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 21
Slide 22
Primer: Automat za prodaju (nastavak)
Pogodan prikaz
Reset
Proučiti tipične ulazne sekvence:
3 novčića od 5 din
5 din, zatim 10 din
10 din, zatim 5 din
2 novčića od 10 din
S0
N
S1
Nacrtati dijagram stanja:
Ulazi: N (5 din), D (10 din), reset
Izlaz: otvaranje vratanaca
N
S3
Pretpostavke:
Pretpostavimo da su u jednom
ciklusu prihvaćeni N i D
Svako stanje ima petlju za
N = D = 0 (nema novčića)
D
S2
D
N
D
S4
S5
S6
[otvoreno] [otvoreno] [otvoreno]
N
S7
[otvoreno]
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 22
Slide 23
Primer: Automat za prodaju (nastavak)
Minimizirati broj stanja – koristiti definisano stanje kad god je
moguće
sadašnje
stanje
0 din
Reset
0 din
5 din
N
5 din
N
D
D
10 din
10 din
N+D
15din
[otvaranje]
15 din
ulazi
D
N
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
–
–
sledeći
0 din
5 din
10 din
–
5 din
10 din
15 din
–
10 din
15 din
15 din
–
15 din
tabela simboličkih stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 23
izlaz
otvaranje
0
0
0
–
0
0
0
–
0
0
0
–
1
Slide 24
Primer: Automat za prodaju (nastavak)
Jedinstveno kodiranje stanja
sadašnje
stanje
Q1 Q0
0 0
0
1
1
0
1
1
ulazi
D
0
0
1
1
0
0
1
1
0
0
1
1
–
N
0
1
0
1
0
1
0
1
0
1
0
1
–
sledeće
izlaz
stanje
D1 D0 otvaranje
0 0
0
0 1
0
1 0
0
– –
–
0 1
0
1 0
0
1 1
0
– –
–
1 0
0
1 1
0
1 1
0
– –
–
1 1
1
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 24
Slide 25
Primer: Automat za prodaju (nastavak)
Mapiranje u logiku
Q1
D1
0 0 1 1
0 1 1 1
D
X X X X
1 1 1 1
Q0
Q1
D0
Q1
Open
0 0 1 0
0 1 1 0
1 0 1 1
N
D
X X X X
0 0 1 0
N
0 1 1 1
D
X X X X
N
0 0 1 0
Q0
Q0
D1 = Q1 + D + Q0 N
D0 = Q0’ N + Q0 N’ + Q1 N + Q1 D
OPEN = Q1 Q0
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 25
Slide 26
Primer: Automat za prodaju (nastavak)
Kodiranje za slučaj da je samo jedan ulaz aktivan
sadašnje
stanje
Q3 Q2 Q1 Q0
0 0 0 1
0 0
0 1
1 0
1
0
0
0
0
0
ulazi
D
0
0
1
1
0
0
1
1
0
0
1
1
-
N
0
1
0
1
0
1
0
1
0
1
0
1
-
sledeće
stanje
D3 D2 D1 D0
0 0 0 1
0 0 1 0
0 1 0 0
- - - 0 0 1 0
0 1 0 0
1 0 0 0
- - - 0 1 0 0
1 0 0 0
1 0 0 0
- - - 1 0 0 0
izlaz
otvaranje
0
0
0
0
0
0
0
0
0
1
D0 = Q0 D’ N’
D1 = Q0 N + Q1 D’ N’
D2 = Q0 D + Q1 N + Q2 D’ N’
D3 = Q1 D + Q2 D + Q2 N + Q3
OPEN = Q3
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 26
Slide 27
Jedna implementacija detektora ivice
"Ad hoc" rešenje - nije minimalno, ali je jeftino i brzo
X’
X’
10
[0]
X’
00
[0]
X
X
01
[1]
X’
11
[0]
X
X
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 27