45
6. POJEDNOSTAVLJENJE PREKIDAČKIH FUNKCIJA U opštem slučaju hardverska implementacija neke jednačine u direktnom je odnosu sa brojem njenih članova tipa SOP ili POS i brojem literala koji učestvuju u svakom od članova tog izraza. Zbog toga je od izuzetne važnosti redukovati kompleksnost jednačine pre nego što se pristupi njenoj hardverskoj realizaciji. Svrha ove glave je da ukaže na različite načine koji se koriste za pojednostavljenje prekidačkih funkcija pre njihove implementacije. Ukazaćemo na tri osnovna pristupa koji se koriste za pojednostavljenje prekidačkih izraza. Prvi pristup koristi postulate i druge rezultate da bi redukovao formu izraza algebarskim putem. Drugi pristup, nazvan metoda Karnoovih (Karnaugh) mapa, je vizuelni ili dijagramski, a koristi mapu za crtanje funkcija. Na samoj mapi (crtežu) grupišu se mintermovi koji se mogu kombinovati kako bi se formirao član tipa proizvod koga je lako identifikovati. Ovaj pristup je u praksi ograničen na funkcije sa šest ili manje promenljivih. Kod treće tehnike, nazvane metoda Kvajn-MekKlaskija (Quine-McCluskey), broj promenljivih u funkciji može biti proizvoljan. 6.1 Algebarske manipulacije Cilj ovog pristupa je da se pojednostave prekidačke funkcije. Ali kao prvo, od važnosti je definisati šta predstavlja pojam pojednostavljenje. U osnovi, za neki izraz ćemo smatrati da je pojednostavljen ako taj izraz sadrži minimalan broj članova i literala, bilo da su to članovi tipa SOP ili POS. Pod minimilanim izrazom podrazumevamo da bilo koji drugi izraz koji ima manje članova i literala ne predstavlja više početnu funkciju, tj. ne generiše istinitosnu tablicu početne funkcije. Kada je minimalni izraz dat u SOP formi tada se isti naziva izraz sa minimalnom sumom proizvoda, a za slučaj da je zadat u POS formi naziva se izraz sa minimalnim proizvodom suma. S obzirom da se manipuliše prekidačkom algebrom, za određivanje minimalne forme koristićemo teoreme i postulate ove algebre. Identifikovaćemo tri bazična rezultata od kojih procedure za redukciju jako zavise. Za minimizaciju SOP izraza koriste se sledeća tri: rezultat_1. xy xy y + = rezultat_2. x xy x y + = + rezultat_3. xz xy yz xz xy + + = + Dualnost ovih rezultata može se iskoristiti za minimizaciju funkcija zadatih u POS formi. Postupak algebarske redukcije sastoji se u sledećem: (a) Na datu funkciju primenjuje se rezultat_1 sve do trenutka kada primena rezultata_1 ne rezultira daljom redukciom. (b) Zatim se primenjuje rezultat_2. Kada rezultat_2 ne može više da se primeni vraćamo se na korak rezultat_1. Procedura se produžava sve dok primena rezultata_1 i rezultata_2 ne dovode do dalje redukcije. (c) Primeni se rezultat_3. Kada primena rezultata_1, _2 i _3 ne dovodi do dalje redukcije smatramo da je minimalna forma određena. Ipak treba naglasiti da dobijena forma sprovedena ovom procedurom nije uvek minimalna. To znači da usvojena pretpostavka nije uvek korektna. Ali treba imati u vidu da je rezultujuća forma bliska minimalnoj (pored rezultata_1, _2 i _3 često se koriste i drugi). Ukažimo na sprovođenje postupka algebarske redukcije kroz sledeće primere. f x yzw w x z w xz xyz wxy x wz x wz xyz wxy wz xyz wxy wz w xy z xy wz wxy (, ,, ) [( ) ( )] ( ) ( ) = + + + = + + + = + + = + + = + rezultat_1 rezultat_2

Pojednostavljanje Prekidackih Funkcija

Embed Size (px)

DESCRIPTION

Prekidacke funk

Citation preview

Page 1: Pojednostavljanje Prekidackih Funkcija

6. POJEDNOSTAVLJENJE PREKIDAČKIH FUNKCIJA

U opštem slučaju hardverska implementacija neke jednačine u direktnom je odnosu sa brojem njenih članova tipa SOP ili POS i brojem literala koji učestvuju u svakom od članova tog izraza. Zbog toga je od izuzetne važnosti redukovati kompleksnost jednačine pre nego što se pristupi njenoj hardverskoj realizaciji. Svrha ove glave je da ukaže na različite načine koji se koriste za pojednostavljenje prekidačkih funkcija pre njihove implementacije. Ukazaćemo na tri osnovna pristupa koji se koriste za pojednostavljenje prekidačkih izraza. Prvi pristup koristi postulate i druge rezultate da bi redukovao formu izraza algebarskim putem. Drugi pristup, nazvan metoda Karnoovih (Karnaugh) mapa, je vizuelni ili dijagramski, a koristi mapu za crtanje funkcija. Na samoj mapi (crtežu) grupišu se mintermovi koji se mogu kombinovati kako bi se formirao član tipa proizvod koga je lako identifikovati. Ovaj pristup je u praksi ograničen na funkcije sa šest ili manje promenljivih. Kod treće tehnike, nazvane metoda Kvajn-MekKlaskija (Quine-McCluskey), broj promenljivih u funkciji može biti proizvoljan.

6.1 Algebarske manipulacije

Cilj ovog pristupa je da se pojednostave prekidačke funkcije. Ali kao prvo, od važnosti je definisati šta predstavlja pojam pojednostavljenje. U osnovi, za neki izraz ćemo smatrati da je pojednostavljen ako taj izraz sadrži minimalan broj članova i literala, bilo da su to članovi tipa SOP ili POS. Pod minimilanim izrazom podrazumevamo da bilo koji drugi izraz koji ima manje članova i literala ne predstavlja više početnu funkciju, tj. ne generiše istinitosnu tablicu početne funkcije. Kada je minimalni izraz dat u SOP formi tada se isti naziva izraz sa minimalnom sumom proizvoda, a za slučaj da je zadat u POS formi naziva se izraz sa minimalnim proizvodom suma. S obzirom da se manipuliše prekidačkom algebrom, za određivanje minimalne forme koristićemo teoreme i postulate ove algebre. Identifikovaćemo tri bazična rezultata od kojih procedure za redukciju jako zavise. Za minimizaciju SOP izraza koriste se sledeća tri:

• rezultat_1. xy xy y+ = • rezultat_2. x xy x y+ = + • rezultat_3. xz xy yz xz xy+ + = +

Dualnost ovih rezultata može se iskoristiti za minimizaciju funkcija zadatih u POS formi. Postupak algebarske redukcije sastoji se u sledećem: (a) Na datu funkciju primenjuje se rezultat_1 sve do trenutka kada primena rezultata_1 ne rezultira daljom

redukciom. (b) Zatim se primenjuje rezultat_2. Kada rezultat_2 ne može više da se primeni vraćamo se na korak rezultat_1.

Procedura se produžava sve dok primena rezultata_1 i rezultata_2 ne dovode do dalje redukcije. (c) Primeni se rezultat_3. Kada primena rezultata_1, _2 i _3 ne dovodi do dalje redukcije smatramo da je

minimalna forma određena. Ipak treba naglasiti da dobijena forma sprovedena ovom procedurom nije uvek minimalna. To znači da usvojena pretpostavka nije uvek korektna. Ali treba imati u vidu da je rezultujuća forma bliska minimalnoj (pored rezultata_1, _2 i _3 često se koriste i drugi). Ukažimo na sprovođenje postupka algebarske redukcije kroz sledeće primere.

f x y z w w xz w xz xyz wxy

x wz x wz xyz wxy

wz xyz wxy

wz w xy z xy

wz wxy

( , , , )

[ ( ) ( )]

( ) ( )

= + + +

= + + +

= + +

= + +

= +

rezultat_1

rezultat_2

Page 2: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 70

Na osnovu primera ostaje nejasno sledeće pitanje: Kako izvršiti grupisanje odgovarajućih članova izraza u svakom koraku kako bi sa uspehom primenili rezultat_1, _2 i _3. Čini se ipak da je sprovođenje ove procedure jako zavisano od iskustva projektanta. Razmotrimo sada sledeći primer:

f x y z w xyz yzw xzw xy zw xyz

xy z xy z yzw xzw xy zw

xy yzw xzw xy zw

x y y zw yzw xzw

x y zw yzw xzw

xy xzw yzw xzw

x y x zw yzw xzw

xy xzw xzw

xy xzw xzw

1 ( , , , )

[( ) ( ) ]

[ ( )]

[ ]

[ ( ) ( ) )]

( )

= + + + +

= + + + +

= + + +

= + + +

= + + +

= + + +

= + + +

= + +

= + +

rezultat_1

rezultat_2

rezultat_3

Razmotrimo sada i sledeći primer:

zzwyzxzzwyyzxx

zxzwyzyxwzyxf

+++++=+++++=

+++++=)]([)(

)(),,,(2

I pored toga što se direktno ne vidi, jasno je da je njegova vrednost jednaka 1, jer on sadrži članove z +⎯z = 1, a u prekidačkoj algebri važi pravilo da je 1 + 'nešto' = 1.

6.2. Implikanti

Kod SOP izraza, svaki član tipa proizvod nazivamo implikant funkcije, jer on implicitno ukazuje da kada je njegova vrednost jednaka 1 tada i funkcija ima vrednost 1. Pretpostavimo sada da funkcija f(w, x, y, z) ima četiri minterma w xyz , w xyz , wxyz i wxyz, od kojih je svaki implikant funkcije h. Da bi pojednostavili f kombinovaćemo sumu koju čine prva dva miniterma w xyz xyz( )+ , a zatim primeniti rezultat_1 na članove u zagradi, pa kao rezultat dobiti wyz . Na sličan način kombinovanjem i ostala dva minterma dobija se wyz. Ova dva člana tipa proizvod predstavljaju takođe implikante od f, jer je f = 1 kada je bilo koji od oba člana jednak 1. Šta više, ovi članovi sadrže manji broj literala u odnosu na početne mintermove. Novodobijene članove tipa proizvod možemo dalje kombinovati, a kao rezultat se dobija yz, član koji predstavlja još manji implikant od f. Uočimo sada da svaki od članova wyz i wyz, oba implikanta od f, takođe impliciraju yz, jer bilo kakva dodela koja čini da bilo koji od njih primi vrednost 1 takođe znači da i yz = 1. Produžavajući sa ovakvim načinom razmišljanja, može se zaključiti da se proces pojednostavljenja odnosi na određivanje skupa "najmanjih" implikanata date funkcije. Konkretnije, definisaćemo prosti implikant (prime implicant) kao implikant funkcije koji ne implicira na bilo koji drugi implikant funkcije. Tako na primer, za prethodni primer yz je prosti implikant od f. Za bilo koju prekidačku funkciju, skup prostih implikanata je jedinstven jer se on izvodi (dobija) od jedinstvenog skupa mintermova. Pitanje koje se sada postavlja je sledeće: Da li, da bi pretstavili funkciju u svojoj minimalnoj formi treba koristiti sve proste implikante? Da bi odgovorili na ovo pitanje uočimo da prosti implikant iz prethodnog primera yz pokriva četiri minterma w xyz , w xyz , wxyz i wxyz. Usvojimo sada da su svi mintermovi funkcije pokriveni nekim podskupom iz skupa prostih implikanata, a dodatno konačni izraz ulaze i članovi koji ne pripadaju ovom podskupu. Primera radi, neka je f x y z xy xz yz1 ( , , ) = + + , koja ima minitermove xyz, xyz , xyz i xyz . Imajući u vidu da nijedan od članova xy , xz i yz ne implicira na bilo koji od ostala dva, oni moraju biti prosti implikanti od f1. Ipak član xy pokriva mintermove xyz i xyz , a xz pokriva xyz i xyz . Imajući u vidu da su sva četiri minterma od f1 pokrivena pomoću ova dva prosta implikanta, f1 se može izraziti kao f xy x1 = + z što je direktna posledica teoreme konsenzusa ( xz xy yz xz xy+ + = + ). Na osnovu ovih sagledavanja možemo zaključiti sledeće: Određivanje minimalnog SOP izraza podrazumeva, u prvom koraku, određivanje svih prostih implikanata funkcije, a zatim, u drugom koraku, određivanje minimalnog podskupa među prostim implikanatima funkcije koji pokrivaju sve mintermove funkcije. Ovakav podskup nazivamo minimalno pokrivanje funkcije. Na sličan način se može odrediti minimalni POS izraz funkcije. U daljem tekstu ukazaćemo na dve metode koje se odnose na problem određivanja minimalnog pokrivanja funkcije.

Page 3: Pojednostavljanje Prekidackih Funkcija

6. Pojdenostavljenje prekidačkih funkcija 71

6.3. Metoda Karnoovih mapa

Karnoova mapa funkcije od n promenljivih predstavlja pravougaonu površinu izdeljenu na 2n ćelija. Svakoj ćeliji odgovara jedan potpuni proizvod promenljivih. Među ćelijama vlada relacija susedstva ukoliko imaju zajedničku ivicu ili se nalaze na naspramnim stranama mape. Tačnije, Karnoova mapa se može smatrati površinom torusa koja je "rasečena" tako da predstavlja pravougaonu površinu uz očuvanje susednosti. Vrste i kolone Karnoove mape obeležavaju se odovarajućim binarnim indeksima poštujući leksikografsko uređenje (mogu se razlikovati samo na jednom bitu). Izgled Karnoovih mapa i način obeležavanja za n = 1, 2, 3 i 4 prikazan je na slici 6.1. Zadavanje funkcija vrši se tako što se u odgovarajuće ćelije upisuju jedinice (u ćelije koje odgovaraju potpunim proizvodima na kojima funkcija ima vrednost 1). Kod nepotpuno definisanih funkcija upisujemo i zvezdice. Minimizacija prekidačkih funkcija vrši se tako što se udružuju susedne ćelije sa vrednošću 1 u grupe velične 2k ćelija (pri čemu imamo u vidu definiciju relacije susedstva). Da bi se dobila minimalna forma funkcije neophodno je da ove grupe budu što je moguće veće. Udruživanje se vrši sve dok se sve jedinice ne udruže. Kod nepotpuno definisanih funkcija zvezdice možemo smatrati bilo nulama bilo jedinicama (po potrebi, da bi napravili što veću grupu neke zvezdice se mogu tretirati kao jedinice). x

0 1 x2x3

00 01 11 10

00

01x1x2

11

10

x3x4

00 01 11 10

x2

0 1

0 x1

1 0

x1

1

Sl. 6.1. Izgled Karnoovih mapa za funkcije sa jednom, dve, tri i četiri promenljive.

Svakoj grupi udruženih jedinica odgovara jedan proizvod u minimalnoj disjunktivnoj normalnoj formi funkcije. Ovi proizvodi se određuju tako što "otpadaju" one promenljive za koje na datoj grupi odgovarajući indeksi menjaju vrednost. Napomenimo da se Karnoove mape obično ne koriste za minimizaciju funkcija sa više od pet promenljivih, jer tada one postaju jako nepregledne.

Primer 6.1

Odrediti broj literala koji će se pojaviti u svakom od članova tipa proizvod prikazanim na mapi sa slike 6.2. Za svaki izvedeni član tipa proizvod proveri da li on generiše 1 za odgovarajuću ulaznu kombinaciju. Koristi član tipa proizvod da bi napisao komplement funkcije u formi suma proizvoda.

y 6 744 844

1 244 344

x {

yz x

0

1

00 01 11 10

1 1 0 0

0 0 0 0

r1

r2

r3

z

Sl. 6.2. Mapa od tri promenljive. Odgovor:

Za mapu sa slike 6.2 odgovarajući članovi su r yz, r yz2 = i r3 = x 1 =

Page 4: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 72

Za ulaznu kombinaciju r1 sa mape na slici 6.2 dobijamo da je y = 0, z = 1, tako da ⎯yz =⎯0⋅1 = 1. Ulazna kombinacija za r2 je y = 1, z = 0, tako da yz = ⋅ =1 0 1. Član r3 ima ulaznu kombinaciju x = 1.

F x y z r r r

yz yz x

( , , ) = + +

= + +

1 2 3

Primer 6.2

(1) Za mapu prikazanu na slici 6.3 odredi sve proste implikante za vrednost funkcije 1 u mapi. Napisati minimalni SOP izraz funkcije.

Sl. 6.3. Mapa funkcije od tri promenljive.

1

1

0

1

0

0

0

100

01

11

10

xy

z

0 1

(2) Za sve proste implikante za koju je vrednost funkcije u mapi 0 napisati minimalni SOP izraz za komplement funkcije.

Odgovor:

(1) Za sve jedinice, prosti implikanti su: x y , x z i yz . Minimalni SOP izraz funkcije F je oblika

F x y xz yz= + + .

(2) Za 0, prosti implikanti su: yz , xy, xz . Svaka 0 funkcije pokrivena je od strane prostih implikanata. Ako se obavi OR operacija nad prostim implikantima dobiće se komplement funkcije F koji je oblika

F yz xy xz= + + .

Primer 6.3

(1) Nacrtaj Karnoovu mapu za sledeće funkcije

a) F x y z y z xz x y z xyz xy1 ( , , ) = + + + + , b) F x y z y z xz xy z2 ( , , ) ( )= + + .

(2) Odredi minimalni SOP izraz za F1 i⎯F2.

Odgovor:

(1) Prvo je potrebno konvertovati funkciju u SOP formu (ako nije konvertovana). U konkretnom slučaju F1 je zadata u SOP formi. Karnoova mapa za F1 oblika je

1 - 1 1

1 - - 1

yz x

0

1

00 01 11 10

Napomena: polja popunjena znacima '-' su nule.

Page 5: Pojednostavljanje Prekidackih Funkcija

6. Pojdenostavljenje prekidačkih funkcija 73

Moramo konvertovati funkciju⎯F2 u SOP formu.

F x y z yz xyz xyz2 ( , , ) = + + Karnoova mapa funkcije⎯F2 oblika je

- - 0 0

- - 0 -

yz x

0

1

00 01 11 10

Napomena: polja popunjena znacima '-' su jedinice.

(2) Dva prosta implikanta, prikazana u sledećoj mapi, rezultiraju minimalnoj SOP formi za F1.

yz x

00 01 11 10

0

1

1 - - 1

- 1 1 1

Napomena: polja popunjena znacima '-' su nule.

p1 =⎯z

p2 = xy

F1 = p1 + p2 =⎯z + xy

Dva prosta implikanta prikazana na sledećoj Karnoovoj mapi rezultiraju minimalnoj SOP formi za⎯F2.

F r r yz xz2 1 2= + = +

x 00 01 11 10

0

1

yz

0

0 0 0

r1 = yz

p2 = xz

Primer 6.4

Odredi minimalni SOP i minimalni POS izraz za sledeću funkciju.

F(x, y, z, w) = ΠM(0, 1, 4, 5, 9).

Odgovor:

Karnoova mapa funkcije je sledećeg oblika.

Page 6: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 74

1 1

1

1 1

1 1

1 1

1 0

0

0 0 1

0

00 01 11 10

zw xy

00

01

11

10

Na osnovu mape, minimalni SOP izrazi za F i⎯F su oblika F z xy xw= + + F x z yzw= + Minimalni POS izraz za F se može napisati koristeći činjenicu da je minimalna POS forma od F jednaka minimalna SOP formi od⎯F. Primenom DeMorganove teoreme dobijamo

F = (x + z)(y + z +⎯w)

Primer 6.5

Koristeći Karnoovu mapu redukuj sledeću Bulovu funkciju:

F = Σm(0, 2, 3, 5, 9, 11) Odgovor: Karnoova mapa ima sledeći oblik.

1 1

- -

- 1

- -

- 1

-

- 1 - -

1

00 01 11 10

zw xy

00

01

11

10

Napomena: simbol '-' označava vrednost 0

Odgovarajućim grupisanjem dobićemo:

00 01 11 10

00

01

11

10

1

- -

-

1 -

- -

1 -

- -

- -

1 1

zw xy

Pet od šest mintermova se mogu grupisati u tri para:

Page 7: Pojednostavljanje Prekidackih Funkcija

6. Pojdenostavljenje prekidačkih funkcija 75

wyxzwyxwzyxmmwzyzwyxwzyxmm

wyxwzyxwzyxmm

=+=+=+=+=+=+

119

110

20

Redukovana funkcija biće oblika

F x y z w x yw yzw xyw xyzw( , , , ) = + + +

Primer 6.6

Izvrši redukciju sledeće Bulove funkcije F(x, y, z, w) = Σm(0, 2, 5, 7, 8, 10, 13, 15).

Odgovor:

F x y z w zw zw( , , , ) = +

00 01 11 10

00

01

11

10

1

- 1

-

- -

- 1

- -

1 -

1 -

- 1

zw xy

Primer 6.7

Pojednostavi sledeću Bulovu funkciju F1(x, y, z, w) = Σm(0, 1, 4, 5, 7, 8, 9, 12, 13, 15).

Odgovor:

Na osnovu Karnoove mape imamo da je F1(x, y, z, w) =⎯z + yw.

1

1 1

1

1 1

1 1

- -

1 -

1 -

- -

00 01 11 10

zw xy

00

01

11

10

Primer 6.8

Izvedi minimalni SOP izraz za sledeću funkciju F

F(v, w, x, y, z) = Σm(3, 4, 7, 9, 11, 12, 15, 16, 18, 19, 20, 23, 24, 26, 27, 28, 31), gde su

Page 8: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 76

m2m3

m6m7

m14m15

m10m11

m13m12

m8 m9

m1

m5m4

m0

00 01 11 10

yz v=0,w,x

m18m19

m22m23

m30m31

m26m27

m29m28

m24 m25

m17

m21m20

m16

00 01 11 10

yz v=1,w,x

00

01

11

10

00

01

11

10

donji gornji

m vw x y0 z= m vwx y10 z= m vw x y z m vwx y30 z= =16

mj(decimalno) = mvwxyz(binarno)

Odgovor:

Funkcija F u mapi od pet promenljivih je oblika

00 01 11 10

00

01

11

10

1

1

1

1

1

1

1

00 01 11 10

00

01

11

10

v=1,w,xyz

1

1

1

1

1 1

1

1

1 1

p3 p2

yz v=0,w,x

p1

p4

Minimalan SOP izraz za F je oblika

F p p p p xy z yz vwxz vx z= + + + = + + +1 2 3 4 .

Primer 6.9

Kod nekih Bulovih funkcija za određenu ulaznu kombinaciju nije moguće specificirati izlaz. To znači da pojedine ulazne kombinacije nemaju relevantni efekat na izlaz. Ovakve ulazne kombinacije nazivamo nepotpuno definisanim uslovima (don't care condition), a odgovarajuće mintermove ovih ulaznih kombinacija nazivamo nepotpuno definisanim članovima. Funkcije koje sadrže nepotpuno definisane članove nazivamo nepotpuno definisanim funkcijama (incompletely specified functions). Nepotpuno definisane mintermove umesto sa m označavamo sa d. Posmatrajmo sledeću funkciju

F(x, y, z) = Σm(0, 4, 7) + d(1,2,6) gde su 1, 2 i 6 nepotpuno definisani članovi. S obzirom da se nepotpuno definisane kombinacije ne mogu javiti, izlazu koji odgovara ovim kombinacijama može se dodeliti vrednost 0 ili 1. U najvećem broju slučajeva nepotpuno definisani članovi se mogu koristiti za pojednostavljenje Bulovih funkcija. Karnoova mapa dobijena od funkcije F oblika je

Page 9: Pojednostavljanje Prekidackih Funkcija

6. Pojdenostavljenje prekidačkih funkcija 77

F(x, y, z) =⎯z + xy

*

1

1 * 1

*

xy z

0

1

00 01 11 10

Funkcija F je dobijena grupisanjem mintermova 0 i 4 sa nepotpuno definisanim mintermovima 2 i 6, i grupisanjem minterma 7 sa nepotpuno definisanim mintermom 6. Nepotpuno definisani minterm 1 ostaje neiskorišćen. Za slučaj da nepotpuno definisani mintermovi ne učestvuju u minimizaciji moguće je grupisati samo mintermove 0 i 4. Karnoova mapa i pojednostavljena funkcija su tada oblika F x y z yz xyz( , , ) = +

* 1

xy z

00 01 11 10

0

1

* 1 * 1

Primer 6.10 Minimiziraj sledeću Bulovu funkciju koristeći Karnoovu mapu.

F(x, y, z, w) = Σm(0, 1, 5, 7, 8, 9, 12, 14, 15) + d(3, 11, 13)

Odgovor:

F x y z w w xy yz( , , , ) = + +

00 01 11 10

00

01

11

10

1

1

1

*

1

1

*

*

1

1

1

1

zw xy

Primer 6.11

Pretpostavimo da želimo da izvršimo sintezu kombinacione mreže koja predstavlja konvertor BCD koda "8421" u BCD kod "višak 3". Sledeća tabela prikazuje ove kodove.

Page 10: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 78

"8421" "višak 3"

0 0000 0011

1 0001 0100

2 0010 0101

3 0011 0110

4 0100 0111

5 0101 1000

6 0110 1001

7 0111 1010

8 1000 1011

9 1001 1100

Na osnovu tabele kodova napravićemo kombinacionu tablicu. Mreža će imati četiri ulaza, tj. četiri promenljive koje predstavljaju kodnu reč BCD koda "8421", i četiri izlaza koji će predstaljati odgovarajuću kodnu reč BCD koda "višak 3".

i x1 x2 x3 x4 f1 f2 f3 f4

0 0 0 0 0 0 0 1 1

1 0 0 0 1 0 1 00

2 0 0 1 0 0 1 0 1

3 0 0 1 1 0 1 1 0

4 0 1 0 0 0 1 1 1

5 0 1 0 1 1 0 0 0

6 0 1 1 0 1 0 0 1

7 0 1 1 1 1 0 1 0

8 1 0 0 0 1 0 1 1

9 1 0 0 1 1 1 0 0

10 1 0 1 0 * * * *

11 1 01 1 * * * *

12 1 10 0 * ** *

13 1 1 0 1 * * * *

14 1 1 1 0 * * * *

15 1 1 1 1 * * * *

Zapazimo da za one ulaze koji nisu kodne reči iz koda "8421", izlazne vrednosti nisu definisane.

Page 11: Pojednostavljanje Prekidackih Funkcija

6. Pojdenostavljenje prekidačkih funkcija 79

x3x4

00 01 11 10

x3x4

00 01 11 10

00

01x1x2

11

10 * *

* * * *

1 1 1

1

1

f x x x x x x2 2 3 4 2 4 2minx3= + +

f1 f2

1 1 1

1 1 * *

* * * *

00

01x1x2

11

10

f x x x x1 1 2 4 2minx3= + +

x3x4

00 01 11 10

x3x4

00 01 11 10

00

01x1x2

11

10 * *

* * * *

1

1

1

1

1

f x4 4min=

f3 f4

00

01x1x2

11

10 * *

* * * *

1

1

1

1

1

f x x x3 3 4 3min= + x4

Pošto smo dobili minimalne forme funkcija, možemo da nacrtamo šemu kombinacione mreže kojom se realizuje traženi konvertor. Recimo da na raspolaganju imamo NE kolo i I i ILI kola sa dva ulaza. Ukoliko bi se tražilo da se realizacija izvrši pomoću nekog drugog logičkog kola (na primer, preko NI ili NILI kola) onda bi smo analitičke oblike dobijenih funkcija morali najpre da prevedemo u oblik pogodan za primenu tih kola. Tražena šema se nalazi na slici 6.4.

Page 12: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 80

x1 x2 x3 x4

f2

f3

f4

f1

Sl. 6.4. Kombinaciono kolo konvertora BCD koda "8421" u BCD kod "višak 3".

Primer 6.12

Ponekad je u Karnoovoj mapi pogodnije grupisati nule umesto jedinica. Rezultujuća suma proizvoda predstavlja komplement željenog izraza. Ova suma proizvoda se zatim komplementira koristeći DeMorganovu teoremu tako da rezultat predstavlja izraz tipa minimalni proizvod suma. Ilustracije radi posmatrajmo Karnoovu mapu sledećeg oblika

yz x

0

1

1

1

1

0

0 1

0 0

00 01 11 10

Grupisanjem nula dobijamo funkciju

F x y z xz yz( , , ) = + Kako je

F F xz yz x z y z= = + = + +( )( )

U određenim situacijama komplementarna funkcija rezultira daljoj minimizaciji.

Page 13: Pojednostavljanje Prekidackih Funkcija

6. Pojdenostavljenje prekidačkih funkcija 81

Primer 6.13

Izvedi minimiziranu formu sledeće Bulove funkcije f(x, y, z, w) = Σm(0, 1, 2, 4, 5, 6, 8, 9, 10)

Odgovor:

f x z yz xw yw= + + +

00 01 11 10

00

01

11

10

1

1

0

0

0

0

0

0

1

1

1

0

1

1

1

1

zw xy

Komplementarna funkcija se izvodi grupisanjem nula u Karnoovoj mapi. ⎯f = xy + zw

1

1

0

0

0

0

0

1 1

1

0 1

1

1

1

0

00 01 11 10

zw xy

00

01

11

10

Invertovanjem komplementarne funkcije dobijamo

f f xy zw x y z w= = + = + +( )( ) .

Primer 6.14

Minimiziraj sledeću Bulovu funkciju f(x, y, z, w, v) = Σm(4, 5, 10, 11, 15, 18, 20, 24, 26, 30, 31) + d(9, 12, 14, 16, 19, 21, 25).

Odgovor:

1

1

*

1

1

1

*

*

00 01 11 10

wv x=0, yz

1

1

1

1

1

*

*

1

*

*

00 01 11 10

wv x=1, yz

00

01

11

10

00

01

11

10

Page 14: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 82

Izvršena je podela na dve mape od po četiri promenljive. Jedina razlika između mape x = 0 i mape x = 1 je u tome što je kod x = 0 ulaz yzwz = 1, dok je kod mape x = 1 odgovarajući ulaz 0. Pored toga, ulazi yzw v , yzwv i yzw v kod mape x = 1 su 1, dok su odgovarajući ulazi kod x = 0 mape 0. Stoga je Karnoova mapa od četiri promenljive sa⎯x u ulazu yzwv i x u ćelijama yzwv i yzw v , prikazana na sledećoj mapi, ekvivalentna prethodnim mapama.

*

⎯x

1

1

x

*

x

*

*

1

*

*

00 01 11 10

wv yz

00

01

11

10

Mapa se može redukovati u sledeća dva koraka: Korak 1: grupišu se svi članovi koji imaju 1 i *. Promenljiva tipa slovo u ovom koraku se ignoriše. Nakon ovakvog grupisanja dobijamo sledeću mapu. f x y z w v yzw yzw( , , , , ) = +

⎯x 1

x

x

*

1

*

*

1

*

*

*

00 01 11 10

wv yz

00

01

11

10

Korak 2: grupišu se promenljiva tipa slovo sa susednim 1 ili *. Rezultujući članovi se zatim OR-uju sa članovima iz Koraka 1 sa ciljem da se dobija minimizirana funkcija. f x y z w v xz v yzw yzw xyw( , , , , ) = + + +

00 01 11 10

00

01

11

10

*

*

1

*

*

x

*

x

1

1

⎯x

*

wv yz

Page 15: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 83

6.4. MakKlaskijev metod minimizacije prekidačkih funkcija

Ova metoda se zasniva na pronalaženju, najpre, svih prostih implikanata funkcije, pri čemu se implikant naziva prostim ako nijedan njegov deo ne predstavlja implikant te funkcije. Potom se pronalaze bitni prosti implikanti. Ovi bitni prosti implikanti ulaze u minimalnu disjunktivnu normalnu formu funkcije a njihova odlika je u tome što svaki od njih pokriva funkciju bar na jednom slogu na kome je nijedan drugi prosti implikant ne pokriva. Postupak minimizacije prema ovom metodu se donekle razlikuje za slučaj potpuno definisane funkcije, za slučaj nepotpuno definisane funkcije i za slučaj sistema funkcija. Ove različite slučajeve ćemo proučiti kroz odgovarajuće primere. Pronalaženje prostih implikanata za slučaj potpuno definisane funkcije

Postupak počinje formiranjem tablice u koju ulaze svi binarni indeksi na kojima funkcija ima vrednost 1. Tablica je podeljena na klase indeksa tako da su u svakoj klasi indeksi sa istim brojem jedinica, a klase se međusobno razdvajaju horizontalnom linijom. Postupak se dalje nastavlja tako što se od polazne tablice formira nova tablica udruživanjem binarnih indeksa iz susednih klasa koji se razlikuju samo na jednom bitu. U novoj tablici udruženi indeksi na bitu na kome se razlikuju imaju simbol "x", a u prethodnoj tablici se udruženi indeksi obeležavaju simbolom " ". Postupak se iterativno nastavlja sve dok je udruživanje moguće. Najzad, svi neudruženi indeksi odgovaraju prostim implikantima. Recimo da treba pronaći skup prostih implikanata za funkciju f(x1,x2,x3,x4) zadatu skupom decimalnih indeksa

f (1) = {0,1,2,3,6,7,9,11,12,13,14}. Prva iterativna tablica ima sledeći izgled:

i Pi 0 0000 1 0001 2 0010 3 0011 6 0110 9 1001

12 1100 7 0111

11 1011 13 1101 14 1110

Sada vršimo udruživanje na već opisani način i dobijamo sledeću iterativnu tablicu. Primetimo pri tome da će svi implikanti iz polazne tablice biti označeni kao udruženi, što znači da među njim nema prostih implikanata.

i,j Pi,j 0,1 000x 0,2 00x0 1,3 00x1 1,9 x001 2,3 001x 2,6 0x10 3,7 0x11

3,11 x011 6,7 011x

6,14 x110 a 9,11 10x1 9,13 1x01 b

12,13 110x c 12,14 11x0 d

Page 16: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 84

Nastavljamo sa formiranjem naredne tablice. Uočimo da se implikanti 0,2 i 1,3 mogu udružiti, ali kako se time dobija isto što i kod udruživanja implikanata 0,1 i 2,3 (a što je već ušlo u narednu tablicu), ova kombinacija se ne unosi u narednu iterativnu tablicu ali se dotični implikanti mogu obeležiti kao udruženi.

i,j,k,l Pi,j,k,l 0,1,2,3 00xx e

1,3,9,11 x0x1 f 2,3,6,7 0x10 g

Najzad, više nema mogućnosti za dalje udruživanje. Svi neudruženi implikanti (ovde označeni sa a, b, c, d, e, f i g) formiraju skup prostih implikanata. Drugim rečima, prosti implikanti su:

x x x2 3 4 , x x x1 3 4 , x x x1 2 3, x x x1 2 4 , x x1 2 , x x2 4 i x x1 3 Pronalaženje bitnih prostih implikanata za slučaj potpuno definisane funkcije

Bitni prosti implikanti se pronalaze tako što se formira tablica pokrivanja u koju, po vrstama ulaze pronađeni prosti implikanti, a po kolonama decimalni indeksi na kojima funkcija ima vrednost 1. Tablica pokrivanja se popunjava tako što se u svaku vrstu stavlja zvezdica na mestima koje odgovaraju decimalnim indeksima koje pokriva implikant iz te vrste. Potom se uočavaju kolone sa samo jednom zvezdicom i one se precrtaju, pa se precrtaju vrste koje sadrže precrtane zvezdice, i najzad kolone koje imaju zvezdice u precrtanoj vrsti. Ukoliko posle ovoga nisu sve zvezdice precrtane, tada se formira nova tablica pokrivanja u koju ulaze samo one vrste i kolone koje sadrže neprecrtane zvezdice. Po potrebi se iterativno nastavlja sve dok se sve zvezdice ne precrtaju. U precrtanim vrstama se nalaze bitni prosti implikanti. Međutim, ako u nekoj od iteracija tablica pokrivanja ne sadrži nijednu kolonu sa samo jednom zvezdicom, tada se postupak može nastaviti traženjem pokrivenih vrsta, tj. onih vrsta kod kojih za svaku zvezdicu postoji u odgovarajućoj koloni bar još jedna zvezdica. Pokrivene vrste se precrtaju a nova tablica pokrivanja sadrži neprecrtane vrste. Obično precrtavanje vrsta nije jedinstveno što znači da možemo imati više ravnopravnih rešenja.

0 1 2 3 6 7 9 11 12 13 14 a * * b * * c * * d * * e * * * * f * * * * g * * * * ↑ ↑ ↑

Dakle, kada na ovu tablicu pokrivanja primenimo opisani postupak precrtavanja, dobijamo u precrtanim vrstama bitne proste implikante (oni su zaokruženi). Kako sve zvezdice nisu precrtane, postupak se nastavlja sa preostalim prostim implikantima i neprecrtanim zvezdicama. Na taj način se dobija sledeća iterativna tablica.

12 13 14 a * b * c * * d * *

Kako u ovoj tablici pokrivanja nema kolona sa samo jednom zvezdicom, tražićemo pokrivene vrste. Pokrivene vrste mogu biti one koje odgovaraju implikantima a i c. Ove vrste se precrtaju, i postupak nastavlja dalje. Očigledno je da u ovom slučaju precrtavanje nije jedinstveno!

12 13 14 b * d * * ↑ ↑ ↑

Dobijamo da su bitni prosti implikanti b, d, e, f, g, mada se zbog nejedinstvenosti precrtavanja za minimalne skupove mogu izabrati i a, c, e, f, g kao i c, d, e, f, g. Prema tome, minimalna forma funkcije je:

fmin = b + d + e + f + g = x x x1 3 4 + x x x1 2 4 + x x1 2 + x x2 4 + x x1 3

Page 17: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 85

Pronalaženje prostih implikanata za slučaj nepotpuno definisane funkcije

S obzirom da su nedefinisana stanja ona stanja u kojima funkcija može imati bilo vrednost 0 bilo vrednost 1, na početku uzimamo kao da su umesto "*" jedinice kako bi dobili jednostavniji slučaj. Dakle, prva tablica se pravi na osnovu unije skupa indeksa na kojima funkcija ima vrednost 1 i skupa indeksa na kojima funkcija ima nedefinisanu vrednost. Postupak određivanja prostih implikanata se sada nastavlja kao i u prethodnom slučaju. Recimo da želimo da pronađemo proste implikante za nepotpuno definisanu prekidačku funkciju f(x1,x2,x3,x4) koja je zadata sledećim skupovima decimalnih indeksa:

f (1) = {4,5,7,12,14,15}, i f (*) = {3,8,10}.

Najpre ćemo odrediti uniju ovih skupova decimalnih indeksa.

f (1) ∪ f (*) = {3,4,5,7,8,10,12,14,15}. Sada, na osnovu ove unije formiramo prvu iterativnu tablicu, a zatim postupak teče na uobičajeni način

i Pi 4 0100 8 1000 3 0011 5 0101

10 1010 12 1100

7 0111 14 1110 15 1111

i,j Pi,j 4,5 010x a

4,12 x100 b 8,10 10x0 8,12 1x00

3,7 0x11 c 5,7 01x1 d

10,14 1x10 12,14 11x0

7,15 x111 e 14,15 111x f

i,j,k,l P i,j,k,l 8,10,12,14 1xx0 g

Pronađeni prosti implikanti su a, b, c, d, e, f i g. Pronalaženje bitnih prostih implikanata za slučaj nepotpuno definisane funkcije

Sada se tablica pokrivanja pravi na sličan način kao i kod slučaja potpuno definisane funkcije, ali u ovu tablicu ulaze samo indeksi na kojima funkcija ima vrednost 1. Određivanje bitnih prostih implikanata može se vršiti precrtavanjem kolona sa jednom zvezdicom, tj. kao i ranije, ali se može izvršiti i određivanjem funkcije pokrivanja. Određivanje funkcije pokrivanja se može raditi i u prethodnom slučaju, umesto precrtavanja kolona i vrsta. Funkcija pokrivanja predstavlja proizvod funkcija kolona. Funkcija kolone je zbir implikanata za koje u odgovarajućoj koloni postoji zvezdica. Pošto se odredi funkcija pokrivanja i nađe njena diskjunktivna normalna forma, svaki od proizvoda predstavlja skup dovoljnih implikanata za sintezu optimalne mreže. Koji će se od ovih skupova implikanata odabrati za skup bitnih, tj. za optimalan skup određuje se pomoću faktora ekonomičnosti. Faktor ekonomičnosti e se računa po formuli

ec n

=+ +

11

,

gde je c ukupan broj članova u disjunktivnoj normalnoj formi funkcije a n ukupan broj simbola koje se javljaju. Za minimalni skup se uzima onaj skup dovoljnih implikanata koji ima najveći faktor ekonomičnosti. Za naš primer dobijamo sledeću tablicu pokrivanja.

4 5 7 12 14 15 a * * b * * c * d * * e * * f * * g * *

Funkcija pokrivanja je sada jednaka:

Page 18: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 86

ψ = (a+b)(a+d)(c+d+e)(b+g)(f+g)(e+f)

= aeg + bdf + acfg + abcf + adfg + abef + bdeg Implikanti koji formiraju pojedine proizvode u disjunktivnoj formi funkcije pokrivanja čine dovoljne skupove za sintezu mreže, a na osnovu faktora ekonomičnosti se opredeljujemo za implikante a, e i g. Prema tome, minimalna forma funkcije je:

fmin = a + e + g = x x x1 2 3 + x x + x2 3 4 x x1 4

Pronalaženje prostih implikanata za slučaj sistema funkcija

Ovde se početna tablica pravi na osnovu unije skupova decimalnih indeksa na kojima pojedine funkcije iz sistema imaju vrednost 1. Uz to se tablici doda onoliko kolona koliko ima funkcija u sistemu. Ove dodatne kolone se popunjavaju zvezdicama tako da označavaju pripadnost implikanta funkcijama. Udruživanje implikanata, uz prethodni uslov da se razlikuju na samo jednoj bit poziciji, vrši se samo ako je ispunjeno da implikanti imaju bar jednu zvezdicu u istoj koloni. U narednoj iterativnoj tablici se upisuju samo one zvezdice koje su bile "zajedničke", tj. one koje su dotičnoj koloni bile upisane za oba implikanta. Ovde je još bitno i to da se implikant može označiti kao udružen samo ako se u novoj tablici javljaju zvezdice u istom broju i rasporedu kao što je to bilo u vrsti prethodne tablice koja odgovara tom implikantu. Neka treba minimizirati sistem prekidačkih funkcija fi(x1,x2,x3,x4), i=1,2,3, datih skupovima decimalnih indeksa:

f1(1) = {2,11,12,13,14,15},

f2(1) = {3,7,11,12,13,14,15},

f3(1) = {3,7,12,13,14,15}.

Polazni skup implikanata predstavlja uniju ovih skupova decimalnih indeksa.

f (1) = f1(1) ∪ f2

(1) ∪ f3(1) = {2,3,7,11,12,13,14,15}

Iterativne tablice imaju sledeći izgled:

i Pi f1 f2 f3 2 0010 * a 3 0011 * *

12 1100 * * * 7 0111 * *

11 1011 * * 13 1101 * * * 14 1110 * * * 15 1111 * * *

i,j Pi,j f1 f2 f3 3,7 0x11 * * b

3,11 x011 * 12,13 110x * * * 12,14 11x0 * * *

7,15 x111 * * c 11,15 1x11 * * d 13,15 11x1 * * * 14,15 111x * * *

i,j,k,l Pi,j,k,l f1 f2 f3

3,7,11,15 xx11 * e 12,13,14,15 11xx * * * f

Posle opisanog postupka udruživanja dobijamo da su prosti implikanti oni koji su označeni sa a - f. Pronalaženje bitnih prostih implikanata za slučaj sistema funkcija

U tablicu pokrivanja ulaze svi pronađeni prosti implikanti, ali sada po kolonama pišemo decimalne indekse za svaku funkciju posebno. Na osnovu ovakve tablice pokrivanja određujemo zajedničku funkciju pokrivanja koja je jednaka proizvodu funkcija pokrivanja koje odgovaraju delovima tablice za pojedine funkcije. Na osnovu ovoga dobija se skup dovoljnih implikanata za sintezu sistema funkcija. Sada se za svaku funkciju posebno pravi tablica pokrivanja u koju ulaze dovoljni implikanti i decimalni indeksi dotične funkcije. Bitni prosti implikanti se sada mogu odrediti precrtavanjem vrsta i kolona ili pomoću funkcije pokrivanja.

Page 19: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 87

2 11 12 13 14 15 3 7 11 12 13 14 15 3 7 12 13 14 15 a * b * * * * c * * * * d * * * * e * * * * f * * * * * * * * * * * *

ψ1 = adf(d+f) = adf ψ2 = (b+e)(b+c+e)(d+e)f(c+d=e+f) = (e+bd)f ψ3 = b(b+c)f(c+f) = bf

ψ = ψ1 ψ2 ψ3 = adf(e+bd)fbf = abdef(e+bd) = abdf

Dakle, dovoljan skup implikanata čine implikanti a, b, d i f. Nastavljamo sa formiranjem tablica pokrivanja za svaku funkciju posebno, unoseći samo implikante iz skupa dovoljnih implikanata.

2 11 12 13 14 15a * b d * * f * * * * ↑ ↑ ↑ ↑ ↑

f1min = a + d + f

3 7 11 12 13 14 15a b * * d * f * * * * ↑ ↑ ↑ ↑ ↑ ↑ ↑

f2min = b + d + f

3 7 12 13 14 15a b * * d f * * * * ↑ ↑ ↑ ↑ ↑ ↑

f3min = b + f

6.5 Minimizacija kombinacionih mreža sa većim brojem ulaza i izlaza Kombinacioni logičke blokove sa većim brojem ulaza i izlaza danas uobičajeno srećemo kod složenih logičkih sistema kakvi su recimo VLSI ICs (Very Large Scale of Integration Integrated Circuits - integrisana kola vrlo visokog stepena integracije). Površina koju zauzimaju ovi kombinacioni blokovi ima značajan efekat na projektovanje VLSI kola, jer globalni cilj projektanata treba da bude uvek usmeren ka ugradnji što je moguće većeg iznosa logike na što manju površinu čipa. Zbog toga se kod minimizacije funkcija sa većim brojem izlaza ne posmatra samo funkcija sa jednim izlazom nego se analiziraju članovi tipa proizvod koji su deljivi između većeg broja funkcija. Kao rezultat se dobija kolo koje ima manji broj gejtova u odnosu na rešenje kod kojeg se svaka funkcija minimizira nezavisno. Tako na primer, ako se sledeće dve funkcije minimiziraju nezavisno, rezultat će biti kao na slici 6.5. F xyzw xyzw xyzw xyzw1 = + + + F xyzw xyzw xyzw xyzw xy zw xy zw2 = + + + + +

Sl. 6.5. Nezavisna minimizacija svakog od izlaza.

00 01 11 10

00

01

11

10

xy zw

1 1

1

1

00 01 11 10

zw xy

00

01

11

10

1 1 1 1 1 1

x xy z F xyz xzw1 = + F xz xw2 = + z

x xz w w

Page 20: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 88

Ako se sada funcije F1 i F2 minimiziraju na način prikazan na slici 6.6, jedan od članova tipa proizvod, xzw, je zajednički za obe funkcije, tako da rezultujuće kolo može da se realizuje sa manjim brojem gejtova.

Sl. 6.6. Minimizacija kada se uzimaju u obzir deljivi članovi.

U principu, određivanje članova tipa deljivi proizvod iz velikog broja Bulovih jednačina je težak zadatak. Uobičajeno, kod projektovanja ovakvih mreža projektanti se oslanjaju na pomoć koju pružaju zaista moćni CAD (Computer Aided Design) alati.

Primer 6.15.

Neka su zadate sledeće funkcije

F1 = Σm(0, 2, 4, 5, 9, 10, 11, 13, 15), F2 = Σm(2, 5, 10, 11, 12, 13, 14, 15), F3 = Σm(0, 2, 3, 4, 9, 11, 13, 14, 15).

Izvrši minimizaciju mreže koja se realizuje ovim funkcijama.

Odgovor:

Karnoove mape ovih funkcija su oblika: Individualna minimizacija ovih funkcija rezultira sledećim članovima tipa proizvod

00 01 11 10

zw

00

01

11

10

xy

1 1

1

1

00 01 11 10

zw xy

00

01

11

10 1 1 1

1 1 1

x y z F xyz xzw1 = +

w

F xz xzw2 = +

00 01 11 10

00

01

11

10

xy zw

1 1

1

1

00 01 11 10

zw

00

01

11

10

xy

1 1

1

1

1

1

00 01 11 10

zw xy

00

01

11

10 1 1

1

1

1

1

1

1

1 1

1 1 1 1 1

1

F x zw yzw xw yzw1 = + + + F xy yzw xz yzw2 = + + + F xzw x yz xyw xz3 = + + +

Page 21: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 89

član funkcije

xzd F1, F3

yzd F1, F2

xz F2, F3

y zw F1, F2

Od ukupno 12 članova tipa proizvod, četiri su deljiva. Zbog toga se izrazi za F1, F2 i F3 mogu napisati na sledeći način

F1 = D + A + xw + C, F2 = xy + A + B + C, F D x yz B xyw3 = + + + , gde su: A = yzd , B = xz, C = y zw i D = x zw . Pojednostavljenje funkcija rezultira jednačinama: F zF wF yF1 3 2 2 , = + + F yzw yzw xz xy=2 , + + + F x zw xyz F yz xw3 2= + + + .

⎯y

F1w

y ⎯z

⎯z w

⎯y

Sl. 6.7. Višenivovska implementacija.

y

y

⎯y

⎯w z F2

x

z

x z

x F3w

⎯x

z

⎯x ⎯z ⎯w

Page 22: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 90

6.6. NAND-NAND i NOR-NOR logika

Do sada smo analizirali postupak pojednostavljenja Bulovih funkcija. Pri tome smo ukazali da se pojednostavljena SOP funkcija implementira AND-OR, a pojednostavljena POS OR-AND logikom. U daljem tekstu pokazaćemo kako se bilo koja logička funkcija može implementirati pomoću NAND ili NOR logičkih kola.

6.6.1 NAND-NAND logika Sve Bulove funkcije SOP tipa mogu se realizovati pomoću dvonivovske logike koja sadrži samo NAND kola. Na primer, izraz

f x y z x yz xyz xyz xyz xyz( , , ) = + + + +

možemo minimizirati koristeći se postupkom algebarske manipulacije.

f x y z x z y y x x yz x x yz

x z yz yz

( , , ) ( ) ( ) ( )= + + + + +

= + +

Postepeni postupak direktne minimizacije ove funkcije prikazan je na slici 6.8a-c.

f

a3

a2

a1

a) f a a a xz yz y= + + = + +1 2 3 z f a a a b) = + +1 2 3

f

a3

a2

a1

⎯y

y

⎯z

z

z

⎯x

a3

a2

a1

⎯a3

⎯a2

⎯a1

⎯y

y

⎯z

z

z

⎯x

f

⎯a3

⎯a2

⎯a1

⎯y

y

⎯z

z

z

⎯x

c) f a a a a a a= = + +1 2 3 1 2 3

Sl. 6.8. Postupak sinteze funkcije NAND-NAND logičkim kolima.

Analizirajući sliku 6.8 treba naglasiti da je ova implementacija zasnovana na pretpostavci da je svaki od ulaza raspoloživ u svojoj pravoj i komplementarnoj formi. Ako to nije slučaj, tada se dvonivovska implementacija sa NAND kolima (slika 6.8.c) može implementirati pomoću tronivovske logike sa NAND kolima, kako je to prikazano na slici 6.9.

Page 23: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 91

I nivo II nivo III nivo

674 84 674 84 674 84

f xz yz yz= + +z y

x

Sl. 6.9. Tronivovska prezentacija kola sa slike 6.8 pomoću NAND logičkih kola.

Primer 6.16

Implementirajmo sledeću funkciju koristeći dvonivovsku NAND logiku. F(x, y, z, w) = Σm(2, 3, 4, 6, 9, 11, 12, 13)

Odgovor:

00

01

11

10

zw 00 01 11 10

1

1 1

1 1

1 1

1

xy

F x y z w yzw xzw yzw xzw( , , , ) = + + + Komplementiranjem izraza dobijamo F x y z w yzw xzw yzw xzw( , , , ) = + + + . Ponovnim komplementiranjem dobijamo

F x y z w yzw xzw yzw xzw

yzw xzw yzw xzw

( , , , ) = + + +

= ⋅ ⋅ ⋅

NAND-NAND realizacija prikazana je na slici 6.10.

Page 24: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 92

F

x

y

w ⎯w⎯zz ⎯yy ⎯xx

z

z

Sl. 6.10. NAND-NAND realizacija funkcije F = Σm(2, 3, 4, 6, 9, 11, 12, 13).

6.6.2 NOR-NOR logika Sve Bulove funkcije izražene u formi POS mogu se implementirati koristeći dvonivovsku NOR logiku. Ilustracije radi, neka je data funkcija

F x y z x z x y x z1 ( , , ) ( )( )( )= + + + . Na slici 6.11a prikazana je njena OR-AND implementacija, a na slici 6.11b-c njena postepena transformacija u formu NOR-NOR.

b) F x

x

z

⎯x

⎯y

F1F1

x b1

b2

b3

⎯b1

⎯b2

⎯b3

b1

b2

b3

y

z z

x

a) F x z x y x z1 = + + +( )( )( ) y z b b b1 1 2 3( , , ) =

F1

⎯x z ⎯z ⎯y

⎯b1

⎯b2

⎯b3

x y x y z

c) F x y z b b b b b b1 1 2 3 1 2 3( , , ) = + + =

Sl. 6.11. Implementacija funkcije F1 pomoću NOR-NOR kola.

Page 25: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 93

Primer 6.17

Pomoću NOR-NOR logike implementiraj sledeću Bulovu funkciju F x y z w xy xz xzw xyw2 ( , , , ) = + + +

Odgovor:

Komplementarna POS forma funkcije F2 se dobija iz Karnoove mape grupisanjem nula

F xw x yz xyz

x w x y z x y z

2 = + +

= + + + + + + +( )

00

01

11

10

0 0

0

0

0

0

01

zw 00 01 11 10 xy

Rezultujuće NOR-NOR kolo prikazano je na slici 6.12. z y x ⎯x ⎯y ⎯z

F1

⎯b3

⎯b2

⎯b1x

y

z

Sl. 6.12. NOR-NOR implementacija funkcije F2.

6.6.3 Implementacija kombinacione logike pomoću ExOR logičkih kola Kao što smo već pokazali u glavi 5 (vidi sliku 5.11) ExOR logičko kolo se realizuje pomoću logičkih kola tipa AND, OR i NOT. Ipak, Bulov izraz za ExOR funkciju se algebarskom manipulacijom može implementirati pomoću četiri dvoulazna NAND logička kola na sledeći način.

Page 26: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 94

f x y x y xy xy

xy yy xy xx

y x y x x y

y x y x x y

y x y x x y

y xy y xy

( , )

( ) ( )

( ) (

( ) (

)

)

= ⊕ = +

= + + +

= + + +

= + ⋅ +

= + ⋅ +

= ⋅ ⋅ ⋅

Za implementaciju ovog izraza, kako je to prikazano na slici 6.13, koriste se dvoulazna NAND logička kola.

x

f

y

Sl. 6.13. Implementacija ExOR kola NAND logičkim kolima.

Korišćenje ExOR operacije prate sledeća interesantna pravila. x ⊕ x = 0 x ⊕⎯x = 1 1 ⊕ x =⎯x 0 ⊕ x = x x + y = x ⊕ y ⊕ xy = x +⎯x y x(y ⊕ z) = xy ⊕ xz ExOR funkcija se može proširiti na bilo koji broj ulaznih promenljivih kada se ExOR logička kola povežu kaskadno. Na slici 6.14 prikazano je četvoroulazno ExOR kolo.

F = x ⊕ y ⊕ z ⊕ w

w

z

y

x

Sl. 6.14. ExOR kolo sa četiri promenljive.

Izlaz kola sa slike 6.14 je 0 ako su svi ulazi 0 ili je broj ulaza koji su postavljeni na 1 paran. Kada je broj ulaza koji su postavljeni na 1 neparan izlaz je na 1. Kolo sa slike 6.14 poznato je i kao kolo za proveru parnosti (parity checker). ExOR logičko kolo se može koristiti i kao programibilni invertor (slika 6.15). Kada je upravljački ulaz x= 0, tada je z = y, a za slučaj x = 1 imamo x =⎯y.

Page 27: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 95

y

z x y z 0 0 0 0 1 1 1 0 1 1 1 0

x

Sl. 6.15. ExOR kolo kao programibilni invertor.

6.7. Korisna kola

Ukazaćemo sada na jedan od osnovnih problema koji se javlja kod projektovanja kombinacione logike, a odnosi se na upravljanje prenosom binarne informacije između nekoliko tačaka u kolu. U konkretnom slučaju, obavlja se operacija premeštanja ili kopiranja bez promene vrednosti logičkih podataka, tj. ne vrši se obrada nad podacima. Često nekoliko izvora podataka koristi (ima) zajedničko odredište, ili jedan izvor može da predaje podatke za nekoliko različitih odredišta. S obzirom da pojedina odredišta mogu u datom trenutku da prihvataju signale samo sa jednog izvora, put za prenos podataka između izvora i odredišta mora u izvesnom smislu biti deljiv. Deljivi putevi podataka se takođe prvenstveno koriste da smanje broj linija koji je potreban za komuniciranje, a time i redukuju cenu hardvera sistema. Nezavisno od toga kako ćemo ostvariti ovaj cilj, evidentno je da je potrebno projektovati specijalna kola za ovu namenu. Na slici 6.16 prikazani su osnovni metodi koji se odnose na deobu prenosnih puteva koji se koriste u toku operacija prenosa podataka. Usvojićemo, za trenutak, da nas interesuje prenos podataka samo u jednom smeru, iz jednog ili više izvora podataka ili predajnika ka jednom ili više odredišta podataka ili prijemnika. Najjednostavniji slučaj prikazan je na slici 6.16a, kod koga jedan izvor mora istovremeno da "emituje" (preda) svoje podatke ka skupu od m ≥ 1 odredišta. Logičko kolo koje je u ovom slučaju potrebno naziva se žičana mreža (wiring network), a implementira se jednostavnim povezivanjem izlazne linije izvora S (ili k izlaznih linija za slučaj da se vrši paralelni prenos podataka) ka svakom od odredišta D1, D2, ... , Dm. Ako je potrebno, ugrađuju se baferi ili drajveri za pobuđivanje žičane mreže kako bi se ispunili zahtevi koji se odnose na ograničenja opteretljivosti standardnih logičkih kola.

demultiplekser (DEMUX)

adresa odredišta A

S

Dm

D2

D1

.. .

izvor

S→

Dm

D2

D1

. . .

S1

multiplekser (MUX)

adresa izvora A

D .. .

S2

Sn odredišta c) b) a)

Sl. 6.16. Veze kod prenosa podataka: (a) simultani prenos od jednog izvora ka većem broju odredišta; (b) sa jednog od više izvora ka jednom odredištu; i (c) ka jednom od većeg broja odredišta sa jednog izvora.

6.7.1. Multiplekseri Multiplekser, često u oznaci MUX, omogućava da se jedan i samo jedan od n izvora logički poveže, u datom trenutku, na zajedničko odredište D. Izvor Si koji se u datom trenutku bira određen je od strane adresa ili selektorskih ulaza A. Signali A se interpretiraju kao binarna celobrojna vrednost i, a koriste se za aktiviranje kola

Page 28: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 96

koja selektuju željeni izvor Si, čija je numerička adresa i. Promenom signala A sa i na j, menja se i ulazni izvor za prenos podataka kroz multiplekser sa Si na Sj. Postupak projektovanja multipleksera sprovešćemo na jednostavnom MUX-u koji se koristi za povezivanje jednog od dva jednobitna izvora xo i x1 na zajedničko odredište z. Za identifikaciju selektovanog odredišta potreban je jedan adresni bit a tako da, pri a = 0, selektovani xo se povezuje sa z, a pri a = 1 bira se x1. Željeno kolo ima tri ulazne linije i jednu izlaznu. Izlazna funkcija Z(a, xo, x1) koja se ralizuje od strane MUX-a specificira se pomoću Karnoove mape sa tri promenljive (slika 6.17).

0 0

0 0 1 1

1 1

xox1 00 01 11 10

0 a

1 izlaz podataka

Q adresa izvora

a) b)

ulazni podaci

z

x1

x0

Sl. 6.17. Multipleplekser tipa 2-u-1: (a) Karnoova mapa; (b) implementacija logičkog kola.

Minimalni SOP izraz oblika je

z =⎯axo + ax1.

Multiplekseri se danas izrađuju kao integrisana kola. Postoji veći broj varijanti izvođenja multipleksera, a jedna od njih prikazana je na slici 6.18.

Enable Selekt Ulazi Izlazi ⎯E S0 S1 x0 x1 x2 x3 z ⎯z 1 - - - - - - 0 1 0 0 0 0 - - - 0 1 0 0 0 1 - - - 1 0 0 0 1 - 0 - - 0 1 0 0 1 - 1 - - 1 0 0 1 0 - - 0 - 0 1 0 1 0 - - 1 - 1 0 0 1 1 - - - 0 0 1 0 1 1 - - - 1 1 0

⎯E

⎯z

z

x3

x2

x1

x0

4-u-1 MUX

b) Istinitosna tablica. S0 S1 a) Logički simbol.

Sl. 6.18. Multiplekser 4-u-1.

Page 29: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 97

x3

x2

x1

x0 z ⎯z

⎯E S0 S1

c) Implementacija logičkog kola.

Sl. 6.18 (nastavak). Multiplekser 4-u-1.

Na slici 6.19 prikazana je implementacija MUX-a 32-u-1 pomoću osam MUX-a tipa 4-u-1 i jednog MUX-a tipa 8-u-1. S1

.

.

.

8-u-1 MUX8

4-u-1 MUX7

4-u-1 MUX1

4-u-1 MUX0

x31

x30

x29

x28

x7

x6

x5

x4

x3

x2

x1

x0

z

z7

z1

z0

S4S3S2

S0

Sl. 6.19. Multipleksersko kolo 32-u-1.

Page 30: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 98

Multiplekseri se mogu koristiti za implementaciju logičkih funkcija. Na primer, multiplekser tipa 4-u-1 se može koristiti za generisanje bilo koje moguće funkcije od tri promenljive, shodno sledećoj relaciji

z S S x S S x S S x S S x= + + +1 0 0 1 0 1 1 0 2 1 0 3 . Za MUX sa 2k ulaza važi relacija

z S S S Sk k ii

= − −

x∑ & & & &1 2 1 0L

1 244 344binarna adresa i

.

Primer 6.18

Implementiraj funkciju F od tri promenljive pomoću MUX-a tipa 4-u-1. F x y z yz xy xyz( , , ) = + +

Odgovor:

Odgovarajuća istinitosna tabllica i implementacija MUX-a prikazane su na slici 6.20.

x y z F

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

(a) Istinitosna tablica. (b) Implementacija multipleksera.

Sl. 6.20. Multiplekser koji realizuje funkciju F x y z yz xy xyz( , , ) = + + .

Primer 6.19 Implementacija funkcije MUX kolom može se opštije opisati na sledeći način: Bilo koja logička funkcija f(x1, x2, ... ,xn) od n promenljivih se može razviti po bilo kojoj od n promenljivih na sledeći način.

f x x x x x x x x x f x

x x x x f x

x x x x f x

x x x x f x

x x x x f x

n n n n n n

n n n

n n n

n n n

n n n

( , , , , , ) ( ,0,0, )

( ,0, ,

( , ,0,

( , , , )

( , , , , , )

1 2 2 1 1 2 2 1

1 2 2 1

1 2 2 1

1 2 2 1

1 2 2 1

0,0,

0,0, 1

0,0, 1

0,0, 11

11 11

K L

L K

L K

L K

M

L K

− − − −

− −

− −

− −

− −

)

)

K=

+

+

+

+

U ovom izrazu svaki od f(i1, i2, ... ,in-1, xn), gde ij∈{0, 1}, je funkcija ostatka od jedne promenljive xn i može da uzima jednu od sledeće četiri vrednosti 0, 1, xn ili⎯xn. Ovom jednačinom se opisuje rad miltipleksera tipa 2n-1-u-1, pri čemu je promenljiva xi povezana na selekt liniju Si, a veličina koja predstavlja funkciju f(i1, i2, ... ,in-1, xn) je povezana na ulaz Ij (gde je j decimalni ekvivalenat od i1i2,...in-1). Implementiraj sledeću funkciju od pet promenljivih.

f x y z w v x yz x yzw x yw x yzw xv yzv z v( , , , , ) = + + + + + +

Odgovor:

Imajući u vidu da je n = 5 funkcija f(x, y, z, w, v) može se realizovati multiplekserom tipa 16-u-1. Razvićemo funkciju po promenljivoj v na sledeći način

f x y z w v x y zwf x y zwf x y zwf x y zwf x yzwf x yzwf( , , , , ) = + + + + + +0 1 2 3 14 15K ,

y z

4-u-1 MUX

z F

S0 S1

x

0

⎯x

1

I0

I1

I2

I3

Page 31: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 99

gde je f0 = f(0,0,0,0,v) = 1, f1 = (0,0,0,1,v) = 1, f2 = (0,0,1,0,v) =⎯v, f3 =⎯v, f4 = v, f5 = 1, f6 = 0, f7 = 0, f8 = 1, f9 = v, f10 = 1, f11 = 1, f12 = v, f13 = 1, f14 = v i f15 = v (ovo mi određujemo). Na slici 6.21 prikazana je implementacija gornjeg izraza gde su x, y, z i w upravljački ulazi, a v je multipleksirana promenljiva. Informacija koja se dobija razvojem funkcije se može prikazati tabelarno, kako je to dato na slici 6.22.

1 0

I0

I1

I2

I3

I4

I5

I6

I7

I8

I9

I10

I11

I12

I13

I14

I15 S0 S1 S2 S3

MUX 16-u-1

EN

w z y x

0

v

v

v

v

v

⎯v ⎯v

f

Sl. 6.21. Multiplekser koji implementira funkciju f x y z w v x yz x yzw x yw x yzw xv yzv z v( , , , , ) = + + + + + + .

U opštem slučaju, multiplekser sa S selektorskih linija može da realizuje funkciju sa S+1 promenljivom.

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

f(i1=x, i2=y, i3=z, i4=w, v) 1 1 ⎯v ⎯v v 1 0 0 1 v 1 1 v 1 v v

Napomena: U prvoj vrsti su decimalni indeksi odgovarajćih mintermova.

Sl. 6.22. Izbor upravljačkih signala i multipleksiranih promenljivih.

6.7.2. Demultiplekseri Demultiplekser je kolo koje obavlja funkciju suprotnu multiplekseru, tj. vrši prenos podatka od jedinstvenog izvora S ka jednom od m odredišta Di čija je adresa i specificirana adresnim linijama A. Kada A čini k linija ak-1ak-2...a0, tada je pogodnije učiniti da bude m = 2k. To znači, da ako demultiplekser ima jedinstvenu ulaznu liniju podataka x, izlazna linija zi koja predaje podatke odredištu Di se definiše kao

z a a a a xi k k= − −& & & &1 2 1 0L1 244 344

binarna adresa i

.

Ilustracije radi, demultiplekser tipa 1-u-4 se specificira pomoću sledećih jednačina.

Page 32: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 100

z a a

z a a x

z a a

z a a

0 1 0

1 1 0

2 1 0

3 1 0

x

x

x

=

=

=

=

Logički simbol, istinitosna tablica i implenetacija demultipleksera pomoću NAND kola i invertora prikazana je na slici 6.23.

adresni ulazi (adresa odredišta)

odredišta

ulaz

Q0 Q1

x

D0

D1

D2

D3

z0

z1

z2

z3

adresni ulazi ulaz izlazi Q0 Q1 x z0 z1 z2 z3

0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1

a) Logički simbol. b) Istinitosna tablica.

Q0⎯Q0 ⎯Q1Q1

Sl. 6.23. Demultiplekser tipa 1-u-4.

z0

z1

x z2

z3

Q0

Q1

c) Dijagram kola.

Primer 6.20

Pokaži kako izgleda struktura sistema koja koristi jedinstveni komunikacioni put za prenos informacije od 8 izvora ka 16 odredišta.

Page 33: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 101

Odgovor:

DEMUX 1-u-16

b0b1b2b3

adrese izvora

ulazni podaci

MUX 8-u-1

a0a1a2

x5

x6

x1

x3

x7

x4

x2

x0

z0

z1

z2

z3

z4

z5

z6

z7x z

z8

z9komunikacioni put z10

z11

z12

z13

z14

z15

izlazni podaci

adrese odredišta

Sl. 6.24. Struktura sistema koja radi u vremenskom multipleksu a koristi se za jedan od 8 ulaza preko jedinstvenog komunikacionog puta na jedan od 16 izlaza.

6.7.3. Dekoderi Ako kod demultiplekserskog kola adresni ulazi a0, a1,..., ak-1 promene mesta sa ulaznim signalom x, dobiće se jedno veoma korisno kolo koje se naziva dekoder. Ulaz x ima sada ulogu upravljačkog ulaza i naziva se Enable (slika 6.25). Kao i multiplekseri, tako su i dekoderi/demultiplekseri dostupni na tržištu kao integrisana kola srednjeg stepena integracije. Poznatije konfiguracije su dekoderi tipa 2-u-4, 3-u-8 i 4-u-16. Dekoder bilo kog obima može se realizovati povezivanjem nekoliko manjih dekodera. Tako na primer, dekoder tipa 6-u-64 se može konstruisati pomoću četiri dekodera 4-u-16 i jednog dekodera tipa 2-u-4 (slika 6.26). Kod kola sa slike 6.25 istinitosna tablica je ista kao na slici 6.23b.

Page 34: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 102

Q0⎯Q0 Q1⎯Q1

izlazi

x

ulazi

Enable

Q1

Q0

D3

D2

D1

D0

Sl. 6.25. Dekoder 2-u-4.

0

1

2

14

15 En

A0A1A2

A3. . .

dekoder 4-u-16

16

17

18

30

31 En

A0

A1A2

A3. . .

dekoder 4-u-16

32

33

34

46

47 En

A0A1A2

A3. . .

dekoder 4-u-16

48

49

50

62

63 En

A0

A1A2

A3. . .

dekoder 4-u-16

izlazi

z0

z1

z2

z3

a0

a1

a2

a3

a4

1

a5

En

dekoder 2-u-4

Sl. 6.26. Dekodersko kolo 6-u-64.

Page 35: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 103

Primer 6.21

Implementiraj sledeću funkciju koristeći dekoder tipa 3-u-8.

F x y z xy x yz

F x y z xy xy1

2

( , , )

( , , )

= +

= +

Odgovor:

Prvo obe funkcije moramo izraziti u kanoničkoj formi.

{ { {

{ { { {

F x y z xyz xyz x yz

F x y z xyz xyz xyz xyz

17 6 0

23 2 4 5

( , , )

( , , )

= + +

= + + +

Implementacija funkcija F1 i F2 pomoću dekodera 3-u-8 prikazana je na slici 6.27.

dekoder 3-u8

D0

D1

D2

D3

D4

D5

D6

D7

F2

F1

En 1

x yz

x yz

x yz

x yz

x yz

x yz

x yz

x yz

x

y

z

Sl. 6.27. Implementacija F x y z xy x y z1 ( , , ) = + i F x y z xy xy2 ( , , ) = + korišćenjem dekodera 3-u-8 i OR kola.

6.8. Magistrale sa tri stanja

Logička kola o kojima smo do sada govorili (multiplekseri i demultiplekseri) koriste se za prenos podataka po deljivoj liniji (linijama) magistrale u jednom smeru. Naime, ova kola mogu da ostvare prenos signala od jednog kraja A linije L do drugog kraja B, ali ne i od B ka A. Ako se na liniju L povežu logički elementi sa tri stanja, tada se prenos može učiniti dvosmernim (bidirekcionim), tj. da se podaci prenose od A ka B tokom jednog vremenskog perioda, a od B ka A tokom drugog. To obično znači da jedan logički sklop može da se koristi i kao izvor podataka (predajnik) i kao odredište (prijemnik) kada se isti poveže na magistralu preko gejtova sa tri stanja. Gejt sa tri stanja karakteriše se stanjem visoke impedanse kao normalne vrednosti na izlazu, pored uobičajenih vrednosti 0 i 1. Gejtovi sa tri stanja se izvode u većem broju varijanti. Dve tipične varijante prikazane su na slici 6.27. Upravljački ulaz e (slika 6.28a) naziva se enable signal. Kada je e = 1 tada je y =⎯x, a za e = 0 imamo y = z. Za kolo sa slike 6.28b upravljački ulaz d se zove disable signal, tj. za d = 0 imamo y = x, a za d = 1 je y = z. Logika sa tri stanja se uglavnom koristi za prenos signala od jednog dela sistema ka drugom. Kolo koje omogućava da se samo jedan od n izvornih sklopova S1, S2,...,Sn u datom trenutku logički poveže sa deljivim odredišnim sklopom D preko bafera sa tri stanja prikazano je na slici 6.29.

Page 36: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 104

x y x y

e d (Enable) (Disable)

ulazi izlaz ulazi izlaz

x e y x d y 0 0 Z 0 0 0 0 1 1 0 1 Z 1 0 Z 1 0 1 1 1 0 1 1 Z

a) b)

Sl. 6.28. Opšte kolo sa tri stanja. (a) Invertor sa tri stanja i enable linijom; (b) bafer sa tri stanja i disable linijom.

Z

Z

x

Z

e0 = 0

e1 = 1

e2

e3

B3

B2

B1

B0

a1 = 0

a0 = 1

izvori

S3

S2

S1 = x

S0

D = x odredište

izvorne

adrese a

Sl. 6.29. Multiplekser 4-u-1 projektovan pomoću bafera sa tri stanja.

Na slici 6.30 prikazano je kako se deljiva komunikaciona linija, poznata kao magistrala sa tri stanja, koristi za povezivanje većeg broja logičkih uređaja E1, E2,..., En. Svaki uređaj može da preda signal na L, preko bafera sa tri stanja, a da primi podatke sa magistrala preko klasičnog bafera ili preko drugog bafera sa tri stanja.

Page 37: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 105

Kombinovani baferski par je poznat kao primopredajnik sa tri stanja (tranceiver). U datom trenutku dva od n uređaja, Ei i Ej, mogu da komuniciraju preko svojih primopredajnika, pri čemu je jedan predajnik a drugi prijemnik. Kolo koje određuje koji će od sklopova E1, E2,..., En biti predajnik a koji prijemnik naziva se arbitar i ono nije prikazano na slici 6.30. linija magistrale L aktivni komunikacioni put

Zi Z

x1 Z1 e1 = 0

E1

1 2444 3444

Zi Zi

xi Zi

E predajniki −1 2444 3444

ei = 1

Zi Z

xj Zj ej = 0

E prijemnikj −1 2444 3444

... ...

primopredajnik

...

En

1 2444 3444

en = 0 Znxn

Z Zi

Sl. 6.30. Magistrala sa tri stanja L.

6.9. Programabilna kola

Termin programabilno logičko kolo (programmable logic device - PLD) se danas standardno koristi za integrisana kola koja se sastoje od fiksnog bazičnog skupa osnovnih komponenata kakvi su komutatori (prekidači), gejtovi ili kompleksnije ćelije, ali čije se međusobno povezivanje može "krojiti" na aplikativno specifičan način, što omogućava široku primenu ovih kola. Najveći broj PLD kola se sastoji od AND polja iza koga sledi OR polje. Ulazi u PLD kolo se uvode u AND polje preko bafera koji generišu prave i komplementarne vrednosti ulaznih signala. Svaki gejt AND polja generiše minterm od ulazno promenljivih. Izlazi PLD kola se generišu sumiranjem mintermova pomoću polja OR gejtova. Opša struktura PLD kola sa dva ulaza i dva izlaza prikazan je na slici 6.31.

x

⎯x

y

⎯y

Z1 Z2

Sl. 6.31. Opšta PLD struktura.

Kao što se vidi sa slike 6.31, postoje programabilne veze između ulaznih linija i obe linije na kojima se generišu članovi tipa proizvod, kao i između linija tipa proizvod i linija tipa suma. Ove veze se nazivaju tačke ukrštanja (crosspoints).

Page 38: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 106

6.9.1 Komutatori tačaka ukrštanja

Programabilna veza između dve linije A i B kod PLD-a logički je ekvivalentna komutatoru (prekidaču) koji se programira da bude zatvoren (to znači da su A i B električno i logički povezani da prenose isti signal) ili otvoren (što znači da A i B međusobno nisu povezani). Na slici 6.32a prikazan je model komutatora kod programabilne veze koji se naziva, kao što smo već naglasili, prekidna tačka. Programiranje se može logički posmatrati kao permanentno postavljanje x na 0 (prekidač, tj. komutator, otvoren) ili na 1 (prekidač zatvoren). Imajući u vidu da se u PLD-u ugrađuje na hiljade prekidača, uobičajeno se skraćena verzija za obeležavanje prekidača. Naime, koristi se standardna konvencija, sa "x" se označava programabilna veza, a sa "•" permanentna veza. B

A

x

B A

a) b)

Sl. 6.32. Programabilna tačka ukrštanja kod PLD-a.

A. Transmisioni gejtovi

CMOS tehnologija omogućava realizaciju bidirekcionih MOS prekidača, koji se konstruišu, kao što je prikazano na slici 6.33, od komplementarnog para tranzistora. Ovo važno kolo naziva se transmisioni gejt TG, i može da prenese 0 ili 1. Ponašanje TG-a je slično idealnom prekidaču. TG ima dva upravljačka signala xp i xn koji se dovode na p-kanalni tranzistor T1 i n-kanalni tranzistor T2, respektivno. xp =⎯x

Z' 1

0

n-kanalni tranzistor T2

p-kanalni tranzistor T1

Z

xn = x

xp =⎯x

TG Z Z'

xn = x

a) Tranzistorsko kolo. b) Simbol.

Sl. 6.33. Logički simbol.

Ponašanje TG-a se može opisati na sledeći način: 1. Uključivanje TG-a (turn on) se vrši ako se postavi xp = 0 i xn = 1. Pod tim uslovom, ako je z = 0, provodi

tranzistor T1, a T2 je zakočen, a ako je z = 1 provodiće tranzistor T2 a T1 će biti zakočen. 2. Isključivanje TG-a se vrši ako se postavi xp = 1 i xn = 0. Oba tranzistora biće isključena, nezavisno od stanja

signala na linijama z i z'. Kada transmisioni gejt provodi, on se ponaša potpuno simetrično, tj. z i z' mogu međusobno da razmene mesta. Pomoću invertora i transmisionih gejtova uobičajeno se grade programabilne tačke ukrštanja kod PLD-ova, kakve su one prikazane na slici 6.32. Ali, od transmisionih gejtova invertora se mogu graditi i kompleksnija CMOS kola (multiplekseri, dekoderi i dr.). Jedna tipična aplikacija koja prikazuje kako se pomoću transmisionih gejtova, i invertora realizuje CMOS ExOR kolo data je na slici 6.34.

Page 39: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 107

x1

TG

TG

⎯x2

⎯x1

zxor = x1 ⊕ x2

x2

Sl. 6.34. ExOR kolo realizovano pomoću transmisionih gejtova i invertora.

6.9.2 Programabilna AND i OR kola

Već smo naglasili da se prekidači koriste za konstrukciju logičkih gejtova različite složenosti. PLD-ovi koriste polja prekidača (transmisioni gejtovi) za efikasnu implementaciju gejtova sa velikim brojem ulaza koji zauzimaju minimalnu površinu ili imaju minimalni broj veza. Na slici 6.35a prikazano je jedno tipično AND kolo koje je implementirano pomoću vrste prekidača. U konkretnom slučaju prekidači se uključuju sa x = 0, a isključuju sa x = 1. Otpornikom prikačenim naviše, Rpu, koji je povezan na logičku 1, izlazna linija z se, kada su svi prekidači isključeni xi = 1 (i = 0,...,n), postavlja na logičku 1. Ako je bilo koji ulaz xi = 0, tada je i z = 0. Skraćena notacija prikazana na slici 6.35b koristi X da označi programabilnu tačku ukrštanja kod AND kola, a na slikama 6.35c-d kod OR kola. 1

(izlaz)

TG . . . TG TG

Rpu

1 z

0 x2 xn

0 0 x1

"pull-up"

otpornik ulazi

a) Model AND kola na nivou logičkog kola. x1

. . . ≡ .

.

.

z z

xnx2x1

x2

xn

b) Skraćena notacija AND logičkog kola.

Sl. 6.35. Programabilna AND i OR kola.

Page 40: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 108

0

(izlaz)

TG . . . TG TG Rpd

z

1 1 1

xnx2x1

"pull-down"

otpornik

ulazi

c) Model OR kola na nivou logičkog kola.

.

.

.

z

x1 x2 xn

z

. . . ≡

x1

x2

xn

d) Skraćena notacija OR logičkog kola.

Sl. 6.35. (nastavak) Programabilna AND i OR kola.

6.9.3 Tipovi PLD kola

AND-OR struktura PLD-ova se može grupisati u tri osnovna tipa: 1. Fiksno AND, programabilno OR polje - tipično su to PROM-ovi (Programmable Read Only Memory). 2. Programabilno AND, fiksno OR polje - ova kola su poznata kao PAL-ovi (Programmable Array Logic). 3. Programabilno AND, programabilno OR polje - nazivaju se FPLA (Field Programmable Logic Array).

A. PROM

Standardno se PROM-ovi koriste kao memorijske komponente kod mikroprocesorskih sistema (u njima je smešten program). No PROM-ovi se takođe mogu koristiti i za implementaciju logičkih funkcija. Prednost kod korišćenja PROM logičkih funkcija je ta što ne postoji potreba za korišćenjem nekih od tehnika za minimizaciju. Ulazne promenljive kombinacione funkcije koriste se kao ulazi PROM-a, a izlazne vrednosti se memorišu u lokacijama koje odgovaraju ulaznoj kombinaciji. U principu, PROM se može koristiti za realizaciju kombinacionog kola se većim brojem izlaza, pri čemu svaki bit sa izlaza PROM-a odgovara pojedinoj izlaznoj vrednosti kombinacionog kola. Na slici 6.36 prikazana je implementacija kombinacione funkcije sa tri izlaza i četiri ulazne promenljive. Logička 1 programirana u PROM-u odgovara mintermu funkcije, a logička 0 odsustvu minterma.

F w x y z wxyz w xyz wxyz w x yz

F w x y z wxyz wxyz wxyz

F w x y z wxyz wx yz

1

2

3

( , , , )

( , , , )

( , , , )

= + + +

= + +

= +

Funkcije se implementiraju pomoću PROM-a na sledeći način:

Page 41: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 109

w x y z F1 F2 F3

0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0

Sl. 6.36. Implementacija funkcija F1, F2 i F3 pomoću PROM-a.

B. PAL

PAL arhitektura je suprotna PROM-u, jer PAL čini programabilno AND polje, a fiksno OR polje. PAL kola koja su posebno pogodna za implementaciju kombinacionih logičkih funkcija su:

10H8 10L8 16P8 12H6 10L6 16L8 12H4 14L4 18P8 16H2 16L2 20C1 16C1 16H8 20L2

Prve dve cifre specificiraju broj ulaza, a zadnja cifra broj izlaza. Slova H i L ukazuju da je izlaz odgovarajućeg kola aktivan sa niskom ili visokom vrednošću, respektivno. Slovo C ukazuje da postoje oba izlaza, pravi i njegov komplement. Slovo P sugeriše da svaki od izlaza kola može da se programira kao aktivan niski ili visoki.

.

.

. ...

...

.

.

. ...

... a) Aktivno visoki. b) Aktivno niski.

prekidač otvoren

aktivno visoko

prekidač zatvoren

aktivno nisko

c) Inverzija ulaza (programabilan). d) Nema komplementiranja ulaza (programabilan).

pravi izlaz

komplementiran izlaz

e) Prisutna oba izlaza.

Sl. 6.37. Tipovi izlaza kod PAL kola.

Page 42: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 110

Primer 6.22.

Istinitosna tablica predikačke mreže sa četiri ulaza i dva izlaza prikazana je na slici 6.38. Mrežu realizovati pomoću PAL kola. Koje su funkcije izlaza A i B?

x y z w A B

0 0 0 0 0 0

0 0 0 1 0 0

0 0 1 0 0 0

0 0 1 1 0 1

0 1 0 0 0 0

0 1 0 1 0 1

0 1 1 0 0 1

0 1 1 1 1 0

1 0 0 0 0 0

1 0 0 1 0 1

1 0 1 0 0 1

1 0 1 1 1 0

1 1 0 0 0 1

1 1 0 1 1 0

1 1 1 0 1 0

1 1 1 1 1 0

Sl. 6.38. Istinitosna tablica mreže sa četiri ulaza i dva izlaza.

Odgovor:

Analizom istinitosne tablice zaključujemo sledeće: a) izlaz A je na visoko kada je većina od ulaza na visoko, a nula u ostalim slučajevima; b) izlaz B je na visoko samo kada su dva ulaza na visoko i dva na nisko, a nula u ostalim slučajevima. Izrazi za A i B se mogu minimizirati korišćenjem Karnoove mape (slika 6.39). Na osnovu mape imamo

A = xyw + xyz + yzw + xzw (1)

Alternativno, A se može izraziti na sledeći način:

A zw x y y zw xzw yzw x zw= + + + + + (2)

Na sličan način

B x yzw x yzw x yzw xyzw xyzw xyzw= + + + + + (3)

Alternativna forma je

B x y z x y zw x yzw x yzw x yzw xzw x yzw x y zw= + + + + + + + (4)

Page 43: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 111

zw

xy

00

01

11

10

00 01 11 10

1

1

zw

xy

00

01

11

10

1

1

1

1 1 1

1

1

1

00 01 11 10

Sl. 6.39. Karnoove mape funkcija A i B.

Funkcije A i B moguće je implementirati pomoću PAL u sledeće dve varijante: (i) kada su izlazi A i B aktivni kao visoki, tada važe relacije (1) i (3) i šema na slici 6.40a; (ii) kada su izlazi A i B aktivni kao niski tada važe relacije (2) i (4), a šema je prikazana na slici 6.40b.

w

z

y

x

B

A

a) Izlazi aktivni kao visoki - koristi se kolo PAL 16H2.

Sl. 6.40. Implementacija funkcija A i B pomoću PAL kola.

Page 44: Pojednostavljanje Prekidackih Funkcija

RAČUNARSKI SISTEMI: Principi digitalnih sistema 112

w

z

y

x

B

A

b) Izlazi aktivni kao niski - koristi se kolo PAL 16L2.

Sl. 6.40 (nastavak). Implementacija funkcija A i B pomoću PAL kola.

C. FPLA

Kod FPLA kola oba polja, AND i OR, su programabilna, pa sa tog aspekta pružaju najveću fleksibilnost projektantima. Struktura jednog tipičnog FPLA kola prikazana je na slici 6.41.

AND polje OR polje

z x y A B

ulazi izlazi

Sl. 6.41. Jedno tipično FPLA kolo.

Page 45: Pojednostavljanje Prekidackih Funkcija

6. Pojednostavljenje prekidačkih funkcija 113

Implementacija funkcija

F1 = Σm(3, 5, 6, 7) F2 = Σm(1, 2, 4, 7)

pomoću FPLA kola prikazanog na slici 6.41 data je na slici 6.42. Kanonični oblik funkcija F1 i F2 je sledeći

F xyz xyz xyz xyz

F x yz xyz xyz xyz1

2

= + + +

= + + +r

veza je ostvarena

veza nije ostvarena

y z x F2F1

m x yz5 = m xy6 = z

m x y3 = z

m xyz7 =

m x y2 = z m xyz4 = m x y1 = z neiskorišćena vrsta

ulazi izlazi

Sl. 6.42. Implementacija funkcija F1 i F2 pomoću FPLA kola.