You are on page 1of 6

Mašine sa konačnim brojem stanja

1. Projektovati mašinu sa konačnim brojem stanja za sekvencijalnu mrežu kojom se


realizuje funkcija uključenja/isključenja nekog izlaznog uređaja (npr. dioda koja emituje
svjetlost – LED dioda). Mašinu predstaviti odgovarajućim dijagramom stanja.

Rješenje:

Ukoliko taster označimo sa T a izlaz sa LED, mašina stanja kojom se opisuje funkcionalnost
date sekvencijalne mreže se može predstaviti sljedećim dijagramom stanja:

U navedenom dijagramu stanja je uvedena pretpostavka da taster proizvodi logički nizak nivo
kada je pritisnut, dok je u otpuštenom stanju T=1. Izlazni uređaj (LED) je uključen ako je
LED=1, odnosno isključen ako je LED=0. Vrijednost izlaza simbolički se označava u okviru
trenutnog stanja u dijagramu stanja (npr. S0/0 označava da je izlaz u stanju S0 jednak 0).
Prikazana mašina stanja je Murova zato što trenutna vrijednost izlaza zavisi samo od
trenutnog stanja u kojem se mašina nalazi.

2. Projektovati sinhronu sekvencijalnu mrežu kojom se realizuje mašina sa konačnim


brojem stanja sa slike. Na raspolaganju su flip-flopovi D tipa i standardna logička kola.
Smatrati da su izlazi sekvencijalne mreže 0001, 0010, 0100 i 1000 u stanjima S0, S1, S2 i
S3, respektivno. Ulazi mreže su x1 i x0.
Rješenje:

Da bismo realizovali sinhronu sekvencijalnu mrežu opisanu datim dijagramom stanja,


potrebno je prvo da binarno kodujemo stanja u kojima mreža može da se nađe. S obzirom da
imamo četiri stanja, potrebna su najmanje dva bita za kodovanje stanja. Smatraćemo da su
stanja kodovana na način prikazan u sljedećoj tabeli:

Stanje Binarni kod


S0 00
S1 01
S2 10
S3 11

Za projektovanje logike kojom se definiše prelazak u naredno stanje koristimo sljedeću


logičku tabelu (tabela prelaza ili tranziciona tabela):

i Q1 Q0 x1 x0 Q1' Q0'
0 0 0 0 0 0 0
1 0 0 0 1 0 1
2 0 0 1 0 1 1
3 0 0 1 1 X X
4 0 1 0 0 0 1
5 0 1 0 1 1 0
6 0 1 1 0 0 0
7 0 1 1 1 X X
8 1 0 0 0 1 0
9 1 0 0 1 1 1
10 1 0 1 0 0 1
11 1 0 1 1 X X
12 1 1 0 0 1 1
13 1 1 0 1 0 0
14 1 1 1 0 1 0
15 1 1 1 1 X X

Minimizacijom pomoću Karnoove metode, dobijamo funkcije za naredno stanje (Q1' i Q0') u
sljedećem obliku:
D1  Q1  Q1 Q0 x1  Q1Q0 x0  Q1Q0 x0  Q1 Q0 x1 , D0  Q0  Q0 x1 x0  Q0 x0  Q0 x1

Uzimajući u obzir vrijednosti izlaza u svakom stanju mreže kako je dato u zadatku, dobijamo
sljedeće funkcije koje čine logiku za dekodovanje izlaza:

i Q1 Q0 O3 O2 O1 O0
0 0 0 0 0 0 1
1 0 1 0 0 1 0
2 1 0 0 1 0 0
3 1 1 1 0 0 0

O3  Q1Q0 , O2  Q1 Q0 , O1  Q1Q0 , O0  Q1 Q0

3. Projektovati sinhronu sekvencijalnu mrežu koja detektuje ulaznu sekvencu X=1101.


Obezbijediti pravilno detektovanje preklapajućih sekvenci. Sekvencijalnu mrežu
projektovati pomoću flip-flopova D tipa i standardnih logičkih kola ako se koristi:
a) Milijeva mašina sa konačnim brojem stanja
b) Murova mašina sa konačnim brojem stanja.

Rješenje:

Sekvencijalna mreža koju je potrebno projektovati ima ulaz X na koji se serijski sinhrono sa
takt signalom dovodi niz bita (sekvenca). Izlaz Y se postavlja na logički visok nivo kada se
na ulazu X detektuje tražena sekvenca bita.

Primjer dekodovanja sekvence se može ilustrovati na sljedeći način:

X=1010110110111101
Y=0000000100100001

a) Najprije ćemo kreirati dijagram stanja za Milijevu mašinu sa konačnim brojem stanja. S
obzirom da kod ove mašine stanja izlazi mogu da zavise od trenutne vrijednosti ulaza,
dozvoljena je promjena izlaza prilikom tranzicije iz jednog u drugo stanje, pa dijagram stanja
ima ljedeći izgled kao na slici ispod.

Kako imamo ukupno četiri stanja, možemo ih binarno kodovati kao u sljedećoj tabeli:

Stanje Binarni kod


IDLE 00
S1 01
S11 10
S110 11
Kako su na raspolaganju flip-flopovi D tipa, tranziciona tabela ima sljedeći izgled:

i Q1 Q0 X Q1' Q0'
0 0 0 0 0 0
1 0 0 1 0 1
2 0 1 0 0 0
3 0 1 1 1 0
4 1 0 0 1 1
5 1 0 1 1 0
6 1 1 0 0 0
7 1 1 1 0 1

D1  Q1  Q1 Q0  Q1Q0 X , D0  Q0  Q1 Q0 X  Q1 Q0 X  Q1Q0 X

Izlazi kod Milijeve mašine stanja zavise od trenutnog stanja i vrijednosti ulaza, pa se, na
osnovu dijagrama stanja, može formirati sljedeća tabela za dekodovanje izlaza:

i Q1 Q0 X Y
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 0
4 1 0 0 0
5 1 0 1 0
6 1 1 0 0
7 1 1 1 1
Odavde slijedi da je logička funkcija koja realizuje izlaz Y  Q1Q0 X .

b) U drugom slučaju treba realizovati istu mrežu primjenom Murove mašine sa konačnim
brojem stanja. Specifičnost ove mašine stanja se ogleda u tome što izlazi zavise samo od
trenutnog stanja mreže. Ovo znači da je potrebno više stanja za realizaciju mreže. Dijagram
stanja za datu mrežu ima sljedeći izgled:

S obzirom da imamo 5 različitih stanja, najmanji broj bita potreban za kodovanje ovih stanja
je 3, tako da se dobija sljedeća tabela:

Stanje Binarni kod


IDLE 000
S1 001
S11 010
S110 011
S1101 100

U skladu sa datim dijagramom stanja, tabela prelaza će imati sljedeći izgled:

i Q2 Q1 Q0 X Q2' Q1' Q0'


0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1
2 0 0 1 0 0 0 0
3 0 0 1 1 0 1 0
4 0 1 0 0 0 1 1
5 0 1 0 1 0 1 0
6 0 1 1 0 0 0 0
7 0 1 1 1 1 0 0
8 1 0 0 0 0 0 0
9 1 0 0 1 0 1 0
Indeksi funkcija u opsegu 10-15 predstavljaju nebitne kombinacije (zato što stanja mreže koja
se koduju sa 1012-1112 nisu korišćena prilikom kodovanja stanja) koje se mogu predstaviti sa
X u Karnoovoj tablici prilikom minimizacije logičkih funkcija.

Nakon minimizacije, dobijaju se sljedeće logičke funkcije:

D2  Q2  Q1Q0 X
D1  Q1  Q1 Q0  Q2 X  Q1Q0 X
D0  Q0  Q1 Q0 X  Q2 Q1 Q0 X

Funkcija izlaza Y opisana je sljedećom logičkom tabelom:

i Q2 Q1 Q0 Y
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 0
4 1 0 0 1
5 1 0 1 X
6 1 1 0 X
7 1 1 1 X

Minimizacijom se dobija da je logička funkcija za izlaz jednaka Y  Q2 .

You might also like