You are on page 1of 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 , y, z, w ) = w xz + w xz + xyz + wxy
= [ x (w z) + x (w z )] + xyz + wxy
= w z + xyz + wxy rezultat_1
= w z + w ( xy ) + z( xy )
= w z + wxy rezultat_2
70 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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 1 ( x , y, z, w ) = xyz + yzw + xzw + xy zw + xyz
= [( xy ) z + ( xy ) z] + yzw + xzw + xy zw
= xy + yzw + xzw + xy zw rezultat_1
= x [ y + y ( zw )] + yzw + xzw
= x [ y + zw ] + yzw + xzw rezultat_2
= xy + xzw + yzw + xzw
= [ x ( y ) + x ( zw ) + yzw )] + xzw
= ( xy + xzw ) + xzw rezultat_3
= xy + xzw + xzw
Razmotrimo sada i sledeći primer:
f 2 ( x , y , z , w) = x + y + z + y ( w + z ) + x z
= ( x + x z ) + [ y + y ( w + z )] + z
= x+z+ y+w+z+z
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 f1 ( x , y, z) = xy + xz + yz , 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 f1 = xy + xz š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.
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 x2x3 x3x4
0 1 00 01 11 10 00 01 11 10
0
x1 00
1
x2 01
0 1 x1x2
0 11
x1 10
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.

r1 y

x
yz 64
4744
8
00 01 11 10 r2
1 0 1 0
0

x { 1 0 0 0 0

14
4244
3
r3
z

Sl. 6.2. Mapa od tri promenljive.


Odgovor:
Za mapu sa slike 6.2 odgovarajući članovi su
r1 = yz , r2 = yz i r3 = x
72 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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) = r1 + r2 + r3
= yz + yz + x

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.

z
xy 0 1

00 1 1

01 0 1

11 0 0

10 0 1

Sl. 6.3. Mapa funkcije od tri promenljive.

(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) F1 ( x , y, z) = y z + xz + x y z + xyz + xy ,
b) F2 ( x , y, z) = y ( z + xz ) + xy z .
(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
yz
x
00 01 11 10
1 - - 1 Napomena: polja popunjena
0 znacima '-' su nule.
1 1 - 1 1
6. Pojdenostavljenje prekidačkih funkcija 73

Moramo konvertovati funkciju⎯F2 u SOP formu.

F2 ( x, y, z) = yz + xyz + xy z

Karnoova mapa funkcije⎯F2 oblika je

yz
x
00 01 11 10
- - 0 - Napomena: polja popunjena
0 znacima '-' su jedinice.
1 - - 0 0

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

yz
x
00 01 11 10 p1 =⎯z
1 - - 1 Napomena: polja popunjena
0 znacima '-' su nule.
1 1 - 1 1

p2 = xy

F1 = p1 + p2 =⎯z + xy

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

F2 = r1 + r2 = yz + xz

yz r1 = yz
x
00 01 11 10
0
0
0
1 0 0
p2 = x z

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.
74 RAČUNARSKI SISTEMI: Principi digitalnih sistema

zw
xy
00 01 11 10

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

Na osnovu mape, minimalni SOP izrazi za F i⎯F su oblika

F = z + xy + xw
F = x z + y zw

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.

zw
xy
00 01 11 10

00 1 - 1 1
Napomena: simbol '-'
01 - 1 - - označava vrednost 0
11
- - - -
10
- 1 1 -

Odgovarajućim grupisanjem dobićemo:

zw
xy
00 01 11 10

00 1 - 1 1
01 - - - -
11
- - - -
10
- 1 1 -

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


6. Pojdenostavljenje prekidačkih funkcija 75

m 0 + m 2 = x y z w + x y zw = x y w
m0 + m11 = x y z w + x yzw = yz w
m9 + m11 = x y z w + x yzw = xy w

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:

zw
xy
00 01 11 10

00 1 - - 1
01 - 1 1 -
11
- 1 1 - F ( x, y, z, w) = zw + zw
10
- - - -

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.

zw
xy
00 01 11 10

00 1 1 - -
01 1 1 1 -
11
1 1 1 -
10
1 1 - -

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
76 RAČUNARSKI SISTEMI: Principi digitalnih sistema

yz yz
v=0,w,x v=1,w,x
00 01 11 10 00 01 11 10

00 m0 m1 m3 m2 00 m16 m17 m19 m18


01 m4 m5 m7 m6 01 m20 m21 m23 m22
11 11
m12 m13 m15 m14 m28 m29 m31 m30
10 10
m8 m9 m11 m10 m24 m25 m27 m26

donji gornji

m0 = v w x y z m 10 = v w x y z
m 16 = vw x y z m 30 = vw x y z
mj(decimalno) = mvwxyz(binarno)

Odgovor:
Funkcija F u mapi od pet promenljivih je oblika

p1
yz yz
v=0,w,x v=1,w,x p4
00 01 11 10 00 01 11 10

00 1 00 1 1 1
01 1 1 01 1 1
11 1 1 11 1 1
10 1 10 1 1
1 1
p3 p2

Minimalan SOP izraz za F je oblika

F = p1 + p2 + p3 + p 4 = xy z + yz + v w xz + vx z .

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
6. Pojdenostavljenje prekidačkih funkcija 77

xy
F(x, y, z) =⎯z + xy z
00 01 11 10
1 * * 1
0

1 * 1

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

xy
z
00 01 11 10
1 * * 1
F ( x, y, z) = y z + xyz 0

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:

zw
xy
00 01 11 10
1 1 *
00
01 1 1
F ( x, y, z, w) = w + xy + y z
11
1 * 1 1
10
1 1 *

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.
78 RAČUNARSKI SISTEMI: Principi digitalnih sistema

"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 0000 0011
1 0001 0 1 00
2 0010 0101
3 0011 0110
4 0100 0111
5 0101 1000
6 0110 1001
7 0111 1010
8 1000 1011
9 1001 1100
10 1010 ****
11 1 01 1 ****
12 1 10 0 * ** *
13 1101 ****
14 1110 ****
15 1111 ****

Zapazimo da za one ulaze koji nisu kodne reči iz koda "8421", izlazne vrednosti nisu definisane.
6. Pojdenostavljenje prekidačkih funkcija 79

f1 x3x4 f2 x3x4
00 01 11 10 00 01 11 10

00 00 1 1 1

01 1 1 1 01 1
x1x2 x1x2
11 * * * * 11 * * * *

10 1 1 * * 10 1 * *

f1min = x1 + x 2 x 4 + x 2 x 3 f 2min = x 2 x 3 x 4 + x 2 x 4 + x 2 x 3

f3 x3x4 f4 x3x4
00 01 11 10 00 01 11 10

00 1 1 00 1 1

01 1 1 01 1 1
x1x2 x1x2
11 * * * * 11 * * * *

10 1 * * 10 1 * *

f 3min = x 3 x 4 + x 3 x 4 f 4 min = x 4

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.


80 RAČUNARSKI SISTEMI: Principi digitalnih sistema

x1 x2 x3 x4

f1

f2

f3

f4

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
00 01 11 10
1 0 1 1
0

1 0 0 1 0

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.


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:

zw
xy
00 01 11 10
f = x z + y z + xw + yw 1
00 1 0 1

01 1 1 0 1
11 0 0 0 0
10 1 1 0 1

Komplementarna funkcija se izvodi grupisanjem nula u Karnoovoj mapi.

zw
⎯f = xy + zw
xy
00 01 11 10
1 1 0 1
00
01 1 1 0 1
11
0 0 0 0
10 1
1 1 0

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:

wv wv
x=0, yz x=1, yz
00 01 11 10 00 01 11 10

00 00 * * 1

01 1 1 01 1 *
11 11
* 1 * 1 1
10 10
* 1 1 1 * 1
82 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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 y z w v , y zwv 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 y zwv i yzw v , prikazana na sledećoj mapi, ekvivalentna prethodnim
mapama.

wv
yz
00 01 11 10

00 * * x

01 1 *
11
* 1 *
10
x * ⎯x 1

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.

wv
yz
00 01 11 10

00 * * x
f ( x, y, z, w, v) = yzw + yzw
01 1 *
11
* 1 *
10
x * ⎯x 1

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.

wv
yz
00 01 11 10

00 * * x

f ( x, y, z, w, v) = xz v + yzw + yzw + xyw 01 1 *


11
* 1 *
10
x * ⎯x 1
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 "9". 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 9
1 0001 9
2 0010 9
3 0011 9
6 0110 9
9 1001 9
12 1100 9
7 0111 9
11 1011 9
13 1101 9
14 1110 9

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 9
0,2 00x0 9
1,3 00x1 9
1,9 x001 9
2,3 001x 9
2,6 0x10 9
3,7 0x11 9
3,11 x011 9
6,7 011x 9
6,14 x110 a
9,11 10x1 9
9,13 1x01 b
12,13 110x c
12,14 11x0 d
84 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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 2 x 3 x 4 , x 1 x 3 x 4 , x 1 x 2 x 3 , x 1 x 2 x 4 , x1 x 2 , x 2 x 4 i x 1 x 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 = x1 x 3 x 4 + x1 x 2 x 4 + x1 x 2 + x 2 x 4 + x1 x 3
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 i,j Pi,j i,j,k,l P i,j,k,l


4 0100 9 4,5 010x a 8,10,12,14 1xx0 g
8 1000 9 4,12 x100 b
3 0011 9 8,10 10x0 9
5 0101 9 8,12 1x00 9
10 1010 9 3,7 0x11 c
12 1100 9 5,7 01x1 d
7 0111 9 10,14 1x10 9
14 1110 9 12,14 11x0 9
15 1111 9 7,15 x111 e
14,15 111x f

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

1
e= ,
1+ c + n

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:


86 RAČUNARSKI SISTEMI: Principi digitalnih sistema

ψ = (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 = x1 x 2 x 3 + x 2 x 3 x 4 + x1 x 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 i,j Pi,j f1 f2 f3 i,j,k,l Pi,j,k,l f1 f2 f3


2 0010 * a 3,7 0x11 * * b 3,7,11,15 xx11 * e
3 0011 * * 9 3,11 x011 * 9 12,13,14,15 11xx * * * f
12 1100 * * * 9 12,13 110x * * * 9
7 0111 * * 9 12,14 11x0 * * * 9
11 1011 * * 9 7,15 x111 * * c
13 1101 * * * 9 11,15 1x11 * * d
14 1110 * * * 9 13,15 11x1 * * * 9
15 1111 * * * 9 14,15 111x * * * 9

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.
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 15 3 7 11 12 13 14 15 3 7 12 13 14 15
a * a a
b b * * b * *
d * * d * d
f * * * * f * * * * f * * * *
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

f1min = a + d + f f2min = 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.

F1 = xyz w + xyzw + xyzw + xyzw


F2 = xyz w + xyzw + xyzw + xyzw + xy z w + xy zw

zw zw
xy
xy 00 01 11 10
00 01 11 10
00
00
01
01
11 1 1 1
11 1
1 1 1 10 1 1
10
1

x x
y
z F1 = xyz + xzw z F2 = xz + xw

x x
z
w w

Sl. 6.5. Nezavisna minimizacija svakog od izlaza.


88 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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.

zw zw
xy xy
00 01 11 10 00 01 11 10
00 00
01 01
11 11
1 1 1 1 1 1
10 10
1 1 1 1

x
y
z F1 = xyz + xzw

w F2 = xz + xzw

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:

zw zw zw
xy xy
00 01 11 10 00 01 11 10 xy
00 01 11 10
00 1 1 00 1 1
1 00 1 1
01 1 1 01 01 1
11 11
1 1 1 1 11
10 1 1 1 1 1
10 10
1 1 1 1
1 1 1

F1 = x zw + yzw + xw + yzw F2 = xy + yzw + xz + yzw F3 = x zw + x yz + xyw + xz

Individualna minimizacija ovih funkcija rezultira sledećim članovima tipa proizvod


6. Pojednostavljenje prekidačkih funkcija 89

član funkcije
x zd 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,
F3 = D + x yz + B + xyw ,

gde su: A = yzd , B = xz, C = y zw i D = x zw .


Pojednostavljenje funkcija rezultira jednačinama:

F1 = zF3 + wF2 + yF2 ,


F2 = yzw + yzw + xz + xy ,
F3 = x z w + xyz + F2 yz + xw .

⎯y

F1
w

y
⎯z
⎯z
w

⎯y
z
F2
⎯w

x
z

y
x z
y
x
w F3

⎯x
⎯y
z

⎯x
⎯z
⎯w

Sl. 6.7. Višenivovska implementacija.


90 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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.

⎯x a1 ⎯x a1 ⎯a1 a1
z z

y a2 f y a2 ⎯a2 a2 f
⎯z ⎯z

z a3 z a3 ⎯a3 a3
⎯y ⎯y

a) f = a1 + a2 + a3 = xz + yz + y z b) f = a1 + a2 + a3

⎯x ⎯a1
z

y ⎯a2 f
⎯z

z ⎯a3
⎯y

c) f = a1 a2 a3 = a1 + a2 + a3

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.
6. Pojednostavljenje prekidačkih funkcija 91

I nivo II nivo III nivo


67
4 48 67
4 48 67
4 48

z
y f = xz + yz + yz

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:

zw
00 01 11 10
xy
00 1 1

01 1 1

11 1 1

10 1 1

F ( x , y, z, w) = yzw + xzw + yzw + xzw

Komplementiranjem izraza dobijamo

F ( x , y, z, w ) = yz w + 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.


92 RAČUNARSKI SISTEMI: Principi digitalnih sistema

x ⎯x y ⎯y z ⎯z w ⎯w
x

y
F

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
F1 ( x , y, z) = ( x + z)( x + y )( x + z) .
Na slici 6.11a prikazana je njena OR-AND implementacija, a na slici 6.11b-c njena postepena
transformacija u formu NOR-NOR.

x x b1 ⎯b1 b1

x F1 y b2 ⎯b2 b2 F1

⎯y

⎯x b3 ⎯b3 b3
z
z

a) F1 = ( x + z)( x + y )( x + z) b) F1 ( x, y, z) = b1b2 b3

x ⎯x y ⎯y z ⎯z

x ⎯b1

⎯b2 F1
y

⎯b3

c) F1 ( x, y, z) = b1 + b2 + b3 = b1 b2 b3

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


6. Pojednostavljenje prekidačkih funkcija 93

Primer 6.17
Pomoću NOR-NOR logike implementiraj sledeću Bulovu funkciju

F2 ( x , y, z, w ) = xy + xz + xzw + xyw

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

zw
00 01 11 10
F2 = xw + x y z + xyz xy
00 0 0
= ( x + w) + x + y + z + x + y + z
01

11 01 0 0

10 0 0

Rezultujuće NOR-NOR kolo prikazano je na slici 6.12.

x ⎯x y ⎯y z ⎯z

x ⎯b1

⎯b2 F1
y

⎯b3

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.
94 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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.

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.

y
F=x⊕y⊕z⊕w

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.
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.

D1 S1 D1
D2 S2 S D2
izvor multiplekser D demultiplekser
. . (MUX) .
. . (DEMUX) .
S→ . . .

Sn Dm
Dm

odredišta adresa izvora A adresa odredišta


A
a) b) c)

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
96 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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).

x0
xox1
00 01 11 10
z
0 0 0 1 1
a x1 izlaz podataka
1 0 1 1 0

ulazni podaci

a) b) Q
adresa izvora

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
⎯E 1 - - - - - - 0 1
0 0 0 0 - - - 0 1
0 0 0 1 - - - 1 0
x0 0 0 1 - 0 - - 0 1
z 0 0 1 - 1 - - 1 0
x1 0 1 0 - - 0 - 0 1
4-u-1 0 1 0 - - 1 - 1 0
MUX 0 1 1 - - - 0 0 1
x2
⎯z 0 1 1 - - - 1 1 0

x3
b) Istinitosna tablica.

S0 S1

a) Logički simbol.

Sl. 6.18. Multiplekser 4-u-1.


6. Pojednostavljenje prekidačkih funkcija 97

x0

x1

z
x2

⎯z

x3

⎯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
S0
x0 S2 S3 S4
x1 z0
4-u-1
x2 MUX0
x3

z
.
.
8-u-1
. MUX8
x4
x5 z1
4-u-1
x6 MUX1
x7

x28
x29 z7
4-u-1
x30 MUX7
x31

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


98 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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 1 S 0 x 0 + S 1 S 0 x 1 + S 1 S 0 x 2 + S1 S 0 x 3 .

Za MUX sa 2k ulaza važi relacija


z= ∑ S1& 44
∀i
S& L S& S& x .
k −1
2443 k −2 1 0 i
binarna 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 + xy z
Odgovor:
Odgovarajuća istinitosna tabllica i implementacija MUX-a prikazane su na slici 6.20.

x y z F
4-u-1
0 0 0 0 MUX
x I0
0 0 1 0
0 I1
0 1 0 1 z F
⎯x I2
0 1 1 1
1 I3
1 0 0 1
S0 S1
1 0 1 0
1 1 0 0
1 1 1 1 y z

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

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

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 1 , x 2 , K , x n− 2 , x n−1 , x n ) = x1 x 2 L x n− 2 x n−1 f (0,0, K ,0,0, x n )


+ x 1 x 2 L x n− 2 x n−1 f (0,0, K ,0,1, x n )
+ x 1 x 2 L x n− 2 x n−1 f (0,0, K ,1,0, x n )
+ x 1 x 2 L x n− 2 x n−1 f (0,0, K ,11
, , xn )
M
+ x 1 x 2 L x n− 2 x n−1 f (11
, , K ,11
, , xn )

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 y z + x y z w + x yw + x yz w + xv + y zv + 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 z w f 0 + x y z wf1 + x y zw f 2 + x y zwf 3 +K+ x yzw f14 + x yzwf15 ,


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 EN
I1
⎯v I2
⎯v I3
v I4
I5
I6
MUX
0 I7 16-u-1
f
I8
v
I9
I10
I11
v
I12
I13
v
I14
v
I15 S0 S1 S2 S3

x y z w

Sl. 6.21. Multiplekser koji implementira funkciju f ( x, y, z, w, v) = x y z + x y z w + x yw + x yz w + xv + y zv + 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

zi = a& k −1 a& k − 2 L a& 1 a& 0 x .


1442443
binarna adresa i

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


100 RAČUNARSKI SISTEMI: Principi digitalnih sistema

z 0 = a1 a0 x
z1 = a1 a0 x
z 2 = a1 a0 x
z 3 = a1 a0 x

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

z0 adresni ulazi ulaz izlazi


D0
Q0 Q1 x z0 z1 z2 z3
ulaz z1 D1 0 0 0 0 1 1 1
x z2 0 0 1 1 1 1 1
D2
0 1 0 1 0 1 1
Q0 Q1 z3 D3 0 1 1 1 1 1 1
1 0 0 1 1 0 1
odredišta 1 0 1 1 1 1 1
adresni ulazi 1 1 0 1 1 1 0
(adresa odredišta) 1 1 1 1 1 1 1

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

Q⎯Q
0 0Q⎯Q
1 1

z0

z1

x
z2

z3

Q0

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

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.
6. Pojednostavljenje prekidačkih funkcija 101

Odgovor:

z0
DEMUX
1-u-16 z1
z2
z3
z4
x0
MUX z5
x1 8-u-1
z6
x2
z7
x3 z x
z8
x4
komunikacioni z9
x5 put
z10
x6
z11
x7
z12
ulazni z13
podaci
a2 a1 a0 z14
z15
adrese
izvora
izlazni
podaci

b3 b2 b1 b0

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.
102 RAČUNARSKI SISTEMI: Principi digitalnih sistema

Q0⎯Q0 Q1⎯Q1

D0
Q0

D1

Q1
D2
ulazi

D3

izlazi

x
Enable

Sl. 6.25. Dekoder 2-u-4.

0
A0
A1 1
A2 2
A3
.
.
.
dekoder
4-u-16 14
En 15

16
A0
A1 17
A2 18
A3
.
.
.
z0 dekoder
a4 dekoder 4-u-16 30
2-u-4 z1
En 31
a5
z2
32
1 z3 A0
En A1 33
A2 34
A3
.
.
.
dekoder
4-u-16 46
En 47

48
A0
A1 49
A2 50
A3
.
.
.
a3 dekoder
a2 4-u-16 62
En 63
a1
a0 izlazi

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


6. Pojednostavljenje prekidačkih funkcija 103

Primer 6.21
Implementiraj sledeću funkciju koristeći dekoder tipa 3-u-8.
F1 ( x, y, z) = xy + x y z
F2 ( x, y, z) = xy + xy
Odgovor:
Prvo obe funkcije moramo izraziti u kanoničkoj formi.
F1 ( x, y, z) = {
xyz + {
xyz + {
x yz
7 6 0

F2 ( x, y, z) = {
xyz + {
xyz + {
xy z + {
xyz
3 2 4 5
Implementacija funkcija F1 i F2 pomoću dekodera 3-u-8 prikazana je na slici 6.27.

x yz
D0 F1
x yz
D1
x yz
x D2
y x yz
D3 F2
z
xyz
D4
1 En xyz
D5
x yz
dekoder D6
3-u8 x yz
D7

Sl. 6.27. Implementacija F1 ( x , y, z) = xy + x y z i F2 ( x , y, z) = xy + xy


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.
104 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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.

B0
S0 Z

e0 = 0

B1
S1 = x x

e1 = 1
D=x
odredište
B2
S2 Z

e2

B3
S3 Z

izvori e3

a0 = 1

izvorne
adrese a a1 = 0

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.
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 Zi Zi Zi Z Zi Z

x1 Z1 e1 = 0 xi Zi ei = 1 xj Zj ej = 0 xn Zn en = 0

14442444
3 144
42444
3 144
42444
3 144
42444
3
E1 Ei − predajnik E j − prijemnik En

primopredajnik

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).
106 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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 B
A
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
xp =⎯x
p-kanalni
tranzistor T1
1
Z Z' Z Z'
TG

0
n-kanalni xn = x
tranzistor T2

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.
6. Pojednostavljenje prekidačkih funkcija 107

x1
⎯x2
TG zxor = x1 ⊕ x2

⎯x1

TG
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.

"pull-up" Rpu
otpornik

1
z
(izlaz)

TG TG ... TG

0 0 0
ulazi x1 x2 xn

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

x1
x2 z z
. ≡
. ...
.
xn
x1 x2 xn

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

Sl. 6.35. Programabilna AND i OR kola.


108 RAČUNARSKI SISTEMI: Principi digitalnih sistema

z
(izlaz)

TG TG ... TG
"pull-down" Rpd
otpornik
1 1 1
0

ulazi x1 x2 xn

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

x1
x2 z z
. ≡
. ...
.
xn
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.

F1 (w, x, y, z) = wxyz + w xyz + wxyz + w x y z


F2 (w, x, y, z) = wxyz + wxyz + wxyz
F3 (w, x, y, z) = wxyz + wx y z

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


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.

aktivno aktivno
visoko nisko

prekidač prekidač
otvoren zatvoren

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.


110 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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 = z w + x y + y zw + xzw + yzw + x zw (2)

Na sličan način

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

Alternativna forma je

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


6. Pojednostavljenje prekidačkih funkcija 111

zw zw
xy 00 01 11 10 xy 00 01 11 10

00 00 1

1 1 1
01 01

11 1 1 1 11 1

10 1 10 1 1

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.

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

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


112 RAČUNARSKI SISTEMI: Principi digitalnih sistema

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

x y z A B
ulazi izlazi

Sl. 6.41. Jedno tipično FPLA kolo.


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

F1 = xyz + xyz + xyz + xyz


r
F2 = x yz + xyz + xy z + xyz

veza je
ostvarena

m5 = x y z

m6 = x y z

m3 = x y z
veza nije
ostvarena m 7 = x yz

m2 = x y z

m4 = x y z

m1 = x y z
neiskorišćena vrsta

x y z F1 F2

ulazi izlazi

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

You might also like