You are on page 1of 21

7 Sekvencijalna kola

Na Sl. 7-1 je prikazan model sinhronog sekvencijalnog kola. Ova struktura se sastoji iz kombinacione
logike i memorijskih elemenata, u formi niza flip-flopova sa zajedničkim taktnim signalom. Binarna
informacija sadržana u flip-flopovima predstavlja (tekuće) stanje sekvencijalnog kola. Stanje
sekvencijalnog kola se može promeniti samo u trenucima delovanja aktivne ivice taktnog signala. To
znači da je tokom svakog taktnog ciklusa (vremenski period između dve uzastopne aktivne ivice taktnog
signala), sekvencijalno kolo u jednom određenom stanju. U sledećem taktnom ciklusu, kolo može da
zadrži tekuće ili da pređe u neko drugo stanje. Uloga kombinacione logike je da na osnovu tekućeg
stanja i trenutnih vrednosti ulaznih signala generiše sledeće stanje, odnosno binarnu informaciju koja
će biti upisana u flip-flopove prvom sledećom aktivnom ivicom taktnog signala. Druga uloga
kombinacione logike je da generiše izlaze sekvencijalnog kola, koji, kao i sledeće stanje, zavise od
tekućeg stanja i trenutnih ulaza. Treba obratiti pažnju da promene ulaznih signala, koje se dešavaju
tokom taktnog ciklusa, mogu neposredno da utiču na izlaz, ali ne i na tekuće stanje sekvencijalnog kola.
Još jedanput, promena stanja se dešava u trenutku aktivne ivice taktnog signala koja inicira upis u flip-
flopove.

Sledeće
stanje
Ulazi Izlazi
Kombinaciona Tekuće
logika stanje
Flip-flopovi
CLK
taktni
ciklus

Sl. 7-1 Opšti model sinhronog sekvencijalnog kola

Blok dijagram prikazan na Sl. 7-1 predstavlja opšti model sekvencijalnog kola, u koji se uklapaju
standardna sekvencijalna kola, poput pomeračkih registara i brojača. Ovo poglavlje posvećeno je
analizi i sintezi sekvencijalnih kola proizvoljne funkcije. Cilj analize je da se odredi funkcionalno
ponašanje sekvencijalnog kola poznate strukture. Cilj sinteze je da se projektuje sekvencijalno kolo
prema datoj specifikaciji funkcionalnog ponašanja.

7.1 Analiza sekvencijalnih kola

Jednačine stanja i izlaza

Jednačina stanja je logička funkcija koja definiše sledeće stanje sekvencijalnog kola u zavisnosti od
tekućeg stanja i trenutnih vrednosti ulaza. Razmotrimo sekvencijalno kolo prikazano na Sl. 7-2. Ovo
Digitalna elektronika

kolo se sastoji iz dva D flip-flopa, 𝐴 i 𝐵, jednog ulaza 𝑥 i jednog izlaza 𝑦. S obzirom da je sledeće stanje
određeno ulazima flip-flopova, jednačine stanja za kolo sa Sl. 7-2 mogu da se izvedu na osnovu
kombinacione mreže koja pobuđuje ulaze D flip-flopova:
𝐴𝑡+1 = 𝐴𝑡 𝑥𝑡 + 𝐵𝑡 𝑥𝑡
𝐵𝑡+1 = 𝐴̅𝑡 𝑥𝑡

Indeks 𝑡 ukazuje na vrednost odgovarajućeg signala u tekućem, a indeks 𝑡 + 1 na vrednost signala u


sledećem taktnom ciklusu, odnosno na sledeće stanje flip-flopa, tj. ono u koje će flip-flop biti postavljen
nakon delovanja prve sledeće ivice taktnog signala. S obzirom da su sve promenljive u ovim logičkim
izrazima u funkciji tekućeg stanja, indeks 𝑡 možemo izostaviti:
𝐴𝑡+1 = 𝐴𝑥 + 𝐵𝑥
𝐵𝑡+1 = 𝐴̅𝑥

x A
D Q

B
D Q

CLK Q

Sl. 7-2 Primer sekvencijalnog kola

Jednačina izlaza definiše vrednost izlaza sekvencijalnog kola u zavisnosti od tekućeg stanja i trenutnih
ulaza. Za sekvencijalno kolo sa Sl. 7-2, jednačina izlaza glasi:
𝑦𝑡 = (𝐴𝑡 + 𝐵𝑡 )𝑥̅𝑡

Kada odstranimo simbol 𝑡 za tekuće stanje, jednačina izlaza postaje:


𝑦 = (𝐴 + 𝐵)𝑥̅

Tabela stanja

Tabela stanja za sekvencijalno kolo sa Sl. 7-2, prikazana je na Sl. 7-3. Ova tabela se sastoji iz četiri
sekcije: tekuće stanje, ulaz, sledeće stanje i izlaz. U sekciji „tekuće stanje“ navedena su stanja flip-
flopova 𝐴 i 𝐵 u tekućem taktnom ciklusu, 𝑡. U sekciji „ulaz“, za svako tekuće stanje, navedene su obe
vrednosti promenljive 𝑥. Sekcija „sledeće stanje“ sadrži stanja flip-flopova u sledećem taktnom ciklusu,
𝑡 + 1. Vrednosti izlaza 𝑦 u trenutku 𝑡 za sve moguće kombinacije vrednost ulaza i tekućeg stanje
navedene su u sekciji „izlaz“. U tabeli stanja postoji po jedna vrsta za svaku kombinaciju binarnih
vrednosti koje se koriste za predstavljanje ulaza i tekućeg stanja. U konkretnom slučaju, postoji osam

2
9. Sekvencijalna kola

binarnih kombinacija, od 000 do 111, pošto se ulaz predstavlja jednim, a tekuće stanje sa dva bita.
Vrednosti bitova sledećeg stanja se mogu odrediti bilo na osnovu analize logičkog dijagrama ili na
osnovu jednačina stanja. Na primer, sledeće stanje flip-flopa 𝐴 određeno je jednačinom stanja: 𝐴𝑡+1 =
𝐴𝑥 + 𝐵𝑥. To znači da će u koloni 𝐴 sekcije „sledeće stanje“ biti upisano 1 svuda tamo gde je ulaz 𝑥
jednak 1 i bar jedan od bitova tekućeg stanja, 𝐴 ili 𝐵, jednak 1. Slično, sledeće stanje flip-flopa 𝐵 se
izvodi na osnovu jednačine stanja: 𝐵𝑡+1 = 𝐴̅𝑥 i jednako je 1 ako je tekuće stanje flip-flopa 𝐴 jednako 0
i ulaz 𝑥 jednak 1. Kolona za izlaz tabele stanja se popunjava na osnovu jednačine izlaza: 𝑦 = (𝐴 + 𝐵)𝑥̅ .

Tekuće Sledeće
stanje Ulaz stanje Izlaz
A B x A B y
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 0 1
0 1 1 1 1 0
1 0 0 0 0 1
1 0 1 1 0 0
1 1 0 0 0 1
1 1 1 1 0 0
Sl. 7-3 Tabela stanja sekvencijalnog kola sa Sl. 7-2

Tabela stanja bilo kog sekvencijalnog kola sa D flip-flopovima se izvodi primenom iste procedure kao u
prethodnom primeru. U opštem slučaju, sekvencijalnom kolu sa 𝑚 flip-flopova i 𝑛 ulaza odgovara
tabela stanja sa 2𝑚+𝑛 vrsta.

Tabela stanja se ponekada predstavlja u obliku kao na Sl. 7-4. Sada, u tabeli postoje samo tri sekcije:
tekuće stanje, sledeće stanja i izlaz, dok je ulaz pridružen sekcijama sledeće stanje i izlaz. Za svako
tekuće stanje postoje dva moguća sledeća stanja i dva izlaza, u zavisnosti od vrednosti ulaza.

Sledeće
Tekuće stanje Izlaz
stanje x=0 x=1 x=0 x=1
A B A B A B y y
0 0 0 0 0 1 0 0
0 1 0 0 1 1 1 0
1 0 0 0 1 0 1 0
1 1 0 0 1 0 1 0
Sl. 7-4 Alternativni oblik tabele stanja
Dijagram stanja

Informacija sadržana u tabeli stanja može se predstaviti grafički u obliku dijagrama stanja. U ovom
dijagramu, stanja su predstavljena krugovima (čvorovima), a prelazi između stanja usmerenim linijama
(strelicama) koje povezuju krugove. Dijagram stanja sekvencijalnog kola sa Sl. 7-2 prikazan je na Sl. 7-5.
Binarni broj unutar svakog čvora ukazuje na stanje flip-flopova. Strelice su označene sa dva binarna
broja razdvojena kosom crtom. Prvi broj odgovara ulaznoj vrednosti tokom tekućeg stanja, a drugi
odgovara izlaznoj vrednosti tokom tekućeg stanja za dati ulaz. (Bitno je zapamtiti da izlazna bit-
vrednost, navedena na strelici, nije ni u kakvoj vezi sa prelazom u sledeće stanje, već se pojavljuje
tokom tekućeg stanja pod pretpostavkom da je na ulazu prisutna naznačena vrednost.) Na primer,
strelica iz stanja 00 u stanje 01 je označena sa 1/0. Ovo znači da u stanju 00 i pri ulazu 1, sekvencijalno
kolo na izlazu generiše 0 i da, nakon sledeće aktivne ivice takta, kolo prelazi u stanje 01. Ako se ulaz

3
Digitalna elektronika

promeni na 0, tada izlaz postaje 1; inače, ako ulaz zadrži vrednost 1, izlaz ostaje 0. Strelica koja
povezuje stanje sa samim sobom, tzv. petlja, odgovara uslovu pri kome ne dolazi do promene stanja.
0/0 1/0
00 0/1 01

0/1
0/1 1/0 1/0

1/0
10 11

1/0

Sl. 7-5 Dijagram stanja sekvencijalnog kola sa Sl. 7-2

Osim u načinu reprezentacije, između tabele stanje i dijagrama stanje ne postoji neka druga razlika.
Tabelu stanje je lakše izvesti na osnovu datog logičkog dijagrama ili jednačina stanja i izlaza. Dijagram
stanja direktno sledi na osnovu tabele stanja. Dijagram stanja daje vizuelnu reprezentacije prelaza
između stanja i zbog toga je pogodniji za interpretaciju funkcionalnog ponašanja sekvencijalnog kola.
Na primer, dijagram stanja sa Sl. 7-5 jasno pokazuje da polazeći iz stanja 00, izlaz ostaje 0 sve dok je
vrednost ulaza 1. Prva 0 nakon početnog niza 1-ca, postavlja izlaz na 1 i vraća kolo nazad u početno
stanje 00 . Dakle, funkcija sekvencijalnog kola sa Sl. 7-2 je da detektuje pojavu 0 nakon bar tri
uzastopne 1-ce u ulaznom binarnom nizu.

Jednačine pobude flip-flopova


Sekvencijalno kolo sadrži logička kola i flip-flopove. Logička kola formiraju kombinacionu mrežu, koja
generiše izlazne signale i signale za pobudu flip-flopova. Funkcija dela kombinacione mreže koji
generiše izlaze predstavlja se jednačinama izlaza (poput logičke funkcije za izlaz 𝑦 iz prethodnog
primera). Deo kombinacione mreže koji generiše pobudne signale flip-flopova algebarski se predstavlja
jednačinama pobude. Na primer, jednačine pobude sekvencijalnog kola sa Sl. 7-2 su:
𝐷𝐴 = 𝐴𝑥 + 𝐵𝑥
𝐷𝐵 = 𝐴̅𝑥
U oznakama 𝐷𝐴 i 𝐷𝐵 , „D“ ukazuje na tip flip-flopa, a indeks, 𝐴 i 𝐵, ukazuje na oznaku flip-flopa u
logičkom dijagramu. Treba uočiti da su u ovom promeru jednačine pobude identične jednačinama
stanja. To je zato što karakteristična jednačina D flip-flopa izjednačuje sledeće stanje sa ulazom 𝐷 flip-
flopa: 𝑄𝑡+1 = 𝐷. Zajedno, jednačine izlaza i jednačine pobude u potpunosti, na algebarski način,
opisuju kombinacionu mrežu sekvencijalnog kola.

Primer 7-1 Nacrtati logički dijagram, popuniti tabelu stanja i nacrtati dijagram stanja sekvencijalnog kola za
koje važi jednačina pobude: 𝑫𝑨 = 𝑨 ⊕ 𝒙 ⊕ 𝒚.
Rešenje: Pošto je data samo jedna jednačina pobude, sekvencijalno kolo ima samo jedan flip-flop. Simbol 𝐷𝐴
ukazuje na D flip-flop sa izlazom 𝐴. Promenljive 𝑥 i 𝑦 su ulazi ovog sekvencijalnog kola. S obzirom da jednačine
izlaza nisu date, usvaja se da su izlazi flip-flopova ujedno i izlazi ovog sekvencijalnog kola. Na Sl. 7-6(a) je
prikazan logički dijagram koji sledi na osnovu date jednačine pobude.

Tabela stanja ima jednu kolonu za tekuće stanje flip-flopa 𝐴, dve kolone za dva ulaza i jednu kolonu za sledeće
stanje flip-flopa 𝐴 (Sl. 7-6(b)). Vrednosti u koloni za sledeće stanje dobijene su na osnovu jednačine stanja:

4
9. Sekvencijalna kola

𝐴𝑡+1 = 𝐴 ⊕ 𝑥 ⊕ 𝑦
Sekvencijalno kolo ima jedan flip-flop i dva stanja. Dijagram stanja sadrži dva čvora, za svako stanje po jedan i
prikazan je na Sl. 7-6(c). Tekuće stanje i izlaz mogu imati vrednost 0 ili 1, kao što je to naznačeno binarnim
vrednostima unutar čvorova. Kosa crta na strelicama nije potrebna budući da ovo kolo, osim izlaza flip-flopova,
ne poseduje dodatne izlaze. U svakom stanju, moguće su četiri kombinacije vrednosti dva ulaza. Kombinacije
koje dovode do istog prelaza razdvojene su zarezom.

Tekuće Sledeće
stanje Ulazi stanje
A x y A
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
00, 11 00, 11
1 0 0 1 01, 10
x D Q A
y 1 0 1 0
1 1 0 0 0 1
CLK Q 01, 10
1 1 1 1
(a) (b) (c)
Sl. 7-6 Sekvencijalno kolo sa jednim D flip-flopom

Analiza sekvencijalnih kola sa JK flip-flopovima


Tabela stanja sadrži četiri sekcije: tekuće stanje, ulazi, sledeće stanje i izlazi. Prve dve sekcije se
popunjavaju svim binarnim kombinacijama. Sadržaj sekcije izlaza se određuje na osnovu jednačina
izlaza, a sekcije “sledeće stanje“ na osnovu jednačina stanja. Za D flip-flop, jednačina stanja je identična
jednačini pobude. Međutim, ako sekvencijalno kolo sadrži flip-flopove nekog drugo tipa, kao npr. JK ili
T, prilikom određivanja sledećeg stanja neophodno je uzeti u obzir karakterističnu jednačinu ili
karakterističnu tabelu odgovarajućeg flip-flopa.

J Q A

x K Q

J Q B

K Q

CLK

Sl. 7-7 Sekvencijalno kolo sa JK flip-flopovima

Primera radi, razmotrimo sekvencijalno kolo prikazano na Sl. 7-7, koje sadrži dva JK flip-flopa, 𝐴 i 𝐵, i
ima jedan ulaz 𝑥. Ovo kolo nema izlaze, što znači da će izlazna sekcija biti izostavljena u tabeli stanja.
(U ovakvim slučajevima, izlazima sekvencijalnog kola se mogu smatrati izlazi flip-flopova.) Jednačine
pobude datog kola su:
𝐽𝐴 = 𝐵 𝐾𝐴 = 𝐵𝑥̅
𝐽𝐵 = 𝑥̅ 𝐾𝐵 = 𝐴⨁𝑥 = 𝐴̅𝑥 + 𝐴𝑥̅

5
Digitalna elektronika

Odgovarajuća tabela stanja je prikazana na Sl. 7-8(a). Sekcije za tekuće stanje i ulaze, zajedno, sadrže
osam binarnih kombinacija. Sekcija „ulazi flip-flopa“ nije deo tabele stanja, ali je potrebna radi
određivanja sledećeg stanja. Binarne vrednosti u ovoj sekciji su dobijene direktno na osnovu jednačina
pobude datog sekvencijalnog kola. Za svako tekuće stanje, sledeća stanja flip-flopova su određena na
osnovu vrednosti 𝐽 i 𝐾 ulaza i karakteristične tabele JK flip-flopa, koja je prikazana na Sl. 7-8(b). Pri
tome, postoje četiri slučaja. Ako je 𝐽 = 1 i 𝐾 = 0, sledeće stanje je 1. Ako je 𝐽 = 0 i 𝐾 = 1, sledeće
stanje je 0. Pri 𝐽 = 𝐾 = 0, nema promene stanja i sledeće stanje je identično tekućem stanju. Ako je
𝐽 = 𝐾 = 1 , bit sledećeg stanja je komplement odgovarajućeg bita tekućeg stanja. Primeri dva
poslednja slučaja pojavljuju se u tabeli kada je tekuće stanje, 𝐴𝐵, 10 i ulaz 𝑥 jednak 0. Tekuće stanje
flip-flopa 𝐴 je 1, a njegova oba ulaza, 𝐽𝐴 i 𝐾𝐴 , su jednaka 0. Zbog toga, sledeće stanje flip-flopa 𝐴 ostaje
nepromenjeno. U istoj vrsti tabele stanja, 𝐽𝐵 i 𝐾𝐵 su oba jednaka 1. S obzirom da je tekuće stanje flip-
flopa 𝐵 jednako 0, njegovo sledeće stanje se menja na 1.

Tekuće Sledeće
stanje Ulaz stanje Ulazi flip-flopova
A B x A B JA KA JB KB
0 0 0 0 1 0 0 1 0
0 0 1 0 0 0 0 0 1
0 1 0 1 1 1 1 1 0
0 1 1 1 0 1 0 0 1 J K Qt+1
1 0 0 1 1 0 0 1 1 0 0 Qt
1 0 1 1 0 0 0 0 0 0 1 0
1 1 0 0 0 1 1 1 1 1 0 1
1 1 1 1 1 1 0 0 0 1 1 ̅𝑡
Q
(a) (b)
Sl. 7-8 (a) tabela stanja sekvencijalnog kola sa Sl. 7-7; (b) karakteristična tabela JK flip-flopa

Vrednosti za sledeće stanje u tabeli stanja se takođe mogu odrediti na osnovu jednačina stanja
sekvencijalnog kola i karakteristične jednačine flip-flopa, na sledeći način. Karakteristična jednačina JK
flip-flopa je:
𝑄𝑡+1 = 𝐽 ∙ 𝑄̅𝑡 + 𝐾
̅ ∙ 𝑄𝑡

Karakteristične jednačine flip-flopova u sekvencijalnom kolu sa Sl. 7-7 dobijamo zamenom oznake 𝑄
imenima flip-flopova, 𝐴 i 𝐵:
𝐴𝑡+1 = 𝐽𝐴̅ + 𝐾
̅𝐴

𝐵𝑡+1 = 𝐽𝐵̅ + 𝐾
̅𝐵

Jednačine stanja dobijamo kada promenljive 𝐽 i 𝐾 u karakterističnim jednačinama zamenom


jednačinama pobude flip-flopova, 𝐽𝐴 i 𝐾𝐴 :
𝐴𝑡+1 = 𝐵𝐴̅ + ̅̅̅̅
𝐵𝑥̅ 𝐴 = 𝐴̅𝐵 + 𝐴𝐵̅ + 𝐴𝑥
̅̅̅̅̅̅ )𝐵 = 𝐵̅𝑥̅ + 𝐴𝐵𝑥 + 𝐴̅𝐵𝑥̅
𝐵𝑡+1 = 𝑥̅ 𝐵̅ + (𝐴⨁𝑥
Jednačine stanja definišu bit-vrednosti za kolone 𝐴 i 𝐵 u sekciji „Sledeće stanje“ tabele stanja. Ako se
sledeće stanje određuje na osnovu jednačina stanja, tada sekcija „Ulazi flip-flopova“ u tabeli sa Sl. 7-8
nije potrebna.

6
9. Sekvencijalna kola

1 1
0
00 11

0 0 0

01 1 10

Sl. 7-9 Dijagram stanja sekvencijalnog kola sa Sl. 7-7

Na Sl. 7-9 je prikazan dijagram stanja sekvencijalnog kola sa Sl. 7-7. S obzirom da ovo kolo, osim izlaza
flip-flopova, nema druge izlaze, strelice su označene samo jednom binarnom konstantom koja
predstavlja vrednost ulaza 𝑥.

Analiza sekvencijalnih kola sa T flip-flopovima

Analiza sekvencijalnih kola, koja su realizovana pomoću T flip-flopova, sprovodi se primenom iste
procedure kao za sekvencijalna kola sa JK flip-flopovima. Bit-vrednosti u sekciji za sledeće stanje tabele
stanja se mogu odrediti na osnovu karakteristične tabele T flip-flopa ili na osnovu karakteristične
jednačine T flip-flopa:
𝑄𝑡+1 = 𝑇 ⊕ 𝑄 = 𝑇̅𝑄 + 𝑇𝑄̅

Razmotrimo sekvencijalno kolo prikazano na Sl. 7-10(a), koje sadrži dva flip-flopa, 𝐴 i 𝐵, i ima jedan
ulaz 𝑥 i jedan izlaz 𝑦. Ovo kolo se može algebarski opisati pomoću dve jednačine pobude i jedne
jednačine izlaza:
𝑇𝐴 = 𝐵𝑥
𝑇𝐵 = 𝑥
𝑦 = 𝐴𝐵
Odgovarajuća tabela stanja prikazana je na Sl. 7-10(b). Vrednosti za 𝑦 su dobijene na osnovu jednačine
izlaza. Vrednosti za sledeće stanje, 𝐴 i 𝐵, se mogu izvesti na osnovu jednačina stanja koje se dobijaju
zamenom jednačina pobude, 𝑇𝐴 i 𝑇𝐵 , u karakteristične jednačine T flip-flopova:
̅̅̅̅ )𝐴 + (𝐵𝑥)𝐴̅ = 𝐴𝐵̅ + 𝐴𝑥̅ + 𝐴̅𝐵𝑥
𝐴𝑡+1 = (𝐵𝑥
𝐵𝑡+1 = 𝑥 ⊕ 𝐵

Na Sl. 7-10(c) je prikazan dijagram stanja ovog sekvencijalnog kola. Sve dok je ulaz 𝑥 jednak 1, kolo se
ponaša kao binarni brojač sa sekvencom stanja 00, 01, 10, 11, a onda ponovo 00 itd. Kada je 𝑥 = 0,
kolo ostaje u istom stanju. Izlaz 𝑦 je jedak 1 kada je tekuće stanje 11. Treba uočiti da kod ovog kola
izlaz zavisi samo od tekućeg stanja, ali ne i od ulaza. Dve binarne vrednosti razdvojene kosom crtom
unutar svakog stanja predstavljaju tekuće stanje i izlaz.

Takođe, treba uočiti da sekvencijalno kolo sa Sl. 7-10(a) poseduje signal asinhronog resetovanja, 𝑅𝑆𝑇.
Nizak logički nivo na ulazu 𝑅𝑆𝑇 resetuje oba flip-flopa, odnosno forsirano postavlja kolo u stanje 00.
Ova činjenica je naglašena u dijagramu stanja strelicom sa oznakom 𝑅𝑆𝑇 koja ukazuje na stanje 00.

7
Digitalna elektronika

x A
T Q
y
Tekuće Sledeće
Rd
stanje Ulaz stanje Izlaz
A B x A B y
0 0 0 0 0 0
B
0 0 1 0 1 0
T Q 0 1 0 0 1 0
0 1 1 1 0 0
Rd 1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 1 1
CLK RST 1 1 1 0 0 1
(a) (b)
0 0

RST 1
00/0 01/0

1 1

11/1 1 10/0

0 0
(c)
Sl. 7-10 Sekvencijalno kolo sa T flip-flopovima (binarni brojač); (a) logički dijagram; (b) tabela stanja; (c)
dijagram stanja

Konačni automati Milijevog i Murovog tipa

Opšti model sekvencijalnog kola sadrži ulaze, izlaze i stanja. Uobičajeno je da se pravi razlika između
dve varijante ovog modela: Milijev model i Murov model (Sl. 7-11). Ova dva modela se razlikuju po
tome kako se generiše izlaz. Kod Milijevog modela, izlaz je funkcija tekućeg stanja i ulaza, dok je kod
Murovog modela izlaz funkcija samo tekućeg stanja. Sekvencijalno kolo može imati oba tipa izlaza. Za
ova dva modela se često koristi pojam konačni automat, ili skraćeno FSM (od Finite State Machine).
Tako za Milijev model sekvencijalnog kola se kaže da predstavlja Milijev konačni automat, ili Milijev
FSM, dok se za Murov model koristi izraz Murov konačni automat, ili Murov FSM.

Ulazi
Logika sledećeg Registar Logika Izlazi
stanja stanja izlaza (Milijevog tipa)

CLK
(a)

8
9. Sekvencijalna kola

Ulazi
Logika sledećeg Registar Logika Izlazi
stanja stanja izlaza (Murovog tipa)

CLK
(b)
Sl. 7-11 Blok dijagram (a) Milijevog, (b) Murovog konačnog automata. Napomena: blokovi Logika sledećeg
stanja i Logika izlaza su kombinacione mreže; blok Registar stanja obuhvata flip-flopove sa zajedničkim taktnim
signalom

Sekvencijalno kolo sa Sl. 7-2 je primer Milijevog konačnog automata. Izlaz 𝑦 ovog kola je funkcija ulaza
𝑥 i tekućeg stanja, 𝐴 i 𝐵. U odgovarajućem dijagramu stanja sa Sl. 7-5, na strelicama koje povezuju
stanja, prikazane su i ulazne i izlazne vrednosti, razdvojene kosom crtom.

Sekvencijalno kolo prikazano na Sl. 7-7 je primer Murovog konačnog automata. U ovom slučaju, izlaz
je funkcija samo tekućeg stanja. Na strelicama odgovarajućeg dijagrama stanja (Sl. 7-9) naznačeni su
samo ulazi. Kod ovog sekvencijalnog kola, izlazi su podudarni sa izlazima flip-flopova, odnosno identični
su tekućem stanju i zbog toga nisu eksplicitno navedeni u dijagramu stanja. Sekvencijalno kolo sa Sl.
7-10(a) je još jedan primer Murovog konačnog automata. Kod ovog kola, izlazi zavise isključivo od
vrednosti na izlazima flip-flopova, odnosno od tekućeg stanja. U odgovarajućem dijagramu stanja (Sl.
7-10(c)), ulazne vrednosti su pridruženi strelicama, dok su izlazne vrednosti pridružene stanjima.

Kod Murovog modela, izlazi sekvencijalnog kola su sinhronizovani sa taktnim signalom. To je zato što
izlazi zavise isključivo od izlaza flip-flopova, koji svoje stanje menjaju sinhronizovano sa taktom. Kod
Milijevog modela, izlaz se može promeniti ako se ulaz promeni tokom trajanja taktnog ciklusa.

7.2 Sinteza sekvencijalnih kola

Analiza sekvencijalnog kola počinje od logičkog dijagrama i završava se tabelom stanja ili dijagramom
stanja. Cilj analize je otkrivanje funkcije sekvencijalnog kola poznate strukture. Sinteza sekvencijalnog
kola je, u suštini, suprotan proces, koji počinje od specifikacije i završava se logičkim dijagramom. Cilj
sinteze je projektovanje strukture sekvencijalnog kola zadate funkcije.

U ovoj sekciji biće predstavljen postupak projektovanja sekvencijalnih kola na bazi D, JK i T flip-flopova.
Ovim postupkom se mogu ručno projektovati jednostavna sekvencijalna kola. Složena sekvencijalna
kola (tj. kola sa velikim brojem stanja, ulaza i izlaza) projektuju se primenom softverskih alata za
automatsko projektovanje. Zadatak projektanta je da formalno opiše funkciju sekvencijalnog kola, dok
je zadatak softverskog alata da generiše strukturu sekvencijalnog kola prema zadatoj specifikaciji.
Specifikacija definiše ulaze, izlaze, stanja i prelaze između stanja i zadaje se u obliku programa koji se
piše u jeziku za opis hardvera (HDL – Hardware Description Language) 1 . Pri tome, projektant nije
opterećen detaljima poput izbora tipa flip-flopa i kodiranja stanja.

Prvi korak u postupku projektovanja sekvencijalnog kola je kreiranje tabele stanja, ili dijagrama stanja,
na osnovu funkcionalne specifikacije. Sekvencijalna kola se realizuju pomoću flip-flopova i logičkih kola.
Projektovanje počinje izborom tip flip-flopova, a onda se nastavlja izvođenje logičkih izraza za

1
Dva široko korišćena jezika za opis hardvera su: VHDL i Verilog.

9
Digitalna elektronika

kombinacione blokove koji će zajedno sa flip-flopovima realizovati zadato sekvencijalno ponašanje.


Broj flip-flopova je određen brojem stanja i izabranim načinom kodiranja stanja. Kombinacioni blokovi
se projektuju na osnovu jednačina pobude flip-flopova i jednačina izlaza koje se izvode na osnovu
tabele stanja. U suštini, nakon što je određen broj i tip flip-flopova, problem projektovanja
sekvencijalnog kola se svodi na problem projektovanja kombinacionog kola.

Procedura projektovanja sekvencijalnih kola obuhvata sledeće korake:

1. Prevođenje funkcionalne specifikacije (koja je tipično dostupna u tekstualnom obliku) u


dijagram stanja.
2. Redukovanje broja stanja (ukoliko je neophodno)
3. Kodiranje stanja (tj. pridruživanje jedinstvenog binarnog kôda svakom stanju)
4. Kreiranje tabele stanja
5. Izbor tipa flip-flopova
6. Izvođenje jednačina pobude flip-flopova i jednačina izlaza
7. Crtanje logičkog dijagrama

Prevođenje specifikacije u dijagram stanja

Prevođenje funkcionalne specifikacije u dijagram stanja je kritičan korak u postupku projektovanja. Za


razliku od ostalih koraka, koji se sprovode primenom šablonizovanih postupaka, izvođenje (crtanje)
dijagrama stanja na osnovu neformalnog (a često i nepreciznog i nekompletnog) tekstualnog opisa
funkcije sekvencijalnog kola zahteva iskustvo i intuiciju projektanta.

Pretpostavimo da je potrebno projektovati sekvencijalno kolo za detekciju niza od tri ili više uzastopnih
1-ca u nizu bitova koji pristižu preko ulazne linije. Dijagram stanja ovog sekvencijalnog kola je prikazan
na Sl. 7-12. Dijagram je nacrtan stanje po stanje, počev od stanja 𝑆0 , koje odgovara početnom, odnosno
resetovanom stanju ovog kola. Sve dok su na ulazu nule, kolo ostaje u stanju 𝑆0 . Pristizanje prve 1-ce
vodi kolo u stanje 𝑆1 . Ako je sledeći ulazni bit jednak 1, kolo prelazi u stanje 𝑆2 , što ukazuje da su
primljene dve uzastopne 1-ce. Međutim, ako je sledeći bit 0, kolo se vreća u stanje 𝑆0 , kako bi se
prebrojavanje uzastopnih jedinica vratilo na početak. Treća uzastopna 1-ca vodi kolo u stanje 𝑆3 . Ako i
dalje pristižu 1-ce, kolo ostaje u stanju 𝑆3 ; prijem prve 0 vraća kolo u stanje 𝑆0 . Na ovaj način, kolo
ostaje u stanju 𝑆3 sve dok su primljene tri ili više 1-ca. Dijagram stanja sa Sl. 7-12 odgovara Murovom
konačnom automatu, s obzirom da izlaz zavisi samo od tekućeg stanja: izlaz ima vrednost 1 kada je
kolo u stanju 𝑆3 i vrednost 0 u svim ostalim stanjima.

0 0
1
S0/0 S1/0

0
0 1

S3/1 1 S2/0

Sl. 7-12 Dijagram stanja detektora sekvence

10
9. Sekvencijalna kola

Kodiranje stanja
Cilj kodiranja stanja je dodela jedinstvenih binarnih kodnih reči stanjima sekvencijalnog kola. Za kolo
sa 𝑚 stanja, dužina kodnih reči je 𝑛 bita, gde važi 2𝑛 ≥ 𝑚. Na primer, sa tri bita moguće je kodirati
osam stanja, tako što će svakom stanju biti pridružena jedna od binarnih kombinacija od 000 do 111.
Ukoliko sekvencijalno kolo ima npr. sedam stanja, ponovo je potrebno tri bita za formiranje kodnih
reči, pri čemu će jedna binarna kombinacija ostati neiskorišćena.
Osim ograničenja da svako stanje mora da dobije jedinstvenu kodnu reč, ne postoje nikakvi dodatni
striktni zahtevi koji nameću kom stanju će biti dodeljena koja binarna kombinacija. Takođe, u
slučajevima kada je broj raspoloživih binarnih kombinacija veći od broja stanja, ne postoji striktno
ograničenja koje nameće izbor određenog podskupa binarnih kombinacija. Na primer, za kodiranje pet
stanja, kao npr. u dijagramu stanja sa Sl. 7-13(a), najjednostavnije je uzeti prvih pet trobitnih binarnih
kombinacija, 000 do 100, kao što je to prikazano u koloni „Dodela 1“ u tabeli na Sl. 7-13(b). Ovakav
način kodiranja nosi naziv binarno kodiranje. Još jedna slična dodela je ona kod koje je redosled po
kome se biraju kodne reči određen Grejovim kodom, kao u koloni „Dodela 2“ u tabeli sa Sl. 7-13(b).
Ako se kodne reči susednih stanja, odnosno stanja koja su povezana strelicom u dijagramu stanja,
razlikuju na samo jednoj bit poziciji, logička funkcija koja reguliše ovaj prenos će, po pravilu, biti
jednostavnija nego kada se prilikom promene stanja menja više bita. Još jedan, često korišćeni način
kodiranja stanja je tzv. „one-hot“ kodiranje (kolona „Dodela 3“ u tabeli sa Sl. 7-13(b)). U ovom slučaju,
za kodiranje se koristi onoliko bitova koliko ima stanja u dijagramu stanja. Pri tome, validne kodne reči
su one koje sadrže samo jedno 1. Konkretno stanje je predstavljeno pozicijom 1-ce u kodnoj reči.
Nedostatak „one-hot“ kodiranja je upotreba velikog broja flip-flopova. Prednost je u tome što ovakav
način kodiranja stanja obično rezultuje u jednostavnoj kombinacionoj logici.
0/0

0/0 0/0
1/0

0/0 Dodela 1 Dodela 2 Dodela 3


e b c
1/1 Stanje Binarno Grejov kod One-hot
1/0 a 000 000 00001
0/0 1/0 b 001 001 00010
c 010 011 00100
d
d 011 010 01000
1/1 e 100 110 10000
(a) (b)
Sl. 7-13 Kodiranje stanja sekvencijalnog kola: (a) dijagram stanja, (b) alternativna kodiranja

Redukovanje broja stanja (minimizacija dijagrama stanja)


Dva sekvencijalna kola mogu da ispolje identično ulazno-izlazno ponašanje iako imaju različiti broj
stanja. Zadatak drugog koraka u postupku projektovanja sekvencijalnog kola je da se polazni dijagram
stanja pojednostavi izbacivanjem redundatnih stanja ili zamenom dva ili više stanja jednim stanjem, ali
tako da reakcija na ulaznu pobudu ostane ista. Manji broj stanja znači upotrebu manjeg broja flip-
flopova, pa time i manjeg broja logičkih kola. U detaljnoj proceduri projektovanja koja će biti
predstavljena u nastavku, korak 2 će biti izostavljen. Razlog za to je što se mogućnosti za redukciju
stanja retko pojavljuju u dijagramima stanja sa malim brojem stanja koji su ručno izvedeni na osnovu
funkcionalne specifikacije.

11
Digitalna elektronika

Sinteza na bazi D flip-flopova

Nakon što je na osnovu specifikacije sekvencijalnog kola nacrtan dijagram stanja, projektovanje u
koracima 4 – 7 se nastavlja primenom šablonizovanih postupaka. Postupak sinteze donekle zavisi od
tipa flip-flopova. Prvo će biti predstavljen postupak sinteze na bazi D flip-flopova.

Tekuće Sledeće
stanje Ulaz stanje Izlaz
A B x A B y
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 0 0
0 1 1 1 0 0
1 0 0 0 0 0
1 0 1 1 1 0
1 1 0 0 0 1
1 1 1 1 1 1
Sl. 7-14 Tabela stanja detektora sekvence

Na osnovu dijagram stanja potrebno je kreirati tabelu stanja, što podrazumeva i dodelu binarnih
kodova stanjima. Na Sl. 7-14 je prikazana tabela stanja izvedena na osnovu dijagrama stanja detektora
sekvence sa Sl. 7-12. Upotrebljeno je binarno kodiranje, tako što su stanjima 𝑆0 , 𝑆1 , 𝑆2 i 𝑆3 redom
dodeljene kodne reči 00, 01, 10 i 11. Za čuvanje informacije o stanju potrebna su dva D flip-flopa, čiji
su izlazi obeleženi sa 𝐴 i 𝐵. Ovo kolo ima jedna ulaz, 𝑥, i jedan izlaz 𝑦. S obzirom na karakterističnu
jednačinu D flip-flopa: 𝑄𝑡+1 = 𝐷, vrednosti u sekciji „Sledeće stanje“ identične su vrednostima na
ulazima dva D flip-flopa. Pobudne jednačine flip-flopova, u obliku skupa decimalnih indeksa, mogu se
izvesti direktno na osnovu kolona 𝐴 i 𝐵 u sekciji „Sledeće stanje“:
𝐴𝑡+1 = 𝐷𝐴 (𝐴, 𝐵, 𝑥) = ∑ 𝑚(3,5,7)
𝐵𝑡+1 = 𝐷𝐵 (𝐴, 𝐵, 𝑥) = ∑ 𝑚(1,5,7)
𝑦(𝐴, 𝐵, 𝑥) = ∑ 𝑚(6,7)

Mintermi za jednačinu izlaza su dobijeni na osnovu kolone izlaza u tabeli stanja. Primenom Karnoovih
mapa (Sl. 7-15(a)), dolazimo do pojednostavljenih logičkih izraza:
𝐷𝐴 = 𝐴𝑥 + 𝐵𝑥
𝐷𝐵 = 𝐴𝑥 + 𝐵̅𝑥
𝑦 = 𝐴𝐵

Na Sl. 7-15(b) je prikazan logički dijagram detektora sekvence.

12
9. Sekvencijalna kola

DA:
Bx
A 00 01 11 10
0 1

1 1 1

D B: x A
Bx D Q
A 00 01 11 10
0 1

1 1 1 y
y:
Bx B
A 00 01 11 10 D Q
0
CLK Q
1 1 1

(a) (b)
Sl. 7-15 Sinteza detektora sekvence: (a) Karnoove mape jednačina pobude i izlazne jednačine; (b) logički
dijagram

Sinteza na bazi JK flip-flopova


Kada se sekvencijalno kolo projektuje na bazi D flip-flopova, pobudne jednačine flip-flopova se izvode
neposredno na osnovu sekcije za sledeće stanje u tabeli stanja. Projektovanje sekvencijalnog kola na
bazi JK i T flip-flopova je nešto složenije, jer je za određivanje jednačina pobude potrebno osim tabele
stanja koristiti i tabelu pobude odgovarajućeg tipa flip-flopa.
Na Sl. 7-16(a) je prikazana karakteristična tabela JK flip-flopa. Ova tabela definiše sledeće stanje flip-
flopa na osnovu tekućeg stanja i datih vrednosti funkcionalnih ulaza. Karakteristična tabela je korisna
prilikom analize sekvencijalnog kola. Međutim, tokom sinteze, prelazi između stanja su poznati, a ono
što treba odrediti jesu vrednosti funkcionalnih ulaza flip-flopova pri kojima dolazi do odgovarajućeg
prelaza. Iz tog razloga, potrebna je tabela koja definiše vrednosti ulaza za datu promenu stanja. Jedna
ovakva tabela se zove tabela pobude flip-flopa. Na Sl. 7-16(b) je prikazana tabela pobude JK flip-flopa,
uz napomenu da smo ovu tabelu već koristili prilikom projektovanja brojača na bazi JK flip-flopova.

J K Qt+1 Qt Qt+1 J K
0 0 Qt 0 0 0 X
0 1 0 0 1 1 X
1 0 1 1 0 X 1
1 1 ̅𝑡
Q 1 1 X 0
(a) (b)
Sl. 7-16 (a) karakteristična tabela JK flip-flopa; (b) tabela pobude JK flip-flopa

Postupak sinteze sekvencijalnog kola na bazi JK flip-flopova je isti kao na bazi D flip-flopova, s tom
razlikom što se pobudne jednačine određuju iz tabele pobude JK flip-flopa na osnovu prelaza tekuće-
sledeće stanje iz tabele stanja. Ovaj postupak će biti predstavljen na primeru sinteze sekvencijalnog
kola na osnovu tabele stanja koja je prikazana na Sl. 7-17. Ova tabela, zapravo, objedinjuje tabelu stanja
i sekciju za funkcionalne ulaze flip-flopova na osnovu koje se izvode jednačine pobude. Na primer, u
prvoj vrsti tabele sa Sl. 7-17 navedeno je da flip-flop 𝐴 prelazi iz tekućeg stanja 0 u sledeće stanje 0. U
tabeli pobude JK flip-flopa (Sl. 7-16(b)), ovom prelazu odgovara 𝐽𝐴 = 0 i 𝐾𝐴 = 𝑋. Dakle, u prvu vrstu
sekcije za ulaze flip-flopa 𝐽𝐴 i 𝐾𝐴 treba upisati 0 i 𝑋. Takođe, u prvoj vrsti, navedeno je da i flip-flop 𝐵

13
Digitalna elektronika

prelazi iz tekućeg stanja 0 u sledeće stanje 0. Zbog toga je sadržaj kolona 𝐽𝐵 i 𝐾𝐵 u sekciji za ulaze flip-
flopova takođe 0 i 𝑋. U drugoj vrsti tabele stanja, flip-flopu 𝐵 odgovara prelaz iz 0 u 1. U tabeli pobude
JK flip-flopa vidimo da za ovaj prelaz treba postaviti ulaz 𝐽 na 1 i bilo koju vrednost na ulazu 𝐾. Zbog
toga je u drugoj vrsti sekciji za ulaze flip-flopova postavljeno 𝐽𝐵 = 1 i 𝐾𝐵 = 𝑋 . Ovaj postupak se
ponavlja za svaku vrstu u tabeli stanja i svaki flip-flop.

Tekuće Sledeće
stanje Ulaz stanje Ulazi flip-flopova
A B x A B JA KA JB KB
0 0 0 0 0 0 X 0 X
0 0 1 0 1 0 X 1 X
0 1 0 1 0 1 X X 1
0 1 1 0 1 0 X X 0
1 0 0 1 0 X 0 0 X
1 0 1 1 1 X 0 1 X
1 1 0 1 1 X 0 X 0
1 1 1 0 0 X 1 X 1
Sl. 7-17 Tabela stanja proširena sekcijom za ulaze JK flip-flopova

Kolone u sekciji za ulaze flip-flopova sadrže vektore istinitosti pobudnih jednačina JK flip-flopa 𝐴 i 𝐵 u
funkciji tekućeg stanja, 𝐴 i 𝐵, i ulaza 𝑥. Do logičkih izraza pobudnih jednačina dolazimo rešavanjem
Karnoovih mapa (Sl. 7-18(a)). Logički dijagram sekvencijalnog kola prikazan je na Sl. 7-18(b).

JA:
Bx
A 00 01 11 10
0 1

1 X X X X

JA = Bx
KA:
Bx
A 00 01 11 10
0 X X X X

1 1

KA = Bx
JB:
Bx
A 00 01 11 10
0 1 X X

1 1 X X x Q A
J

JB = x K Q
KB:
Bx
A 00 01 11 10
0 X X 1 J Q B

1 X X 1 K Q

KB = A x CLK
(a) (b)
Sl. 7-18 Sinteza sekvencijalnog kola na osnovu tabele stanja sa Sl. 7-17: (a) Karnoove mape; (b) logički dijagram

14
9. Sekvencijalna kola

Sinteza na bazi T flip-flopova

Postupak sinteze sekvencijalnog kola na bazi T flip-flopova biće predstavljen na primeru detektora
sekvence koji je prethodno projektovan pomoću D flip-flopova, a čija je tabela stanja prikazana na Sl.
7-14. Na Sl. 7-19(a) je ponovo prikazana tabela stanja ovog kola, ali sada proširena sekcijom za ulaze T
flip-flopova. Ova sekcija je popunjena na osnovu prelaza iz tekućeg u sledeće stanje, imajući u vidu
tabelu pobude T flip-flopa koja je prikazana na Sl. 7-19(b). Na primer, da bi kolo ostalo u istom stanju,
kao što je to slučaj u prvoj i poslednjoj vrsti table stanja, na ulaze oba flip-flopa treba postaviti 0. Svuda
tamo gde se stanje flip-flopa menja, potrebno je da na njegovom ulazu bude postavljeno 1. Minimalni
logički izrazi za jednačine pobude flip-flopova izvedeni su rešavanjem Karnoovih mapa (Sl. 7-19(c)).
Rezultujući logički dijagram je prikazan na Sl. 7-19(d).

Tekuće Ulaz Sledeće Izlaz Ulazi


stanjeB
A x AstanjeB y TA flip- TB
0 0 0 0 0 0 0flopova0
0 0 1 0 1 0 0 1
0 1 0 0 0 0 0 1
0 1 1 1 0 0 1 1 Qt Qt+1 T
1 0 0 0 0 0 1 0 0 0 0
1 0 1 1 1 0 0 1 0 1 1
1 1 0 0 0 1 1 1 1 0 1
1 1 1 1 1 1 0 0 1 1 0
(a) (b)
TA:
Bx
A 00 01 11 10
0 1
x A
1 1 1 T Q

TA = Ax + ABx
Q
T B:
Bx
A 00 01 11 10 y
0 1 1 1
B
T Q
1 1 1

TB = B x + ABx CLK

(c) (d)
Sl. 7-19 Sinteza sekvencijalnog kola na bazi T flip-flopova: (a) tabela stanja; (b) tabela pobude T flip-flopa; (c)
Karnoove mape pobudnih jednačina flip-flopova; (d) logički dijagram

7.3 Algoritamske mašine stanja

Drugi naziv za sekvencijalno kolo je algoritamska mašina stanja, ili samo ASM (prema Algorithmic State
Machine). Ovaj alternativni nazivi se često upotrebljavaju kada se sekvencijalno kolo koristi za
upravljanje digitalnim sistemom koji izvršava određeni algoritam, tj. proceduru koja se može razložiti
na niz koraka. Za ovakvo sekvencijalno kolo se kaže da igra ulogu upravljačke jedinice. Za predstavljanje
funkcionalnog ponašanja upravljačkih jedinica često se umesto dijagrama stanja koristi jedna posebna
vrsta dijagrama toka, poznata pod nazivom ASM dijagram.

15
Digitalna elektronika

ASM dijagram

ASM dijagram se sastoji od više povezanih ASM blokova. Svaki ASM blok sadrži jedan blok stanja i,
opciono, jedan ili više povezanih blokova grananja i blokova uslovnog izlaza. Na Sl. 7-20 je prikazana
uopštena struktura ASM bloka. Blok stanja se crta u obliku pravougaonika i služi za predstavljanje
jednog stanja sekvencijalnog kola. Ekvivalentan je čvoru iz dijagrama stanja. Simboličko ime stanja se
piše izvan bloka stanja, obično uz njegov gornji levi ugao. Unutar bloka stanja navode se vrednosti koje
izlazni signali Murovog tipa imaju za vreme dok je ASM u datom stanju. Uobičajeno je da se u bloku
stanja ne navode svi signali i njihove vrednosti, već samo spisak imena signala koji su aktivni u
konkretnom stanju. Za signale koji su izostavljeni iz spiska, podrazumeva se da su neaktivni. Pod
aktivnom vrednošću signala smatra se logičko 1, a pod podrazumevanom logička 0, osim ukoliko nije
drugačije rečeno. Na primer, da bi se naglasilo da u datom stanju izlaz 𝑧 ima vrednost 1, dovoljno je da
u odgovarajućem bloku stanja bude napisano samo 𝑧. Ako ASM poseduje još jedan izlaz, 𝑦, koji nije
naveden u posmatranom bloku stanja, tada u tom stanju važi: 𝑦 = 0.

Ulaz u stanje
ASM blok

Ime stanja Blok stanja


Murovi
izlazi
Blok grananja

T Logički F
Blok uslovnog
izraz
izlaza

Milijevi
izlazi

Izlaz ka drugom Izlaz ka drugom


ASM bloku ASM bloku

Sl. 7-20 ASM blok

Blok grananja se crta kao romb sa jednom ulaznom i dve izlazne grane. Unutar romba je napisan uslov
koji određuje koja će od njegove dve izlazne grane biti izabrana. Uslov kombinuje jedan ili više ulaznih
signala sekvencijalnog kola u logički izraz čija vrednost može biti tačno (1 ili 𝑇) ili netačno (0 ili 𝐹). Na
primer, 𝑤 napisano u bloku grananja znači da je odluka zasnovana na vrednosti signala 𝑤: ako je 𝑤 =
1, nastavljamo putem tačno (𝑇), a ako je 𝑤 = 0, putem netačno (𝐹). Slično, uslov 𝑤1 𝑤2 bi značio da
će grana tačno biti izabrana ako su oba signala jednaka 1, tj. 𝑤1 = 𝑤2 = 1, a da će u svim ostalim
slučajevima sekvencijalno kolo slediti granu netačno.

Blok uslovnog izlaza se crta u vidu zaobljenog pravougaonika i sadrži izlaze Milijevog tipa, odnosno
izlaze čija vrednost zavisi kako od tekućeg stanja, tako i od trenutnih vrednosti ulaza sekvencijalnog
kola. Blok uslovnog izlaza uvek sledi posle jednog ili više blokova grananja, a nikada neposredno posle
bloka stanja. Kao i u slučaju bloka stanja, u bloku uslovnog izlaza navode se samo aktivni signali. Na
primer, da je u bloku grananja iz ASM bloka sa Sl. 7-20 upisano 𝑤, a u bloku uslovnog izlaza 𝑧, to bi
značilo da izlaz 𝑧 ima vrednost 1 onda kada je kolo u posmatranom stanju i pri tom važi 𝑤 = 1.

16
9. Sekvencijalna kola

Funkcionalno ponašanje sekvencijalnog kola tokom jednog taktnog ciklusa se najbolje može objasniti
kroz opis aktivnosti koje su obuhvaćene odgovarajućim ASM blokom:
1. Sa svakom aktivnom ivicom taktnog signala sekvencijalno kolo prelazi u sledeće stanje, tj. u sledeći
ASM blok.
2. U toku trajanja jednog taktnog ciklusa, sekvencijalno kolo obavlja nekoliko aktivnosti: postavlja
Murove izlaze navedene u bloku stanja, ispituje logičke uslove iz blokova grananja i shodno ishodu
ovih ispitivanja postavlja Milijeve izlaze iz blokova uslovnog izlaza. Pri tom, Murovi izlazi zadržavaju
istu vrednost tokom celokupnog taktnog perioda, jer zavise samo od stanja, dok se Milijevi mogu
menjati pod uticajem eventualnih promena ulaznih signala.
3. Sa sledećom aktivnom ivicom takta (kojom se završava tekući taktni period), simultano se ispituju
logički uslovi iz svih blokova grananja i određuje izlazna grana duž koje će sekvencijalno kolo preći
u novi ASM blok (ili ostati u istom).
Primer 7-2 ASM blok
Na Sl. 7-21 je prikazan ASM blok, koji je deo nekog složenijeg ASM dijagrama. Po oznaci bloka stanja vidimo da
ovaj ASM blok odgovara stanju 𝑆0. ASM blok uvek ima jednu ulaznu i jednu ili više izlaznih tačaka, preko kojih
je povezan sa drugim ASM blokovima u istom ASM dijagramu. U ASM bloku na Sl. 7-21 figurišu tri ulazna
signala, 𝑥1 , 𝑥2 i 𝑥3 , i pet izlaznih signala, 𝑧1 , …, 𝑧5 . Oznake izlaznih signala 𝑧1 i 𝑧2 su napisane u bloku stanja,
što znači da su ova dva izlaza aktivna, tj. imaju vrednost 1 za sve vreme dok je sekvencijalno kolo u stanju 𝑆0.
Zato se kaže da su 𝑧1 i 𝑧2 izlazi Murovog tipa. Vrednosti ulaza 𝑥1 , 𝑥2 i 𝑥3 određuju sledeće stanje
sekvencijalnog kola, odnosno putanju kroz ASM blok od ulazne do jedne od izlaznih tačaka. Na Sl. 7-21 su
isprekidanim linijama označene dve, od ukupno četiri takve putanje. Putanja (1) spaja ulaz sa izlazom 1 i važi
ako 𝑥1 = 𝑥2 = 0, dok putanja (2), koja važi za 𝑥1 = 1 i 𝑥3 = 0 spaja ulaz sa izlazom 3. Vrednosti ulaznih
signala, takođe, određuju vrednosti Milijevih izlaza, odnosno izlaznih signala čije su oznake napisane u
blokovima uslovnog izlaza (zaobljeni pravougaonici). Tako, ako je 𝑥1 = 0, izlazi 𝑧3 i 𝑧4 će biti aktivni. Slično,
ako 𝑥1 = 1 i 𝑥3 = 0, aktivan će biti izlaz 𝑧5 . Drugim rečima, aktivni su svi Milijevi izlazi koji se nalaze u
blokovima uslovnog izlaza duž izabrane putanje. Preostali Milijevi izlazi ostaju neaktivni, odnosno imaju
vrednost 0.
ulaz
S0
z1, z2

0 1
x1
(2)
z3, z4 0 1
x3
(1)

x2 z5
0 1

izlaz 1 izlaz 2 izlaz 3 izlaz 4


Sl. 7-21 Primer ASM bloka

Konverzija dijagrama stanja u ASM dijagram


Svaki dijagram stanja se može konvertovati u ekvivalentni ASM dijagram i obratno. Svakom ASM bloku
(blok stanja sa pridruženim blokovima grananja i blokovima uslovnog izlaza) iz ASM dijagrama, u
dijagramu stanja odgovara jedan čvor zajedno sa strelicama koji izviru iz tog čvora. Postupak konverzije
biće ilustrovan kroz sledeća tri primera.

17
Digitalna elektronika

Prvi primer konverzije je prikazan na Sl. 7-22. Radi se o sekvencijalnom kolu koje nema ulaze i koje
neprekidno „osciluje“ između stanja 𝑆𝑇0 i 𝑆𝑇1 tako što sa svakom aktivnom ivicom takta bezuslovno
prelazi iz jednog u ono drugo stanje. U dijagramu stanja vidimo da ovo kolo ima samo jedan izlaz koji
u stanju 𝑆𝑇0 ima vrednost 1, a u stanju 𝑆𝑇1 vrednost 0. U ASM dijagramu, umesto vrednosti izlaznih
signala navode se imena signala i to samo u onim stanjima u kojima signal ima vrednost 1 . U
konkretnom primeru, izlaz je označen kao 𝑦.
ST0
ST0/1 y

ST1

ST1/0

(a) (b)
Sl. 7-22 Prvi primer konverzije dijagrama stanja u ASM dijagram: (a) dijagram stanja; (b) ASM dijagram

Sekvencijalno kolo iz drugog primera poseduje dva stanja, 𝑆𝑇0 i 𝑆𝑇1, jedna ulaz 𝑥 i dva izlaza 𝑦 i 𝑧 (Sl.
7-23). U dijagramu stanja, da ne bi došlo do zabune, osim vrednosti navedena su i imena ulaza i izlaza.
Izlaz 𝑦 je Murovog, a izlaz 𝑧 Milijevog tipa. Prelaz iz stanja 𝑆𝑇1 u stanje 𝑆𝑇0 je bezuslovan, odnosno,
dešava se bez obzira na vrednost ulaza 𝑥. Zbog toga je na strelici koja povezuje stanje 𝑆𝑇1 sa stanjem
𝑆𝑇0 napisana crtica umesto vrednosti za 𝑥. Vidimo da iz stanja 𝑆𝑇0 izviru dve strelice. Za 𝑥 = 0, kolo
ostaje u stanju 𝑆𝑇0, a za 𝑥 = 1 prelazi u stanje 𝑆𝑇1. Ovaj izbor je u ASM dijagramu predstavljen
blokom grananja koji ispituje vrednost signala 𝑥. Takođe, u stanju 𝑆𝑇0, pri 𝑥 = 1 aktivan je izlaz 𝑧, što
je predstavljeno blokom uslovnog izlaza sa upisanim imenom ovog izlaza. Napomenimo da blok
grananja i blok uslovnog izlaza iz ASM bloka stanja 𝑆𝑇0 nisu nova stanja, već su to samo dodatne
aktivnosti pridružene stanju 𝑆𝑇0. Takođe, uočimo da u grani koja povezuje stanje 𝑆𝑇1 sa stanjem 𝑆𝑇0
ne postoji blok uslovnog izlaza za signal 𝑧 s obzirom da za ovaj prelaz važi 𝑧 = 0.

ST0
x=0/z=0

ST0 0
x
y=0
1
z
x=1/z=1 -/z=0

ST1
y
ST1
y=1

(a) (b)
Sl. 7-23 Drugi primer konverzije dijagrama stanja u ASM dijagram: (a) dijagram stanja; (b) ASM dijagram

18
9. Sekvencijalna kola

Dijagram stanja iz trećeg primera sadrži tri stanja, 𝑆𝑇0, 𝑆𝑇1 i 𝑆𝑇2, dva ulaza, 𝑎 i 𝑏, i dva izlaza 𝑦 i 𝑧 (Sl.
7-24). Izlaz 𝑦 je Murovog, a izlaz 𝑧 Milijevog tipa. Izraz „𝑎𝑏 = 1“ na strelici između stanja 𝑆𝑇0 i 𝑆𝑇1
znači da je ovaj prelaz omogućen ako važi 𝑎 = 1 i 𝑏 = 1. Slično, prelaz iz 𝑆𝑇0 u 𝑆𝑇2 je omogućen ako
važi 𝑎 = 1 i 𝑏 = 0. Prelazi iz stanja 𝑆𝑇1 i 𝑆𝑇2 u stanje 𝑆𝑇0 su bezuslovni. Sekvencijalno kolo ostaje u
stanju 𝑆𝑇0 sve dok je 𝑎 = 0. Dva bloka grananja u ASM dijagramu su povezana tako da zajedno imaju
tri izlaza od kojih svaki odgovara jednoj strelici koja napušta čvor 𝑆𝑇0. Treba uočiti da je jedina situacija
kada izlaz 𝑧 ima vrednost 1 ona kada je kolo u stanju 𝑆𝑇0 i pri tome ulaz 𝑎 ima vrednost 1, a ulaz 𝑏
vrednost 0. U svim ostalim stanjima i pri svim ostalim vrednostima ulaza, izlaz z ima vrednost 0.

ST0
y

a=0/z=0
0 a

ST0 1
y=1
1 0
b

-/z=0 ab=1/z=0 -/z=0


z
a=1,b=0/z=1
ST1 ST2
y
ST1 ST2
y=0 y=1

(a) (b)
Sl. 7-24 Treći primer konverzije dijagrama stanja u ASM dijagram: (a) dijagram stanja; (b) ASM dijagram

Sinteza sekvencijalnog kola na osnovu ASM dijagrama


Postupak realizacije sekvencijalnog kola na osnovu ASM dijagrama je sličan postupku koji se koristi za
realizaciju na osnovu dijagrama stanja. Pogodnost korišćenja ASM dijagramima je u toliko što se
jednačine stanja i izlaza mogu odrediti direktnim „očitavanjem“ iz dijagrama bez potrebe izvođenja
tabele stanja.

Postupak će biti predstavljen na primeru ASM dijagrama na Sl. 7-24(b). Postupak počinje određivanjem
broja flip-flopova i kodiranjem stanja. Pošto u ovom ASM dijagramu postoje tri stanja, dovoljna su dva
flip-flopa. Neka su izlazi ovih flip-flopova označeni sa 𝐴 i 𝐵 i neka su stanja kodirana na sledeći način:
𝐴𝐵 = 00 za 𝑆𝑇0, 𝐴𝐵 = 01 za 𝑆𝑇1 i 𝐴𝐵 = 10 za 𝑆𝑇2.

Nakon što su stanja kodirana, za svaki izlaz treba odrediti jednačinu izlaza. Izlaz 𝑦 je Murovog tipa i
aktivan je u stanjima 𝑆𝑇0 i 𝑆𝑇2, odnosno:
𝑦 = 𝐴̅𝐵̅ + 𝐴𝐵̅ = 𝐵̅

Izlaz 𝑧 je Milijevog tipa i aktivan je u stanju 𝑆𝑇2 pod uslovom da važi 𝑎 = 1 i 𝑏 = 0, odnosno:

𝑧 = 𝐴̅𝐵̅𝑎𝑏̅

Jednačine stanja se određuju za svaki flip-flop, odnosno za svaki bit u kôdu stanja. Na primer, da bismo
odredili jednačinu stanja flip-flopa 𝐴 potrebno je izdvojiti sva stanja u kojima bit 𝐴 ima vrednost 1.
Jedino takvo stanje je stanje 𝑆𝑇2. Zatim, za svako takvo stanje treba identifikovati sve putanje koje

19
Digitalna elektronika

vode u to stanje. U ASM dijagramu sa Sl. 7-24(b) postoji samo jedna takva putanja, ona koja polazi iz
stanja 𝑆𝑇0 i prolazi kroz dva bloka grananja i blok uslovnog izlaza. Svaku uočenu putanju treba
predstaviti jednim logičkim proizvodom koji kombinuje kôd tekućeg stanja sa uslovima iz blokova
grananja pri kojima se formira data putanja. Logički izraz koji odgovara putanji iz stanja 𝑆𝑇0 u stanje
𝑆𝑇2 glasi: 𝐴̅𝐵̅𝑎𝑏̅. Konačno, potrebno je logički sabrati logičke proizvode svih putanja. Dakle,

𝐴𝑡+1 = 𝐴̅𝐵̅𝑎𝑏̅

Prethodna jednačina se tumači na sledeći način: Sledeće stanje flip-flopa 𝐴 biće 1 ako je ASM u stanju
𝑆𝑇0 i pri tom važi 𝑎 = 1 i 𝑏 = 0. Istim postupkom se određuje i jednačina stanja za flip-flop 𝐵. Bit 𝐵 u
kodu stanja ima vrednost 1 samo u stanju 𝑆𝑇1, a jedina putanja koja vodi u ovo stanje je ona koja
polazi iz stanja 𝑆𝑇0. Dakle,

𝐵𝑡+1 = 𝐴̅𝐵̅𝑎𝑏

Sekvencijalno kolo koje odgovara ASM dijagramu sa Sl. 7-24(b) u potpunosti je određen sledećim
skupom jednačina stanja i izlaza:

𝐴𝑡+1 = 𝐴̅𝐵̅𝑎𝑏̅
𝐵𝑡+1 = 𝐴̅𝐵̅𝑎𝑏
𝑦 = 𝐵̅
𝑧 = 𝐴̅𝐵̅𝑎𝑏̅

Ako za realizaciju koristimo D flip-flopove, jednačine pobude flip-flopova biće podudarne sa


jednačinama stanja:

𝐷𝐴 = 𝐴̅𝐵̅𝑎𝑏̅
𝐷𝐵 = 𝐴̅𝐵̅𝑎𝑏
Na Sl. 7-25 je prikazan odgovarajući logički dijagram sekvencijalnog kola. Prilikom crtanja logičkog
dijagrama iskorišćena je činjenica da je 𝐴̅𝐵̅𝑎 zajednički član u jednačinama stanja oba flip-flopa i da je
izlaz 𝑧 identičan ulazu u flip-flop 𝐴.

z
a A
D Q

B
D Q

CLK Q y

Sl. 7-25 Sekvencijalno kolo realizovano na osnovu ASM dijagrama sa Sl. 7-24(b)

Primer 7-3 Izvesti jednačine stanja i izlaza sekvencijalnog kola za ASM dijagramu sa Sl. 7-24(b) pod
pretpostavkom da su stanja kodirana na sledeći način: 𝑺𝑻𝟎: 𝑨𝑩 = 𝟏𝟏, 𝑺𝑻𝟏 = 𝟎𝟏 i 𝑺𝑻𝟐 = 𝟏𝟎.

20
9. Sekvencijalna kola

Rešenje: Način kodiranja stanja ne utiče na funkcionalnost sekvencijalnog kola, ali zato utiče na jednačine
stanja i izlaza, koje moraju iznova biti izvedene. Sada, jednačine izlaza glase:
𝑦 = 𝐴𝐵 + 𝐴𝐵̅ = 𝐴
𝑧 = 𝐴𝐵𝑎𝑏̅
Sa novim kodom, bit stanja 𝐴 ima vrednost 1 u stanjima 𝑆𝑇0 i 𝑆𝑇2. Pri tome postoje tri putanje koje vode u
stanje 𝑆𝑇0 i jedna koja vodi u stanje 𝑆𝑇2, kao što je to naznačeno na Sl. 7-26. Za svaku od ovih putanja
potrebno je izvesti odgovarajući produktni član. Prvi deo produktnog člana definiše izvorno (tekuće) stanje, a
drugi na uslov koji dovodi do prelaza iz izvornog u odredišno stanje. Tako, putanji (1) odgovara produktni član
𝐴𝐵𝑎̅, a putanji (2) član 𝐴𝐵𝑎. Putanji (3), koja povezuje stanje 𝑆𝑇1 sa stanjem 𝑆𝑇0, odgovara produktni član
𝐴̅𝐵 , a putanji iz 𝑆𝑇2 u 𝑆𝑇0 član 𝐴𝐵̅ . Sabiranjem produktnih članova svih uočenih putanja dobija se jednačina
stanja:
𝐴𝑡+1 = 𝐴𝐵𝑎̅ + 𝐴𝐵𝑎𝑏̅ + 𝐴̅𝐵 + 𝐴̅𝐵

Isti postupak se ponavlja za jednačinu stanja 𝐵𝑡+1 . Bit 𝐵 u kodu stanja ima vrednost 1 u stanjima 𝑆𝑇0 i 𝑆𝑇1.
Skup putanja koje vode u stanja sa 𝐵 = 1 sadrži takođe četiri putanje, a jedina razliku u odnosu na Sl. 7-26 je
u putanji (2) koja je sada umesto ka 𝑆𝑇2 usmerena na 𝑆𝑇1. Dakle,
𝐵𝑡+1 = 𝐴𝐵𝑎̅ + 𝐴𝐵𝑎𝑏 + 𝐴̅𝐵 + 𝐴̅𝐵

ST0 = 11
y

(3) (1) (2)


(4) 0 a

1 0
b

z
ST1 = 01 ST2 = 10
y

Sl. 7-26 Putanje koje vode u stanja sa setovanim bitom stanja 𝐴

7.4 Vodič za učenje


1. Analiza sekvencijalnih kola. Očekuje se da ste u mogućnosti da izvršite analizu sekvencijalnog
kola primenom postupaka predstavljenih u ovom poglavlju, što obuhvata: izvođenje jednačina
stanja, izlaza i pobude flip-flopova, popunjavanje tabele stanja na osnovu izvedenih jednačina
i crtanje dijagrama stanja na osnovu tabele stanja.
2. Konačni automati Murovog i Milijevog tipa (definicija).
3. Sinteza sekvencijalnih kola. Očekuje se da ste u mogućnosti da izvršite sintezu sekvencijalnog
kola na osnovu funkcionalne specifikacije, koja može biti data u tekstualnom obliku ili u obliku
tabele stanja ili dijagrama stanja, i to za različite tipove flip-flopova.
4. Algoritamske mašine stanja. ASM blok i elementi ASM bloka (blok stanja, blok grananja i blok
uslovnog izlaza). Konverzija dijagrama stanja u ASM dijagram. Sinteza sekvencijalnog kola na
osnovu ASM dijagrama (izvođenje jednačina izlaza i jednačina stanja).

21

You might also like