sekvencijalna kola

Upload: igor-milankovic

Post on 10-Jul-2015

277 views

Category:

Documents


1 download

DESCRIPTION

digitalna tehnika

TRANSCRIPT

7. SEKVENCIJALNA KOLA7.1. Odnos izmeu kombinacionih i sekvencijalnih kolaNa logikom nivou digitalna kola se dele na dve velike klase: ona koja ne poseduju memoriju nazivamo kombinacionim kolima, dok su ona koja poseduju memoriju poznata pod imenom sekvencijalna kola. Ponaanje kombinacionog kola u potpunosti je specificirano istinitosnom tablicom ili skupom jednaina koje za svaku ulaznu kombinaciju daju odgovarajuu izlaznu kombinaciju. Ova kola preslikavaju ulazne podatke u izlazne, tj. obavljaju izraunavanje u jednom koraku. U praksi postoji neznatno kanjenje pre nego to izlazni signali promene svoje stanje kao odziv na promene vrednosti signala na ulazu. Vreme odziva je obino veoma kratko, najee reda nanosekunde ili krae, tako da se sa tog aspekta za odziv kombinacionih kola kae da je trenutan. U idealnom sluaju, kombinaciono kolo se definie kao kolo ije je vreme odziva nula. U optem sluaju, ponaanje kombinacionog kola sa n ulaza koje koristi binarne signale se moe opisati istinitosnom tablicom koja ima 2n vrsta, po jednu za svaku moguu ulaznu kombinaciju. Ilustracije radi, dvobitni sabira sa slike 7.1a ima etiri ulazna signala, a shodno prethodnom zakljuku, njegov rad se opisuje istinitosnom tablicom koja ima 16 vrsta (slika 7.1b).x1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Ulazi x0 y1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 y0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 z2 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 Izlazi z1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 1 z0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0

X Y

x1 x0 y1 y0

dvobitni sabira

z2 z1 z0

Z

a)

b) Sl. 7.1. (a) Dvobitni sabira i (b) njegova istinitosna tablica.

Da bi opisali rad sabiraa dva 16-bitna broja, kakve obino sreemo u praksi, potrebna je istinitosna tablica koja ima astronomskih 232 = 4,294,967,296 vrsta. Imajui ovo u vidu, logino se namee potreba za efikasnijim opisom ponaanja kombinacionih

148

RAUNARSKI SISTEMI: Principi digitalnih sistema

kola. Dva mona sredstva koja se koriste za ovu namenu su Bulova algebra i jezici za opis hardvera.

7.2. Pojam sekvencijalnih kolaProjektanti najee razlau sloena izraunavanja na sekvencu jednostavnih koraka. U tom sluaju, umesto da se rezultat odredi odjednom, u datom trenutku dobijamo samo mali deo tog rezultata. Isti princip vai i kod digitalnih sistema. Naime, digitalna kola koja izvravaju specificirani zadatak obavljaju aktivnost kao sekvencu koraka. Zbog toga za ova kola kaemo da su sekvencijalna. Sekvencijalna kola moraju da pamte parcijalne rezultate izmeu koraka. Pojmovi sekvencijalno kolo i kolo koje poseduje memoriju predstavljaju sinonime. Prednost sekvencijalnog rada je ta to je za izvrenje svakog koraka potrebno ugraditi jednostavniji hardver, ali sa druge strane, treba da protekne znatno dui period dok se ne dobije konaan rezultat. To znai da implementacija nekog zadataka pomou kombinacione logike rezultira kraem vremenu generisanja rezultata u odnosu na implementaciju zasnovanu na sekvencijalnoj logici, ali e zato obim hardvera biti vei.xi yi potpuni sabira zi x0=0 y0=1 ciz cul jednobitna memorija cul=0 jednobitna memorija potpuni sabira z0=1

c0=0

a) Sekvencijalno kolo za implementaciju binarnog sabiranja

b) Prvi korak.

x1=1 y1=1

potpuni sabira

z1=0

x2=0 y2=0

potpuni sabira

z2=1

c1=1 c0=0 jednobitna memorija c1=1 jednobitna memorija

c2=0

c) Drugi korak.

d) Trei korak.

Sl. 7.2. Korienje sekvencijalnog sabiraa za izraunavanje 2+3=5. Da bi ukazali na kompromis izmeu obima ugraenog hardvera i brzine izraunavanja, analiziraemo primer sabiranja dva n-tobitna broja. Koristei princip "papira i olovke" primeniemo viekorani metod kod koga se u datom trenutku sabira odgovarajui par cifara, poev od cifre najmanje teine. Kada suma izraunata u tekuem

7. Sekvencijalna kola

149

koraku premai vrednost najvee cifre "prenosimo jedinicu" ka narednom paru cifara. To znai da je za sabiranje n cifara potrebna sekvenca od n koraka, pri emu se u svakom koraku cifra xi prvog broja sabira sa po teini odgovarajuom cifrom yi drugog broja. Takoe, sumi se dodaje cifra prenosa (0 ili 1) koja je generisana u toku prethodnog koraka. Ilustracije radi, na slici 7.2 je prikazan sekvencijalni nain sabiranja binarnih brojeva. Kao to se vidi sa slike 7.2a, u svakom koraku se sabiraju tri bita, xi, yi i cul, gde je cul bit prenosa iz prethodnog koraka, i odreuje bit sume zi i novi bit prenosa ciz. Na slici 7.2b-d prikazani su koraci kod izraunavanja 2+3=5 (10+11=101).

7.3. Struktura sekvencijalnih kolaSekvencijalni sabira sa slike 7.2 karakteriu osobine koje su tipine za sva sekvencijalna kola. Naime, struktura sa slike 7.2a se moe razloiti na sledea dva dela: kombinacioni deo (potpuni sabira) i memorijski deo (deo za pamenje prenosa). Postoji povratna veza iz memorije ka kombinacionom kolu, tako da prethodni dogaaji imaju uticaj na tekuu operaciju. Kod kombinacionih kola ne postoje ovakve povratne veze. U optem sluaju, struktura sekvencijalnog kola je prikazana na slici 7.3. Memorijski deo M moe da pamti veu, ali konanu, koliinu informacija (p bitova), a kombinacioni deo C moe takoe da bude sloen. Informacija koja se uva u M naziva se stanje kola, tako da je alternativno ime za sekvencijalno kolo maina sa konanim brojem stanja (FSM - finite state machine). Kao to se vidi sa slike 7.3, kombinaciono kolo C prima dva skupa ulaznih signala: sekundarni (dolaze iz memorije) i primarni (dolaze iz okruenja kola). Odgovarajua kombinacija sekundarnih ulaznih promenljivih u datom trenutku se naziva tekue stanje kola, dok su sekundarne promenljive poznate kao promenljive stanja.

primarni ulazni signali

sekundarni ulazni signali

x1 x2 . . . xn . . . kombinaciono kolo C . . .

z1 z2 zm . . .

primarni izlazni signali

tekue stanje

. . .

p-bitna memorija M

. . .

sekundarni izlazni signali

takt

samo kod sinhronih sekvencijalnih kola

Sl. 7.3. Opta struktura sekvencijalnog kola ili maine sa konanim brojem stanja.

150

RAUNARSKI SISTEMI: Principi digitalnih sistema

Ako postoji m sekundarnih ulaznih promenljivih, tada sekvencijalno kolo moe da se nae u jednom od 2m razliitih tekuih stanja. Izlazi kombinacionog dela kola se dele na dva skupa. Primarni izlazi se koriste za upravljanje radom okruenja kola dok se sekundarni izlazi koriste da specificiraju naredno stanje koje e se pamtiti u memoriji. Broj sekundarnih izlaznih promenljivih, koje se esto nazivaju ekscitacionie promenljive, zavisi od tipa memorije i korienog memorijskog elementa.

7.3.1. Podela sekvencijalnih kolaSekvencijalna logika kola se mogu podeliti na sinhrona i asinhrona. Kod sinhronih kola interna stanja se menjaju u diskretnim vremenskim trenucima pod kontrolom impulsa za sinhronizaciju koga nazivamo takt (isprekidane linije na slici 7.3). Talasni oblik taktnog impulsa je obino pravougaoni (slika 7.4). "ON" vreme se definie kao period dok je signal u stanju 1, a "OFF" vreme kao period dok je signal u stanju 0.pozitivna ivica negativna ivica

1

0

"ON" vreme

"OFF" vreme

perioda

Sl. 7.4. Taktni signal. Prelazi stanja kod sinhronih sekvencijalnih kola se obino javljaju u trenutku kada postoje prelazi taktnih impulsa bilo sa 0 na 1 ili sa 1 na 0. Prelaz sa 0 na 1 se naziva pozitivna ivica ili usponska ivica, dok prelaz sa 1 na 0 odgovara negativnoj ili opadajuoj ivici taktnog signala. Izmeu sukcesivnih taktnih impulsa ne dolazi do promene informacije koja se uva u memoriji. Sinhrona sekvencijalna kola su takoe poznata i kao taktovana sekvencijalna kola. Kod asinhronih sekvencijalnih kola ne postoji spoljna sinhronizacija (taktni signal) tako da se prelazi kola sa jednog stanja u drugo iniciraju promenom primarnih ulaza. S obzirom da se promene stanja ne deavaju u specificiranim vremenskim trenucima, asinhrona kola rade sopstvenom brzinom.

7.4. Leevi7.4.1. SR leKao to se vidi sa slike 7.3, memorija predstavlja kljuni deo sekvencijalnog kola. Ovaj blok se obino sastoji od niza leeva. Le je logiko kolo memorijskog tipa sa dva izlaza koji su komplementarni jedan u odnosu na drugi. Osnovni le se moe realizovati unakrsnim povezivanjem dva NOR kola kako je to prikazano na slici 7.5.

7. Sekvencijalna kolaReset

151

G1

Q

Set

G2

Q

Sl. 7.5. Le kolo sa NOR logikim kolima. Ulazi le kola se oznaavaju sa Set i Reset. U toku normalnog rada izlazi Q i Q su uvek komplementarni jedan u odnosu na drugi. Usvojimo da su oba ulaza na 0, izlaz Q na 1 a Q na 0. Izlaz kola G1 bie na 1, pa kako izlaz Q preko povratne grane pobuuje ulaz kola G2, izlaz G2 bie 0. Kolo e zbog toga biti stabilno sa Q na 1 i Q na 0, kako smo i pretpostavili na poetku. Ako se sada Reset ulaz postavi na 1, izlaz G1 e se promeniti na 0. Oba ulaza kola G2 bie na 0 tako da e se njegov izlaz promeniti na 1. Le kolo e sada postati stabilno sa Q=0 i Q =1. Ponaanje le kola se moe opisati istinitosnom tablicom datoj na slici 7.6a. Ukrteni NOR je poznat kao SR (Set-Reset) le. Logiki simbol koji se koristi za predstavljanje SR lea prikazan je na slici 7.6b.Set 0 Reset 0 QQ

R

Q

a)

0 1 1

1 0 1

nema promene 0 1 1 0 nedefinisano

b)

S

Q

Sl. 7.6. (a) Istinitosna tablica i (b) logiki simbol SR lea. Analizirajui istinitosnu tablicu sa slike 7.6a uoavamo sledee. Ulazna kombinacija Set=1 i Reset=1 nije dozvoljena, jer e oba izlaza Q i Q biti postavljena na 0, to je u kontradikciji sa uslovom da su Q i Q komplementarni.Set 0 0 1 1Reset 0 1 0 1

Set

Q

Q Q nedefinisano 1 0 0 1 nema promene

Reset

QSet a) NAND le. Reset

b) Tablica istinitosti. Q

Q

c) Logiki simbol.

Sl. 7.7. Le sa NAND kolima.

152

RAUNARSKI SISTEMI: Principi digitalnih sistema

SR le se moe, kako je to prikazano na slici 7.7, realizovati i pomou meusobno ukrtenih NAND kola. Kod velikog broja aplikacija le treba setovati ili resetovati u sinhronizmu sa upravljakim signalom. Na slici 7.8a prikazano je kako se NAND le sa slike 7.7a moe modifikovati uradnjom dodatnog upravljakog signala Control koji je obino povezan na taktni signal. Rezultantno kolo je poznato kao gejtovani le ili taktovani le. Sve dok je Control=0 (slika 7.8a) izlazi G3 i G4 bie na 1 i le nee menjati stanje. Kada je Control=1, ulazi Set i Reset e imati efekat na rad lea.

Set

G3 NAND le G4 a) Logiki simbol.

Q

Control Reset

Q

Control 0 1 1 1 1

Set 0 0 1 1

Reset 0 1 0 1

G3 1 1 1 0 0

G4 1 1 0 1 0

Qt+1 Qt Qt 0 1 nedefinisano

b) Istinitosna tablica.

Sl. 7.8. Gejtovani NAND le (Napomena: Qt odgovara tekuem stanju lea a Qt+1 narednom stanju). Kako je to prikazano na slici 7.9, mogua je i realizacija gejtovanog lea i sa NOR leom.Set

G3 NOR le~ G4 a) Logiki simbol.

Q

Control Reset

Q

Control Set 0 1 0 1 0 1 1 1 1

Reset 0 1 0 1

G3 0 0 1 0 1

G4 0 0 0 1 1

Qt+1 Qt Qt 0 1 nedefinisano

b) Istinitosna tablica.

Sl. 7.9. Gejtovani NOR le. Tipovi leeva sa slika 7.8 i 7.9 nazivaju se transparentnim, jer se njihovi izlazi menjaju (nakon propagacionog kanjenja kroz le) kako se i ulazi menjaju, pod uslovom da je ulaz dozvole (enable inputControl) na visoko. SR leeve je mogue realizovati sa vie od dva ulaza. Na slici 7.10 je prikazan SR le koji je konstruisan od dva etvoroulazna NOR kola. Izlaz Q e biti na 1 ako je bilo koji Set ulaz na 1 a Reset ulazi na 0. Takoe, izlaz Q e biti na 0 ako je bilo koji Reset ulaz na 1 a svi Set ulazi na 0, itd.

7. Sekvencijalna kola

153

Reset1 Reset2 Reset3

G1

Q

Set1 Set2 Set3

G2

Q

Sl. 7.10. Troulazni NOR SR le.

7.4.2. D leJedan od naina da se eliminie neeljeno nedefinisano stanje kod SR lea je da se obezbedi da ulazi S i R ne budu nikada istovremeno jednaki 1. Ovo se izvodi kod D lea kako je to prikazano na slici 7.11.DS

Q

CR

Q

a) Logiki dijagram.

C 0 1 1

D naredno stanje za Q x nema promene 0 Q=0; Reset stanje 1 Q=1; Set stanjeb) Funkcionalna tabela.

Sl. 7.11. D le. Le ima samo dva ulaza: D (Data - podaci) i C (Control - upravljaki). Komplement ulaza D dovodi se preko NI kola na ulazS, a ulaz D preko invertora i NI kola na ulazR. Sve dok je upravljaki ulaz C=0 oba ulaza SR lea su na visoko i kolo ne moe da promeni svoje stanje nezavisno od vrednosti D. Ulaz D se uzorkuje (odmerava) kada je C=1. Ako je D=1, Q se postavlja na 1, tj. za kolo kaemo da je u stanju set. Kada je D=0, izlaz Q=0 i kolo je u stanju reset. Logiki simbol D lea prikazan je na slici 7.12.D C Q

Sl. 7.12. Logiki simbol D lea.

154

RAUNARSKI SISTEMI: Principi digitalnih sistema

SR i D leevi su sigurno najjednostavniji i najjevtiniji tipovi memorijskih elemenata koji se koriste kod logikih kola. Oni se koriste kao elementi za memorisanje (pamenje) u kolima gde ne postoji direktna povratna veza sa izlaza bilo kog lea preko spoljnih kola na ulaze leeva (u okviru lea postoje povratne veze). Ovaj zahtev je ispunjen kod strukture prikazane na slici 7.13. Kao to se vidi sa slike 7.13, raunar prihvata podatke sa ulaznog ureaja (tastatura), a generie podatke na izlaznom ureaju (LED displej) koristei leeve. Svaka kolona leeva ima zajedniku upravljaku liniju. Leevi se koriste kao privremni memorijski elementi podataka na putu ulazni ureaj - raunar ili raunar izlazni ureaj. Podatak se pamti u le (leuje) i ostaje tamo sve dok ne naie novi podatak i zameni ga.tastatura ulazni leevi D C D C . . . D C dirka na tastaturi Q D C dioda koja emituje svetlo Q Raunar C . . . Q Q izlazni leevi D C D Q Q LED displej

S1

D1

S2 . . . Sk

D2 . . . Dk

Sl. 7.13. Tipian nain korienja leeva kod raunarskih ulazno/izlaznih kola. Kao to smo napomenuli, zbog svoje transparentnosti u radu (kada je C=1, izlaz Q prati stanje na ulazu D) leevi nisu pogodni za korienje kod sekvencijalnih kola koja imaju povratnu strukturu, kao to je ona prikazana na slici 7.14, tj. kada se izlaz lea preko kombinacione logike dovodi na njegov ulaz. Naime, kada je C=1, izlazni signal (Q ili Q ) se vraa preko povratne grane na ulaz D. Neeljene kombinacije propagacionog kanjenja (kanjenja signala kroz kola) mogu da uzrokuju viestruke promene, to rezultira novom neodreenom stanju lea. Ovaj fenomen se naziva problem trke (race problem) i direktna je posledica transparentnosti lea koja omoguava da kada je C=1 (rad lea dozvoljen) kroz le proe neogranien broj promena podataka. Da bi ograniili memorijski element na samo jednu promenu stanja po koraku kada je leu dozvoljen rad, neophodno je koristiti netransparentne memorijske elemente kao to su flip-flopovi.

7. Sekvencijalna kola"trka" oko spoljne povratne veze

155

D le D kombinaciono kolo C rad lea dozvoljen kada je C=1 Q

Sl. 7.14. Problem trke zbog transparentnosti lea kod kola koje sadri globalnu povratnu spregu.

7.5. Flip-flopoviPosmatrajmo bistabilno memorijsko kolo ME koje ima ulaz(e) X, izlaz podataka Q i upravljaki(e) ulaz(e) (takt) C. Broj ulaznih i upravljakih linija, kao i nain na koji se upravlja kolom, zavisi od tipa memorije. Kada je rad ME-u dozvoljen, prelaz iz jednog stabilnog stanja u drugo opisuje se relacijom (1) Za ME smatramo da je pouzdana komponenta ako se (1) uvek izvrava korektno. Drugim reima, ako se Q(t) i X(t) postave na specifine vrednosti, a ME korektno radi, naredno stanje Q(t+) bie uvek isto. U prethodnoj diskusiji smo ukazali da le radi pouzdano samo kod kola koja nemaju povratne puteve sa izlaza lea na njegove ulaze (slika 7.14). Da bi prelaz iz jednog stanja u drugo, definisan sa (1), bio pouzdan, vano je da novo stanje Qnovo = Q(t+) ne interferira sa starom vrednou Qstaro = Q(t) u toku promene stanja. Dok izraunavamo Qnovo memorijsko kolo mora da ima na raspolaganju dostupne stabilne vrednosti za Qstaro i X. Flip-flop se definie kao bistabilno kolo koje koristi specijalni upravljaki signal C (moe i nekoliko takvih signala) radi specificiranja trenutaka u kojima se memorija odaziva na promene ulaznih podataka i trenutaka u kojima memorija menja svoje izlazne podatke, tako da se postigne pouzdan netransparentan nain rada. S obzirom da signal C, kada je u pitanju flip-flop, ima sinhronizirajuu ulogu, on se naziva taktni signal (clock signal).

Q(t ) Q(t + ) .

X (t )

7.5.1. Metodi taktovanjaPostoji ve broj tipova flip-flopova koji se razlikuju po nainu taktovanja. Uloga signala C kod lea prikazana je na slici 7.15a. U toku perioda t1:t2, kada je C=1, bilo kakva promena signala podataka prenosi se kroz le. Nakon odreenog propagacionog kanjenja ove promene utiu na izlaz lea Q (a takoe i na Q ) u toku perioda t3:t4. Ako se ignorie jedan kratak period neodreenosti kada signali podataka i takta menjaju vrednosti, za le kaemo da se odaziva na sve ulazne promene kada je C na nivou 1. Kada je C na logikoj nuli promene podataka na ulazu nemaju efekat na promene

156

RAUNARSKI SISTEMI: Principi digitalnih sistema

podataka na izlazu. Iz ovih razloga za leeve kaemo da su osetljivi na nivo (level sensitive) ili da se okidaju na nivo (level triggered).t1 promenljive ulaznih podataka se prihvataju t2 t1

1

Data t Clock

Q

takt

0 izlaz Q se moe menjati

Q

t3

t4

t3

a) Le osetljiv na nivo.

t1 t 2

promenljive ulaznih podataka se prihvataju

t1 t2

Data Clock t

Q

1 takt 0 okidaka ivica t3 t4

Q

izlaz Q se moe menjati t3 t4

dinamiki ulazni simbol

b) Flip-flop koji se okida pozitivnom ivicom.

t1 t 2

promenljive ulaznih podataka se prihvataju

t1 t2 Data ClockQ

1 takt 0 okidaka ivica t3 t4 t izlaz Q se moe menjati t3 t4

Q

inverzni simbol

c) Flip-flop koji se okida negativnom ivicom.

Sl. 7.15. Osnovni metodi taktovanja i korieni simboli kod flip-flopova. Da bi ostvarili ponaanje flip-flopa moramo da obezbedimo da ne doe do preklapanja izmeu vremenskog perioda t1:t2 (kada se prihvataju promene ulaznih signala) i perioda t3:t4 (kada se menjaju izlazni podaci). Jedan od naina da flip-flop ispuni ove

7. Sekvencijalna kola

157

zahteve sastoji se u sledeem. Ulazne promene treba prihvatati kada je C=1, a menjati izlaze kada je C=0. Ovaj impulsni metod rada je bio korien kod nekih ranijih verzija bistabilnih kola. Kod najveeg broja dananjih reenja koristi se tehnika okidanja na ivicu (edge triggering). Na slici 7.15b je definisano ponaanje flip-flopa koji se okida pozitivnom ivicom, a na slici 7.15c ponaanje flip-flopa koji se okida na negativnu ivicu. Flip-flopovi imaju isti simbol kao i leevi sa izuzetkom jedne male, ali kljune, modifikacije koja se odnosi na specifikaciju naina taktovanja. Simbol '>' koji se nalazi na kraju linije za taktovanje ukazuje da se okidanje flip-flopa vri pri prelazu signala C sa 0 na 1. Simbol '>' se naziva dinamiki ulazni simbol. Okidanje negativnom ivicom se oznaava kombinovanjem dinamikog ulaznog simbola '>' i simbola inverzije 'o'.

7.5.2. Kombinovanje leeva kod flip-flopovaPostoje dva naina na koje se kombinuju leevi kod flip-flopova. Kod prvog naina leevi se kombinuju tako da se: 1. vaeim ulaznim podacima koji su prisutni na ulazima flip-flopa smatraju samo oni koji su prisutni u trenutku kada je vaei i upravljaki signal; 2. stanje flip-flopa menja samo kada stanje upravljakog impulsa nije aktivno. Ovaj tip flip-flopa se naziva master-slave. Kod drugog naina vai sledei princip. Flip-flop se okida samo u toku promene taktnog impulsa sa 0 na 1 (ili sa 1 na 0), a u ostatku perioda promene nisu dozvoljene ukljuujui i period taktnog signala. Ovaj flip-flop se naziva ivino-okidani flip-flop.

7.5.3. Master-slave flip-flop - okidanje na nivoStrukturu master-slave flip-flopa ine dva lea i jedan invertor. Struktura jednog master-slave RS flip-flop prikazana je na slici 7.16. Levi flip-flop naziva se master, a desni slave.S C R

Sm Cm Rmmaster le

Y

Ss Csslave le

Q

Y

Rs

Q

Sl. 7.16. SR master-slave flip-flop (okida se na nivo). Struktura master (slave) lea je ekvivalentna onoj koja je prikazana na slici 7.8. Kada je C=0 izlaz invertora je 1 i rad slave lea je dozvoljen, tako da njegov izlaz Q prati vrednost na izlazu master-a Y. U tom trenutku rad master lea je zabranjen, jer je C=0. Kada je C=1, signali prisutni na ulazima Sm i Rm definiu na koje e se vrednosti postaviti Y. Rad slave-a je zabranjen sve dok je C=1, tj Cs=0. Bilo kakve promene na ulazima S i R menjaju master izlaz Y, ali nemaju efekat na slave izlaz Q. Kada ponovo bude C=0 rad master-a se zabranjuje, tako da se promene na ulazima Sm i Rm vie ne prihvataju, ali je istovremeno rad slave-a dozvoljen tako da se tekua vrednost Y prenosi na izlaz Q. Vremenski dijagrami karakteristini za rad master-slave RS flip-flopa su prikazani na slici 7.17.

158

RAUNARSKI SISTEMI: Principi digitalnih sistema

C S R Y Q - nepoznato inicijalno stanje

Sl. 7.17. Vremenski dijagrami master-slave RS flip-flopa.

7.5.4. Master-slave JK flip-flop - okidanje na nivoAnalizom istinitosne tablice SR lea na slici 7.8b vidimo da je izlaz lea nedefinisan kada su pri C=1 oba ulaza S=R=1. Da bi se eliminisao neeljeni uslov koji dovodi do toga da izlazi budu nedefinisani koristi se JK flip-flop. Kod ovog flip-flopa uslov kada su oba ulaza jednaka 1 ukazuje da izlaz primi komplementarnu vrednost. Struktura JK flip-flopova i odgovarajue istinitosne tablice na osnovu koje se opisuje njegovo ponaanje prikazane su na slici 7.18.

J C K

S C R

S C R

Q

Q

J 0 0 1 1

K 0 1 0 1

Naredno stanje Q Q 0 1 Q

a) Struktura.

b) Istinitosna tablica.

Sl. 7.18. Master-slave JK flip-flop (okida se na nivo).

7.5.5. Flip-flop koji se okida na ivicuFlip-flop koji se okida na ivicu ignorie upravljaki signal C dok je na konstantnom nivou a okida se samo u toku prelaza taktnog signala sa jednog nivoa na drugi. Neki od ivino okidanih flip-flopova okidaju se na pozitivnu ivicu (prelaz sa 0 na 1), dok se drugi okidaju na negativnu ivicu (prelaz sa 1 na 0). Jedan tipian predstavnik flipflopova iz ove grupe je ivino okidani D flip-flop.

7. Sekvencijalna kola

159

7.5.6. Ivino okidani D flip-flopLogiki dijagram D tipa flip-flopa koji se okida na prednju ivicu prikazan je na slici 7.19. Flip-flop ine dve celine: master deo realizovan D leom i slave deo koji moe biti SR ili D le. Na ulazu taktnog signala se dodaje invertor. S obzirom da je master le D le, flip-flop ima osobinu da se okida na ivicu, a ne na nivo kao to je to sluaj sa masterslave. Kada je C=0, rad master lea je dozvoljen i transparentan, tj. njegov izlaz sledi stanje na D ulazu. Rad slave lea je zabranjen i on odrava nepromenjeno stanje flip-flopa. Kada se javi pozitivna ivica taktni ulaz se promeni na 1. Rad master lea se zabranjuje, njegov izlaz zamrzava, a slave leu je dozvoljen rad tako da on kopira na svom izlazu stanje koje je prisutno na izlazu master lea. Stanje master lea koje treba kopirati je stanje koje je prisutno u trenutku pojave pozitivne ivice taktnog impulsa. Zbog ovoga se ponaanje flipflopa opisuje kao okidanje na ivicu. Kada je C=1, rad master lea je zabranjen i on ne moe da se promeni, tako da stanja oba lea (i master-a i slave-a) ostaju nepromenjena. Konano, kada se C promeni sa 1 na 0, rad master-a je dozvoljen i njegov izlaz poinje da sledi vrednost na ulazu D. U toku prelaza sa 1 na 0 rad slave-a se zabranjuje tako da bilo kakva promena na master-u nema efekta na izlaz slave-a. Zbog toga, vrednost koja je memorisana u slave-u ostaje nepromenjena u toku ove promene.

D

Dmaster

S C Rslave

Q

C

C

Q

Sl. 7.19. D tip flip-flopa koji se okida na pozitivnu ivicu. Kao to smo napomenuli, ivino okidani D flip-flop (ili delay flip-flop) se moe realizovati i pomou dva D lea i jednog invertora (slika 7.20). Ovo reenje se uglavnom koristi kod logikih kola koja pripadaju CMOS tehnologiji, kao to je 74HC74. Flip-flopovi se obino projektuju sa jednim ili dva dodatna upravljaka ulaza koji su namenjeni za inicijalizaciju poetnog stanja flip-flopa. Upravljaki signal koji dovodi flip-flop u stanje Q=0 se naziva clear ( C L R ) ulaz, a onaj koji postavlja flip-flop u stanje Q=1 se naziva preset ( P R ) ulaz. Uticaj P R i C L R upravljakih signala je nezavisan od taktnog signala pa zbog toga za P R i C L R kaemo da su kao ulazi asinhroni. Nasuprot njima, D je sinhroni ulaz u odnosu na taktni signal. Logiki simbol za D flip-flop koji se okida pozitivnom ivicom sa Reset i Set ulazima, kao i odgovarajua funkcionalna tabela, prikazani su na slici 7.21.

160

RAUNARSKI SISTEMI: Principi digitalnih sistema

D

Dmaster

Qm

Dslave

Q

D C

Q

C

C

C

Q

a) Logiko kolo. okidaka ivica taktnog impulsa takt C(t) 1

b) Grafiki simbol.

t

ulazni podaci D(t)

1

t

1 Qm(t)t

propagaciono kanjenje izlazni podaci Q(t) 1

t

c) Vremenski dijagram. ulazi tekue stanjeQ(t)

D(t )

D(t)

1 1

Q(t+1) = D(t) karakterisitika D flip-flopa

Q(t )

d) Karnoova mapa D flip-flopa.

Sl. 7.20. D flip-flop koji se okida ivino.

7. Sekvencijalna kolaPR = 0 postavi Q=1Q

161

PRD

PR0 1 0 1 1

CLR1 0 0 1 1

C

D 0 1

C 01 01

Q 1 0 1 0 1

Q0 1 1 1 0

CLR = 0CLRpostavi Q=0 b) Funkcionalna tabela.

a) Logiki simbol.

Sl. 7.21. D flip-flop koji se okida pozitivnom ivicom sa Preset i Clear ulazima.

7.5.7. Ivino okidani JK flip-flopVe smo razmatrali (slika 7.18) implementaciju master-slave JK flip-flopa kod koga je master-slave SR flip-flopu dodata logika i, kao rezultat toga, dobijen je JK flip-flop koji se okida na nivo. Razmotrimo sada implementaciju JK flip-flopa koji se okida pozitivnom ivicom impulsa a dobija se dodavanjem logike D flip-flopu koji se okida pozitivnom ivicom taktnog impulsa. Rezultujue kolo je prikazano na slici 7.22.

J C K

D C

S C R

QQ

Sl. 7.22. JK flip-flop koji se okida pozitivnom ivicom. Logiki simbol, vaei talasni dijagrami, Karnoova mapa i istinitosna tablica ivino okidanog flip-flopa dati su na slici 7.23.

162

RAUNARSKI SISTEMI: Principi digitalnih sistema

PRulaz J takt ulaz K J C K Q

CLRa) Logiki simbol.

tekue stanje Q(t) 0 0 0 0 1 1 1 1

J(t) 0 0 1 1 0 0 1 1

ulazi K(t) 0 1 0 1 0 1 0 1

C(t) 01 01 01 01 01 01 01 01

naredno stanje Q(t+1) 0 0 1 1 1 0 1 0

b) Istinitosna tablica.

J (t ) K (t ) J (t ) K (t )

J(t )K(t ) J (t ) K (t )1 1 1

Q (t )

Q (t )

1

Q (t + 1) = J (t )Q (t ) + K (t )Q (t )c) Karnoova mapa. 1 J(t) 0t

1 K(t) 0t

1 C(t) 0 1 Q(t) 0 propagaciono kanjenje d) Vremenski dijagram.t t

Sl. 7.23. Ivino okidani JK flip-flop.

7. Sekvencijalna kola

163

7.5.8. T flip-flopT flip-flop je poznat pod nazivom trigerski (trigger ili toggle), a karakterie se jedinstvenom ulaznom linijom. Simbol T flip-flopa je prikazan na slici 7.24a. Ako je T=1 kada se taktni impuls menja sa 0 na 1, izlaz flip-flopa prelazi u komplementarno stanje u odnosu na tekue, a kada je T=0 flip-flop ne menja svoje stanje. Istinitosna tablica T flipflopa je prikazana na slici 7.24b, a Karnoova mapa na slici 7.24c.ulaz takt T Q tekue stanje ulazi Q(t) 0 0 1 1 T 0 1 0 1 takt 01 01 01 01 naredno stanje Q(t+1) 0 1 1 0

C

a) Logiki simbol.

b) Istinitosna tablica.

ulazi

tekue stanje Q (t ) Q(t)

T

T

1 1

Q(t + 1) = Q(t )T (t ) + Q (t )T (t )c) Karnoova mapa.

Sl. 7.24. T flip-flop. Kako je to prikazano na slici 7.25, T flip-flop se moe konstruisati od JK flipflopa (slika 7.25a) ili od D flip-flopa (slika 7.25b). Treba naglasiti da T flip-flopovi nisu dostupni kao komponente nego se oni konstruiu od JK i D flip-flopova.

J T takt C K

Q

T takt

D

Q

C

a) Konstrukcija T flip-flopa od JK flip-flopa

b) Konstrukcija T flip-flopa od D flip-flopa

Sl. 7.25. Izvedene verzije T flip-flopa.

164

RAUNARSKI SISTEMI: Principi digitalnih sistema

Primer 7.1.

Ukai na standardno koriene grafike simbole za leeve i flip-flopove. Odgovor:

S

Q

S

Q

D

Q

D

Q

R SR

R

C

C

SR

D sa 1 kao upravljaki

D sa 1 kao upravljaki

a) leevi.

J C K

Q

J C K

Q

J C K

Q

J C K

Q

okidani SR

okidani SR

okidani JK

okidani JK

b) Master-slave flip-flopovi (okidanje na nivo).

D

Q

D

Q

J C

Q

J C K

Q

C

C

K

okidani D

okidani D

okidani JK

okidani JK

c) Ivino okidani flip-flopovi.

Sl. 7.26. Grafiki simboli leeva i flip-flopova.

7. Sekvencijalna kola

165

7.6. Analiza rada sekvencijalnih kolaPonaanje sekvencijalnog kola odreeno je stanjem na ulazima, izlazima i tekuim stanjem kola. Izlazi i naredno stanje su funkcija ulaza i tekueg stanja. Analiza rada sekvencijalnog kola sastoji se u dobijanju pogodnog opisa kojim je odreena vremenska sekvenca ulaza, izlaza i tekueg i narednog stanja. Za neku logiku emu kaemo da opisuje sinhrono sekvencijalno kolo ako ona sadri flip-flopove koji se direktno ili indirektno pobuuju taktnim signalom, a direktni Preset i Reset signali se ne koriste u toku normalnog rada kola. Flip-flopovi mogu biti bilo kog tipa, a logiki dijagram moe da sadri, ali i ne mora, kombinacionu logiku. U ovom odeljku emo uvesti algebarsku prezentaciju kojom se specificira logiki dijagram sekvencijalnog kola, a predstaviemo i tabelu stanja i dijagram stanja kao naine za opis ponaanja kola.

7.6.1. Tabela stanja i dijagram stanjaOpti model sekvencijalnog kola opisan je na slici 7.3. Kod ovog modela, efekat svih prethodnih promena na ulazu na stanje na izlazu predstavlja se stanjem kola. To znai da u bilo kom trenutku izlaz kola zavisi od njegovog tekueg stanja i ulaza, a da se na osnovu njih odreuje naredno stanje kola. Zavisnosti koje postoje izmeu primarno ulaznih promenljivih, promenljive tekueg stanja, promenljive narednog stanja i izlazne promenljive mogu se specificirati preko tabele stanja ili preko dijagrama stanja. Kada se sekvencijalno kolo predstavlja tabelom stanja kolone tabele odgovaraju primarnim ulazima, a vrste tekuem stanju kola. Ilustracije radi, posmatrajmo sekvencijalno kolo sa slike 7.27. Ovo kolo ima jedan ulaz x, jedan izlaz z i dve promenljive stanja Y1 i Y2 (to znai da kolo ima etiri tekua stanja 00, 01, 10, 11). Ponaanje kola odreeno je sledeim jednainama:

z = xy1 Y1 = x + y1 Y2 = xy 2 + x y1

x

z

D flip-flopy1 Y1

y1

y2

Y2

y2

takt

Sl. 7.27. Sekvencijalno kolo.

166

RAUNARSKI SISTEMI: Principi digitalnih sistema

Na osnovu ovih jednaina moe se formirati tabela stanja. Usvojimo da je prethodno stanje bilo Y1Y2 = 00, a ulaz x = 0. Pod ovim uslovima dobiemo z = 0, Y1 = 1 i Y2 = 1. To znai da je naredno stanje kola Y1Y2 = 01 (naredno stanje odgovarae tekuem stanju kola nakon dovoenja taktnog impulsa). Izlaz kola koji odgovara tekuem stanju Y1Y2 = 00 pri x = 1 je z = 0. Ovi podaci, kako je prikazano na slici 7.28a, se unose u tabelu stanja. Uobiajeno je da se svaka kombinacija promenljivih tekueg stanja zameni slovom (slika 7.28b), to je izvedeno iz slike 7.28a zamenom stanja 00, 01, 11, i 10 sa A, B, C i D, respektivno. U optem sluaju, maina sa m ulaza i n stanja e imati n vrsta i jednu kolonu za svaku od 2m kombinacija ulaza.tekue stanje y1 y2 00 01 11 10 ulazi x =0 x=1 11, 0 10, 0 11, 0 00, 0 10,0 10, 1 10. 0 11, 1 naredno stanje, izlaz a) tekue stanje A B C D x =0 C, 0 C, 0 D, 0 D, 0 b) ulazi x=1 B, 0 A, 0 D, 1 C, 1

Sl. 7.28. Tabela stanja sekvencijalnog kola sa slike 7.27. Kao to smo naglasili, rad sekvencijalnog kola se moe predstaviti pomou dijagrama stanja ili grafa prelaza stanja (state diagram ili state transition graph). Dijagram stanja predstavlja usmereni graf kod koga svaki vor odgovara stanju kola, a svaki poteg prelazu iz jednog u drugo stanje. Dijagram stanja sekvencijalnog kola sa slike 7.28 prikazan je na slici 7.29. Stanjima 00, 01, 11 i 10 pridruena su slova A, B, C i D, respektivno. Na primer, potegu od B ka A je pridruena oznaka 1/0 koja ukazuje da ako je B tekue stanje a ulaz je 1, tada je naredno stanje A a izlaz je 0.A 0/0 1/0 B C 0/0 0/0 D 0/0 1/0

1/1

1/1

Sl. 7.29. Dijagram stanja kola sa slike 7.28.

7. Sekvencijalna kola

167

Za definisanje rada sekvencijalnih kola ravnopravno se mogu koristiti dijagrami stanja i tabela stanja, jer oni u potpunosti pruaju istu informaciju. Ipak, u veini sluajeva dijagram stanja se vie koristi za predstavljanje rada kola, dok se tabela stanja koristi kao sredstvo za projektovanje sekvencijalnog kolamemorija M

primarni ulazi X

FF1 kombinaciona ulazna logika C1 kombinaciona ulazna logika C2

. . .

FF2. . .

. . .

primarni izlazi Z(Y)

FFp flip-flop takt CLK promenljive stanja Y(X)

a) Sekvencijalno kolo bez globalnih povratnih veza.

X

FF1. . .

C1

FF2

C2

. . .

Y

. . .

. . .

Z(Y)

FFp

takt CLK

b) Sekvencijalno kolo kod koga su primarni izlazi nezavisni od primarnih ulaza (Murov model).

Sl. 7.30. Strukture sinhronih sekvencijalnih kola.

168

RAUNARSKI SISTEMI: Principi digitalnih sistema

. . .

X

Y(X)

FF1. . .

C2 FF2. . . . . .

C1

. . .

Z(X,Y)

FFp

takt CLK

povratne veze

c) Opti sluaj (Milijev model).

Sl. 7.30. (nastavak) Strukture sinhronih sekvencijalnih kola.

7.6.2. Strukture sinhronih sekvencijalnih kolaGradivni blokovi sinhronih sekvencijalnih kola su logika kola i flip-flopovi. Tipovi logikih kola koji se koriste su AND, OR, NOT, NAND, NOR, ExOR i ExNOR koje smo ve izuavali, a od flip-flopova sreemo D i JK flip-flopove. Logika kola i flipflopovi se mogu povezati na veliki broj naina sa ciljem da se formira sekvencijalno kolo. Pri ovome, skup flip-flopova ini memoriju M, a logika kola formiraju kombinaciona podkola C1, C2, ... , Cq. Tipini predstavnici struktura sekvencijalnih sinhronih kola prikazani su na slici 7.30. Na slici 7.30a je prikazano kolo kod kojeg ne postoje povratne veze. Naredno stanje ovog kola Y(X)(t+1) Y(t+1) je nezavisno od tekueg stanja Y(X)(t) Y(t). Naredno stanje Y(t+1) je funkcija samo primarnih ulaza X(t) i odreeno je od strane kombinacione ulazne logike C1. Primarni izlazi Z(t) zavise samo od Y(t) i odreeni su od strane izlazne logike C2. U pogledu ponaanja primena sekvencijalnih kola ovog tipa je veoma ograniena. Kod realnih aplikacija ovog tipa kola umesto flip-flopova sreemo leeve. Generalnija struktura sinhronog sekvencijalnog kola prikazana je na slici 7.30b. Kod ovog kola postoje globalne povratne veze iz memorije M ka ulaznom podkolu C1 koje obezbeuju da naredno stanje bude funkcija, kako od X, tako i od Y. Ipak, u konkretnom reenju (slika 7.30b) Z zavisi samo od Y.

7. Sekvencijalna kola

169

Najoptiji sluaj sekvencijalnog kola prikazan je na slici 7.30c, gde su Z, kao i Y(t+1), funkcije od X i Y. Model sekvencijalnog kola sa slike 7.30c se naziva Milijev (Mealy) model, a onaj sa slike 7.30b Murov (Moore) model. Tipovi ovih kola dobili su nazive po istraivaima G. H. Miliju i E. F. Muru koji su AT&T Bell Laboratories 1950. godine izuavali njihove osobine. Ako se C1 i C2 sa slike 7.30c zajedno sa pripadajuim vezama kombinuju u jedinstveno kobinaciono kolo C, dobija se Hafmanov (Huffman) model koji je prikazan na slici 7.31. U sutini, kola sa slika 7.30c i 7.31 su "skoro" identina, a od njih se mogu izvesti kola sa slike 7.30a i 7.30b. Na primer, ako se izlaz Z od C2 ili C uini nezavisnim od X, dobija se tip Murovog kola. Tabela stanja i dijagram stanja kojim se opisuje Murov model jednog sekvencijalnog kola prikazani su na slici 7.32.

primarni ulazi X

. . .

kombinaciona izlazna logika C

. . .

primarni izlazi Z(Y) . . .

. . .

FF1 Sekundarni ulazi Y (promenljive stanja)y1(t) y1(t+1)

Sekundarni izlazi Y(X,Y)(t+1)

y2(t). . .

FF2

y2(t+1). . .

. . .

FFpyp(t) yp(t+1)

Reset

CLK

Sl. 7.31. Hafmanov model.

170

RAUNARSKI SISTEMI: Principi digitalnih sistemaulaz x=0 x=1 B D C A C D B D naredno stanje izlaz 0 1 0 1 D/0 1 C/0 0

B/0 0

Tekue stanje

A B C D

1 0 0 0

A/1

1 a) Tabela stanja. b) Dijagram stanja.

Sl. 7.32. Tabela stanja i dijagram stanja Murovog modela jednog sekvencijalnog kola. Sekvencijalna kola se mogu predstaviti Murovim ili Milijevim modelom, a konverzija iz jednog modela u drugi je uvek mogua. Kroz dva primera, koji slede u daljem tekstu, analiziraemo sluajeve konverzije Milijevog modela sekvencijalnog kola u Murov model.

Primer 7.2.

Tabela stanja Milijevog tipa nekog sekvencijalnog kola prikazana je na slici 7.33, a odgovarajua ekvivalentna tabela stanja Murovog tipa za isto sekvencijalno kolo prikazana je na slici 7.34.ulaziTekue stanje

x=0

x=1

A B C D E

B, 0 D, 0 B, 0 E, 1 A, 0

A, 1 C, 1 C, 0 E, 1 B, 0

Sl. 7.33. Tabela stanja jednog sekvencijalnog kola Milijevog tipa.

7. Sekvencijalna kolaulaz Tekue stanje A, 0 A,1 B C, 0 C, 1 D Ex=0 x=1

171izlaz

B B D B B E A, 0

A, 1 A, 1 C, 1 C, 0 C, 0 E B

0 1 0 0 1 0 1

Sl. 7.34. Tabela stanja ekvivalentnog kola Murovog tipa.Primer 7.3.

Tabela stanja Murovog tipa nekog sekvencijalnog kola prikazana je na slici 7.35, odgovarajua ekvivalentna tabela stanja Milijevog tipa za isto sekvencijalno kolo prikazana je na slici 7.36.ulaz Tekue stanje A B C D E Fx=0 x=1

izlaz

B A D C A A

C C E B F E

0 0 1 0 1 1

naredno stanje

Sl. 7.35. Tabela stanja Murovog tipa sekvencijalnog kola.ulazi Tekue stanje A B C D E Fx=0 x=1

B, 0 A, 0 D, 0 C, 1 A, 0 A, 0

C, 1 C, 1 E, 1 B, 0 F, 1 E, 1

naredno stanje, izlaz

Sl. 7.36. Tabela stanja jednog sekvencijalnog kola Milijevog tipa.

172

RAUNARSKI SISTEMI: Principi digitalnih sistema

7.6.3. Opis rada sekvencijalnih kolaU toku dosadanje analize razmatrali smo principe rada nekoliko osnovnih modela sekvencijalnih kola. U principu, od ovakvih kola je mogue konstruisati i kompleksnija kola koja e biti u stanju da obavljaju sloenije funkcije. Na osnovu analize ponaanja ovakvih kola pokuaemo da identifikujemo procese koji su potrebni za njihovu sintezu. Razmatraemo sekvencijalno kolo sa slike 7.37 koje ima jeda ulaz x, jedan izlaz z i dva JK flip-flopa koji se koriste kao memorijski elementi (dva memorijska elementa definiu etiri mogua stanja kola y1y2 = 00, 01, 10 i 11).

J1x

y1

J2 C

y2

z

C K1y1

K2

y2

Sl. 7.37. Tipian primer sekvencijalnog kola. Analizom slike 7.37 uoavamo da su jednaine kojima se opisuje rad kola

J1 = K1 = J2 = K2 = z=

x + y2 x + y2 xy1 x y1 y2

Ove jednaine emo nazvati jednaine dizajna. Kao to je poznato, karakteristina jednaina kojom se opisuje rad JK flip-flopa je oblika. Q (t + 1) = J (t )Q (t ) + K (t )Q (t ) , gde su Q(t) i Q(t+1) tekue i naredno stanje flip-flopa, respektivno. Zamenom J1, K1 i J2, K2 u ovu jednainu, funkcije narednog stanja koje se odnose na oba flip-flopa dobijaju obliky1 (t + 1) = ( x1 + y2 ) y1 + ( x + y2 )y1 = xy1 + y1 y2 + xy1 y2 = xy1 + xy2 y2 (t + 1) = xy1 y2 + xy2 = xy1 y2 + xy2 = xy1 + xy2

7. Sekvencijalna kola

173

Na osnovu ovih jednaina je mogue definisati tabelu prelaza (slika 7.38) za kolo sa slike 7.37.tekue stanje y1 y2 0 0 0 1 1 0 1 1 ulaz x=0 x=1 00 10 10 11 00 01 10 01 naredno stanje izlazz (kada je x = 0) 0 0 0 1 z (kada je x = 1) 0 0 0 1

Sl. 7.38. Tabela prelaza za kolo sa slike 7.37. Zamenom y1y2 = 00, 01, 10, 11 sa A, B, C i D respektivno moemo na osnovu tabele prelaza sa slike 7.37 izvesti tabelu stanja koja je prikazana na slici 7.39.ulaz Tekue stanje A B C Dx=0 A, 0 C, 0 A, 0 C, 1 x=1 C, 0 D, 0 B, 0 B, 1

Sl. 7.39. Tabela stanja za kolo sa slike 7.37. Dijagram stanja kola sa slike 7.37 izvodi se na osnovu tabele stanja sa slike 7.39 i prikazan je na slici 7.40.0/0

A 1/0 0/0 0/0 B 1/0 1/1 1/0 0/1 D C

Sl. 7.40. Dijagram stanja za kolo sa slike 7.37.Primer 7.4.

Na slici 7.41 prikazan je dijagram stanja jednog taktovanog sekvencijalnog kola. Koristei D flip-flopove kao memorijske komponente projektovati logiku sekvencijalnog kola.

174

RAUNARSKI SISTEMI: Principi digitalnih sistema

0/0

00 1/0 1/1 01 0/0 10 1/0 11 0/0

1/1

0/0

Sl. 7.41. Dijagram stanja jednog sekvencijalnog kola.Odgovor:

Na osnovu dijagrama stanja kola sa slike 7.41 izvodi se tabela stanja. Ulazne jednaine za flip-flopove dobijaju se na osnovu vrednosti narednog stanja iz tabele stanja (slika 7.42), a jednaine koje odgovaraju izlazu dobijaju se na osnovu binarne vrednosti koja odgovara Y iz iste tabele kada je Y=1. Tri Bulove jednaine za kombinacionu logiku mogu se izraziti kao suma mintermova promenljivih tekueg stanja A i B, kao i ulazne promenljive X, na sledei nain: A(t+1) = DA(A,B,X) = m(2,4,5,6) B(t+1) = DB(A,B,X) = m(1,3,5,6) Y(A,B,X) = m(1,5)tekue stanje A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 ulazX

naredno stanje A 0 0 1 0 1 1 1 0 B 0 1 0 1 0 1 1 0

izlazY

0 1 0 1 0 1 0 1

0 1 0 0 0 1 0 0

Sl. 7.42. Tabela stanja za kolo iji je dijagram stanja dat na slici 7.41.

7. Sekvencijalna kola

175

Bulove jednaine se mogu pojednostaviti pomou Karnoovih mapa prikazanih na slici 7.43.B X 0 A 1 1 1X

B 00 01 11 10 1 1 A A

A

B X 0 1

B 00 01 11 1 1X

10

A

B X 0

B 00 01 11 1 1X

10

1 1 A

1

DA = AB + BX

DB = AX + BX + ABX

Y = BX

Sl. 7.43. Karnoove mape za ulazne jednaine i izlaz Y. Pojednostavljene funkcije su

DA = AB + BX , DB = AX + BX + ABX , Y = BX .Logiki dijagram sekvencijalnog kola prikazan je na slici 7.44.

DX

A

C

A

D

B

C

BY

takt

Sl. 7.44. Logiki dijagram sekvencijalnog kola sa D flip-flopovima.

176

RAUNARSKI SISTEMI: Principi digitalnih sistema

7.7. Procedura za projektovanje sekvencijalnih kola Glavni koraci u procesu sinteze sekvencijalnih kola prikazani su na slici 7.45. Cilj prvog koraka je da da preciznu definiciju ponaanja kola. U ovoj fazi kolo se opisuje na nivou crne kutije ije je ponaanje poznato, a interna struktura nije. U drugom koraku se specifikacija kola opisuje na osnovu stanja kola. Trei korak je poznat kao minimizacija stanja a sastoji se u eliminisanju ekvivalentnih stanja (ako postoje) iz tabele stanja izvedene u drugom koraku. etvrti korak se naziva dodela stanja. Sutina ovog koraka se sastoji u sledeem. Razliitim stanjima se dodeljuju kodovi sa krajnjim ciljem da se dobije ekonomino reenje za logiku. U petom koraku se formira tabela prelaza. U estom koraku se biraju tipovi flip-flopova, pa shodno tome i izvode odgovarajue jednaine za pobudu tih flip-flopova kao jednaine izlazne logike. U poslednjem, sedmom, koraku se crta logiki dijagram sekvencijalnog kola.korak 1 Specificira se problem

korak 2

Izvodi se dijagram stanja ili tabela stanja

korak 3

Redukuje se broj stanja

korak 4

Vri se dodela stanja

korak 5

Konstruie se tabela prelaza

korak 6

Izvode se jednaine pobude

korak 7

Implementira se kolo

Sl. 7.45. Procedura projektovanja sekvencijalnih kola. U tekstu koji sledi ukazaemo sa neto vie detalja na neke od kljunih koraka. Celokupan postupak projektovanja sproveemo na jednom konkretnom primeru.

7.7.1. Specifikacija problemaProjektovati sinhrono sekvencijalno kolo (slika 7.46) koje prepoznaje etvorobitnu serijsku ulaznu sekvencu 1101, tako da uvek kada se ova sekvenca pojavi na

7. Sekvencijalna kola

177

serijskom ulazu kola, na izlazu se generie jedinica. Pri tome je doputeno preklapanje sekvenci.

serijski ulaz takt

sekvencijalno kolo za prepoznavanje

serijski izlaz

Sl. 7.46. Sekvencijalno kolo za prepoznavanje ulazne sekvence specificirano na nivou crne kutije.

7.7.2. Konstrukcija dijagrama stanja i tabele stanjaOvaj korak uglavnom predstavlja jedan intuitivni proces i jako je zavisan od znanja i iskustva projektanta. Na primer, projektant donosi odluku da li e rad kola predstaviti Murovim ili Milijevim modelom. Imajui u vidu da je optiji, u praksi se Milijev model ee sree. Usvojimo da je inicijalno stanje kola A (postavljeno nakom Reseta sistema).Reset A

U stanju A kolo oekuje prvi ulazni signal koji moe biti 0 ili 1. Ako je ulaz 0, kolo ostaje u stanju A i na izlazu se generie 0, a ako je ulaz 1, prelazi se u stanje B i generie 0 na izlazu.0/0 1/0 B

A

Kada je kolo u stanju B, ako na ulazu primi 1 (sekvenca 11) kolo prelazi u stanje C, a ako primi 0, vraa se u stanje A.0/0 0/0 A 1/0 B 1/0 C

Dok je u stanju C, ako se na ulazu pojavi 1, kolo ostaje u istom stanju, a ako primu 0 prelazi u stanje D (sekvenca 110).

178

RAUNARSKI SISTEMI: Principi digitalnih sistema

0/0 0/0 A 1/0 1/0 B 1/0 C 0/0 D

Kada je kolo u stanju D, a primi 1, prelazi u stanje B i generie na svom izlazu 1, a kada primi 0 prelazi u stanje A i generie na izlazu 0. Kompletan dijagram stanja za detektor sekvence 1101 prikazan je na slici 7.47.

0/0 0/0 A 1/0 B 1/0

1/1

C

0/0

D

1/0 0/0

Sl. 7.47. Dijagram stanja detektora sekvence 1101. Ilustracije radi, za ulaznu sekvencu 010110110101, izlazna sekvenca e biti 000000100100. Na osnovu dijagrama stanja sa slike 7.47 mogue je konstruisati tabelu stanja (slika 7.48).Tekue stanje A B C D ulaz x=0 x=1 A, 0 B, 0 A, 0 C, 0 D, 0 C, 0 A, 0 B, 1 naredno stanje, izlaz

Sl. 7.48. Tabela stanja detektora sekvence 1101.

7.7.3. Redundantna stanjaNeka smo kao projektanti dobili zadatak da sintetizujemo sinhrono sekvencijalno kolo sa jednim ulazom x i jednim izlazom z koje testira serijske ulazne podatke u sekvenci od po etiri bita. Izlaz kola e imati vrednost 1 ako i samo ako se u etvorobitnoj sekvenci pojave dve jedinice (uzastopne ili ne). Da bi nacrtali dijagram stanja usvojiemo sledee: a) poetno stanje kola je A;

7. Sekvencijalna kola

179

b) s obzirom da kolo ima samo jedan serijski ulaz, svako stanje u dijagramu stanja e imati dva prelaza, jedan koji odgovara ulazu 0, a drugi ulazu 1; c) ulaznu sekvencu ine etiri bita, tako da se nakon ispitivanja sva etiri bita vraamo u poetno stanje A. Odgovarajui dijagram stanja je prikazan na slici 7.49. Na osnovu dijagrama stanja sa slike 7.49 mogue je kreirati tabelu stanja (slika 7.50) koja odgovara kolu za detekciju dve jedinice u etvorobitnoj sekvenci.

0/0 B 0/0 D 1/0 I 1/0 0/0 1/1 0/0 1/0

A

1/0 C 0/0 1/0

E

F

G

0/0 H 0/0

0/0 J 1/1 0/1

1/0 K

0/0 L 1/0 0/0 1/1 0/1

1/0 M

0/0 N 1/0 0/1 1/0 0/0

1/0 P 1/0

Sl. 7.49. Dijagram stanja detektora dve jedinice u etvorobitnoj sekvenci.ulaz Tekue stanje A B C D E F G H I J K L M N Px=0 x=1

B, 0 D, 0 F, 0 A, 0 J, 0 L, 0 N, 0 A, 0 A, 0 A, 0 A, 1 A, 0 A, 1 A, 1 A, 0

C, 0 E, 0 G, 0 I, 0 K, 0 M, 0 P, 0 A, 0 A, 1 A, 1 A, 0 A, 1 A, 0 A, 0 A, 0

Sl. 7.50. Tabela stanja kola koje detektuje dve jedinice u etvorobitnoj sekvenci. 1. 2. Analizom slike 7.49 dolazimo do sledeih zakljuaka: Kod kreiranja dijagrama stanja svaka kombinacija od etiri bita je razmatrana. U dijagramu stanja (slika 7.49) i tabeli stanja (slika 7.50) postoji nekoliko redundantnih stanja. Za jedno stanje kaemo da je redundantno, ako se njegova funkcija moe obaviti od strane drugog stanja u kolu.

180

RAUNARSKI SISTEMI: Principi digitalnih sistema

Glavni cilj u sledeem koraku sinteze sekvencijalnog kola svodi se na odreivanje redudantnih stanja i njihovu eliminaciju.A. Redukcija broja stanja

U principu vai sledee pravilo: to sekvencijalno kolo ima vei broj stanja to je ono sloenije. Eliminisanjem ekvivalentnih ili redundantnih stanja iz dijagrama stanja ili tabele stanja pojednostavljuje se logika kola. Ovaj proces se naziva redukcija broja stanja, a odgovara procesu minimizacije logikih funkcija u kombinacinom delu sekvencijalnog kola. Da bi ukazali na postupak redukcije stanja analizirajmo tabelu stanja jednog proizvoljnog sekvencijalnog kola koja je data na slici 7.51. Analizom slike 7.51 dolazimo do sledeeg zakljuka: stanja A i F imaju identina ponaanja (za iste ulaze generiu iste izlaze i prelaze u ista naredna stanja). To znai da se jedno od stanja moe eliminisati. Na primer, ako eliminiemo vrstu F, u svim kolonama tabele sa slike 7.51 gde se javlja F treba upisati A. Na ovaj nain se dobija nova tabela stanja (slika 7.52).Ulaz Tekue stanje A B C D E Fx=0 x=1

B, 1 C, 0 F, 0 D, 0 D, 1 E, 1 F, 0 E, 1 A, 0 D, 0 B, 1 C, 0 naredno stanje, izlaz

Sl. 7.51. Tabela stanja nekog proizvoljnog sekvencijalnog kola.Ulaz Tekue stanje A B C D Ex=0 x=1

B, 1 A, 0 D, 1 A, 0 A, 0

C, 0 D, 0 E, 0 E, 1 D, 0

Sl. 7.52. Tabela stanja kod koje je stanje F eliminisano. Daljom analizom slike 7.52 uoavamo da su stanja B i E ekvivalentna. Eliminisaemo stanje E tako da e nova tabela stanja (slika 7.53) imati samo etiri stanja.ulaz Tekue stanje A B C Dx=0 x=1

B, 1 C, 0 A, 0 D, 0 D, 1 B, 1 A, 0 B, 1 naredno stanje, izlaz

Sl. 7.53. Redukovana tabela stanja. Zakljuak bi bio sledei: Za dva stanja smatramo da su ekvivalentna ako i samo ako za svaku ulaznu sekvencu kolo generie istu izlaznu sekvencu nezavisno od toga koje je od ta dva stanja poetno stanje, tj. ako su stanja A i B ekvivalentna i stanja B i C takoe

7. Sekvencijalna kola

181

ekvivalentna, tada su i A i C ekvivalentna stanja, pa za sva tri stanja kaemo da formiraju skup ekvivalentnih stanja.B. Particija

Odreivanje broja ekvivalentnih stanja kod sekvencijalnih kola se vri postupkom koji se zasniva na particiji. Aktivnost prvog koraka je sledea. Izdvajaju se skupovi stanja kola u blokove tako da sva stanja u bloku imaju identian izlaz za svaki mogui ulaz. Ilustracije radi, posmatrajmo primer sa slike 7.54.ulaz Tekue stanje A B C D E Fx=0 x=1

B, 0 A, 0 D, 1 D, 0 A, 0 C, 0 B, 1 F, 0 B, 0 E, 0 D, 1 E, 0 naredno stanje, izlaz

Sl. 7.54. Tabela stanja proizvoljnog sekvencijalna kola. Analizom slike 7.54 zakljuujemo da su generisani izlazi za svako od stanja A, C i E identini za obe kombinacije ulaza x = 0 i x =1. Sa druge strane, B, D i F generiu iste izlaze za oba ulaza x = 0 i x =1. Shodno prethodnom, prva particija kola bie P1 = (ACE)(BDF). Naredni korak se odnosi na izvoenje particije P2 a sastoji se u sledeem: Dva stanja se smetaju u isti blok ako se za svaku ulaznu vrednost njihova naredna stanja nalaze u zajednikom bloku particije P1. U primeru sa slike 7.54 naredna stanja za A, C i E (pripadaju prvom koraku P1) koja odgovaraju x = 0 su B, A i B, respektivno. S obzirom da A i B, to se tie P1, pripadaju razliitim blokovima, particija P2 mora da izdvoji C od A i E. Za x =1 naredna stanja A, C i E se nalaze u istom bloku. Na identian nain se razmatra i drugi blok particije P1 tako da emo konano za particiju P2 imati: P2 = (C)(AE)(F)(BD). Particija P3 se moe formirati slinim postupkom. Naredna stanja za A i E za oba x = 0 i x =1 se nalaze u istom bloku tako da se ne mogu razdvajati. Ali, to ne vai za B i D, jer se pri x = 1 nalaze u razliitim blokovima P2 tako da se blok (BD) deli na (B) i (D), pa je P3 = (C)(AE)(F)(B)(D). Naredna particija P4 je identina kao P3, tj. P4 = (C)(AE)(F)(B)(D).

182

RAUNARSKI SISTEMI: Principi digitalnih sistema

Isti zakljuak vai i za ostale particije P5, P6 , ... U principu vai sledei zakljuak: Onog trenutka, kada je particija Pj+1 identina sa particijom Pj proces particije se zavrava, a za particiju Pj kaemo da je ekvivalentna particija. Sva stanja koja pripadaju bloku u ekvivalentnoj particiji su ekvivalentna. Na primer, P3 je ekvivalentna particija i stanja A i E su ekvivalentna. Zbog toga se na slici 7.54 vrsta E moe zameniti vrstom A, kako je to prikazano na slici 7.55.ulaz Tekue stanje A B C D Fx=0 x=1

B, 0 A, 0 D, 1 D, 0 A, 0 C, 0 B, 1 F, 0 D, 1 A, 0 naredno stanje, izlaz

Sl. 7.55. Redukovana tabela stanja. Ovaj postupak se esto radi tablino, zbog bolje preglednosti. Grupiu se stanje koja imaju identian izlaza za isti ulaz, te se, slino prethodnom dolazi do minimalnog broja stanja. Ovaj postupak za isti primer je prikazan u sledeim tabelema.stanje

x 0 1stanje

A B/0 A/0

B D/1 D/0 a C Aa Ca

C A/0 C/0

D B/1 F/0 b D Bb Fb c

E B/0 E/0

F D/1 E/0

x 0 1stanje

A Bb Aa a A Bc Aastanje

E Bb Ea b C Aa Cb b C Aa Cb

B Db Db

F Db Ea d F Dc Ea e F Dd Ea

x 0 1

E Bc Ea a

B Dc Dc c B Dd Dd

D Dc Fd d D Dd Fe

x 0 1

A Bc Aa

E Bc Aa

7. Sekvencijalna kolaC. Implikaciona tabela

183

Implikaciona tabela predstavlja alternativni metod za nalaenje ekvivalentnih stanja. Da bi objasnili ovaj metod usvojiemo da je rad nekog sekvencijalnog kola opisan tabelom stanja sa slike 7.56.

ulaz Tekue stanje A B C D E Fx=0 x=1

B, 0 A, 0 D, 1 D, 0 A, 0 C, 0 B, 1 F, 0 B, 0 E, 0 D, 1 E, 0 naredno stanje, izlaz

Sl. 7.56. Tabela stanja nekog sekvencialnog kola. Prvi korak ove procedure je sledei. Formira se nova tabela koju ine sve vrste sa izuzetkom prvog stanja, i sve kolone koje ine sva stanja sa izuzetkom zadnjeg. Na slici 7.57 prikazana je implikaciona tabela za primer sa slike 7.56.B C D E F A B C D E

Sl. 7.57. Implikaciona tabela. Nakon konstrukcije implikacione tabele analizira se i ustanovljava da li je par stanja implikacione tabele ekvivalentan ili nije. Par stanja ne moe biti ekvivalentan ako stanja imaju razliite izlaze. Svaki kvadrati i implikacionoj tabeli se popunjava krstiem (rafira se) ako odgovarajui par ima razliite izlaze (slika 7.58). Za parove stanja koji nisu ekvivalentni kaemo da su nekompatibilni.B C D E F A B C D E

Sl. 7.58. Implikaciona tabela nakon prvog koraka.

184

RAUNARSKI SISTEMI: Principi digitalnih sistema

U daljem postupku u prazne kvadratie sa slike 7.58 se upisuju parovi stanja ije ekvivalencije ukazuju na ekvivalenciju paru stanja koji definie nepopunjeni kvadrati. Na primer u kvadrati koji odgovara paru AC unosi se par AB koji mora biti ekvivalentan kako bi stanja A i C bila (postala) ekvivalentna (slika 7.59). Simbol "" se unosi u kvadrati ako je odgovarajui par (stvarno) ekvivalentan. Na slici 7.59 "stvarno" ekvivalentna stanja su A i E. Tabela sa slike 7.59 se popunjava kolona po kolonu. Analizirajui sliku 7.59 uoavamo da kvadrati definisan parom stanja D i F sadri parove BD EF. Kako je kvadrati definisan sa E i F ve precrtan, to znai da i bilo koji drugi par, ija ekvivalencija sledi iz ekvivalencije E i F, mora takoe da bude precrtan (markiran), kako je to prikazano na slici 7.60. Procedura se ponavlja proverom za sve ostale kvadratie. Jedini ekvivalentan par sa slike 7.60 je par AE. Prema tome, particija koja odgovara ekvivalenciji je oblika P = (AE)(B)(C)(D)(F).B C D E F DE A B C AB DF ABBD EF

D E

Sl. 7.59. Implikaciona tabela nakon popunjavanja ekvivalentnih parova stanja.B C D E FDE AB DF AB BD EF

A B C

D E

Sl. 7.60. Konani izgled implikacione tabele.

7.7.4. Izvoenje jednaine stanjaNakon to smo dobili redukovanu tabelu stanja sledei korak u procesu projektovanja sekvencijalnog kola odnosi se na kodiranje stanja u binarnom obliku. Ova aktivnost je poznata kao dodela stanja (state assignment). Sutina se sastoji u sledeem: Svakom stanju se dodeljuje jedinstvena binarna kombinacija. Kod kola koja imaju n ulaza, da bi dobili razliitu kombinaciju za svako stanje, potrebno je s sekundarnih ulaznih promenljivih, gde je s = log2n, tj. s log2n. Svaku sekundarnu promenljivu generie flipflop. Zbog toga je potreban broj flip-flopova da se implementira sekvencijalno kolo sa n stanja jednak log2n. Da bi sekvencijalno kolo prelazilo iz jednog stanja u drugo po odreenom redosledu, neophodno je da se flip-flopovi korektno pobuuju. Nain pobude flip-flopa

7. Sekvencijalna kola

185

odreuje njegov tip, D, JK ili T. Da bi ukazali na ovaj postupak detaljnije, analiziraemo kolo ija je tabela stanja prikazana na slici 7.61.

Tekue stanje A B C D C, 0 C, 1 A, 0 A, 1

ulaz x1 x2 D, 0 A, 1 D, 0 A, 1 B, 1 A, 1 B, 0 A, 1 naredno stanje, izlaz D, 0 D, 1 B, 0 B, 1

Sl. 7.61. Tabela stanja sekvencijalnog kola. Za memorijske elemente sekvencijalnog kola usvojiemo da su JK flip-flopovi, a izvriemo sledeu dodelu stanja: A = 00, B = 01, C = 10, D = 11. Odgovarajua tabela prelaza prikazana je na slici 7.62.

y1 y2

ulaz x1 x2 00 01 10 11 00 10, 0 10, 1 00, 0 00, 1 01 10 11, 0 00, 1 11, 0 00, 1 01, 1 00, 1 01, 0 00, 1 naredno stanje, izlaz 11 11, 0 11, 1 01, 0 01, 1

Sl. 7.62. Tabela stanja sekvencijalnog kola posle izvrene dodele stanja. S obzirom da sekvencijano kolo ima etiri stanja, to znai da su potrebna dva JK flip-flopa. Jednaine pobude za oba flip-flopa izvode se iz Karnoovih mapa (slika 7.64) za njihove J i K ulaze (vidi odeljak 7.6.7; mape se formiraju na osnovu ekscitacionie tabele sa slike 7.63).J 0 1 K 1 0 Q(t) 0 0 1 1 Q(t+1) 0 1 0 1

Sl. 7.63. Ekscitacionia tabela JK flip-flopa (Napomena: simbol "-" ukazuje da stanje na tom ulazu nema efekat na naredno stanje flip-flopa).

186

RAUNARSKI SISTEMI: Principi digitalnih sistema

x1x2 y1y2

x1x2

00 00 01 11 10 1

01 1

11 1

10 0

y1y2

00 00 01 11 10 -

01 -

11 -

10 -

1 -

1 -

1 -

0 -

1

1

1

1

-

J1

-

-

1

1 K1

1

1

x1x2 y1y2

x1x2

00 00 01 11 10 0

01 1

11 1

10 0

y1y2

00 00 01 11 10 -

01 -

11 -

10 -

-

-

-

-

1 1

0 0

0 0

1 1

0

1 J2

1

-

K2

-

-

Sl. 7.64. Karnoove mape za JK flip-flopove. Karnoova mapa za izlaz z je prikazana na slici 7.65.x1x2 y1y2

00 00 01 11 10 0

01 0

11 0

10 1

1 1

0 0

1 1

1 1

0

0

0

1

Sl. 7.65. Karnoova mapa za izlaz z.

7. Sekvencijalna kola Odgovarajue jednaine pobude JK flip-flopova i izlaz z su oblika:

187

J1 = x 1 + x 2 K1 = 1 J2 = x 2 K2 = x2 z = x1 y2 + x1 x 2 + x 2 y2

Na slici 7.66 je prikazana implementacija sekvencijalnog kola.

x2

J1x1

y1

Cp K1y1

J2 Cp K2

y2

Cp

1

y2

z

Sl. 7.66. Implemetacija sekvencijalnog kola specificiranog tabelom stanja sa slike 7.61.