Professional Documents
Culture Documents
3POGLAVLJE-Digital Logic Design PDF
3POGLAVLJE-Digital Logic Design PDF
3.1. UVOD
Koristićemo veliko slovo da označimo skupove dobro definiranih objekata i malo slovo da označimo
objekte. Fraza “je elemenat (objekt) od” označena je simbolom є. Dakle, pišemo aєA kad je “a
element skupa A”.
Boolova algebra je algebarska struktura koja se sastoji od skupa elemenata B, zajedno sa dvije
binarne operacije {+} i {.} i unarnom operacijom {’} tako da slijedeći aksiomi vrijede:
1. Skup B sadrži bar dva elementa a,b takva da je a≠b
2. Osobine zatvaranja binarnih operacija: za svako a,b єB
(i) a +b є B
(ii) a*bєB
3. Komunitativni zakoni: za svako a,b єB
(iii) a+b=b+a
(iv) a*b=b*a
4. Egzistencije identiteta:
(i) Postoji jedan element identiteta u odnosu na {+}, označen sa 0, takav da je a+0=a za
svako aєB
(ii) Postoji jedan element identiteta u odnosu na {*}, označen sa 1, takav da je a*1=a za
svako aєB.
5. Distributivni zakon: za svako a,b,c є B
(i) a + (b*c) = (a+b) * (a+c)
(ii) a * (b+c) = a * b + a * c
6. Egzistencija komplementa: za svako a є B postoji element a є B ( komplement od a)
tako da je
(i) a + a’= 1
(ii) a * a’= 0
Poznato je da je ova lista aksioma koji definiraju Boolovu algebru i konzistentna i nezavisan,
dakle ni jedan od postulata nije kontradiktoran bilo kom drugom aksiomu i nijedan od navedenih
postulata ne može biti dokazan preko ostalih aksioma liste.
Notacije {*} i {+} koje su usvojene za označavanje binarnih operacija često su korištene od
strane projektanata digitalnih sistema. Termini sum (suma), join i disjunction često se koriste
izmjenljivo u Boolovoj algebri da označe {+} operaciju, kao i product (proizvod), meet i conjuction,
da označe {*} operaciju.
Operatorski prioriteti u Boolovoj algebri su takvi da izraz unutar zagrade mora biti
evaluiran prije svih ostalih; sljedeća operacija koja dolazi je komplement; onda slijedi {*} i na kraju
{+}. Na primjer da bi se evaluirao izraz (a+b)' , moramo prvo evaluirati a+b i potom komplementirati
rezultat. Slično, izraz a’ * b’ je evaluiran prvo preko komplementiranja a i b , a zatim
primjenjivanjem {*} operacije. U onom što slijedi, kada se ne koriste zagrade, može se razumijeti da
su {*} operacije izražene prije {+} operacija. Takođe, {*} operacija biti će radi kratkoće izostavljena
tako da će umjesto a*b biti napisano ab.
Uočimo da su aksiomi Boolove algebre aranžirani u parovima. Svaki iskaz može da se
dobije iz drugog međusobnom zamjenom {+} i {*} operatora i elemenata identiteta 0 i 1. Ovo se
naziva princip dualnosti i ilustrovan je sljedećim primjerom.
■ Primjer 3.1 (a) Aksiom 5(i) može da se dobije iz aksioma 5(ii) i obrnuto, kao što slijedi:
a+(b*c)=(a+b)*(a+c)
a*(b+c)=(a+b)+(a*c)
(b) Aksiom 6(i) može da se dobije iz aksioma 6(ii) i obrnuto, kao što slijedi:
a + a’ = 1
a * a’ = 0
Ova značajna karakteristika Boolove algebre vrijedi za svaki algebarski izraz (theorem) izvodiv iz
aksioma. Ovakav algebarski izraz ostaje vrijedan kada su operatori i elementi identiteta međusobno
zamjenjeni. Općenito, svaki teorem koji može biti dokazan Boolovom algebrom ima dualni iskaz koji
je također istinit.
Cilj ove sekcije je predstavljanje nekih od osnovnih realizacija Booolove algebre. Koristićemo često
ove rezultate u analizi i projektovanju digitalnih krugova pa je imperativ da čitalac bude s njima
potpuno familijariziran. Dokazi nekih od teorema prikazani su detaljno da se ilustruje korištenje
aksioma i način na koji se algebarski izrazi mogu manipulirati. Ali teorijski dokazi Boolove algebre
neće biti glavni naglasak, nego će njena korisnost biti naš glavni interes. Prema tome, bićemo
zadovoljni da čitaocu prepustimo da izvede dokaze kao vježbe.
Tokom ove sekcije, utvrdit ćemo dualne rezultate kod jedne teoreme, ali dokazati samo
jedan rezultat. Dokaz drugug rezultata može se dobiti korištenjem principa dualnosti.
Dokaz
a+a = (a+a) * 1 Aksiom 4(ii)
=a Aksiom 4(i)
□
□ Teorema 3.2 Za svako a є B, a+1=1 i a0=0
Dokaz
(a+1)=(a+1) * 1 Aksiom 4(ii)
=1 Aksiom 6(i) □
Dokaz
=a Aksiom 4(ii) □
□ Teorema 3.8 Boolova algebra je asocijativna pod operacijama {+} i {*}; dakle za sve a,b,c є B
a+(b+c)=(a+b)+c
i
a(bc)=(ab)c
Tada je:
A = [(a + b) + c]a + [(a + b) + c](b + c)
= a + (b + c)
Ali, također,
= (a + b) [a + (b + c)] + c
= (a + b) + c
Dakle, a+(b+c)=(a+b)+c
Tabela 3.1 daje listu nekih aksioma i teorema prethodno diskutiranih, kao i značajne
identitete Boolove algebre. Oni su izlistani u dualnim parovima i označeni sa dijelovima (a) i (b).
Uočimo da neki od identiteta sadrže dvije ili tri varijable, dok ostale sadrže proizvoljan broj (n)
varijabli.
Možemo koristiti identitete za dokazivanje ostalih identiteta ili za manipuliranje Boolovim
algebarskim izrazima u nekim drugim formama kao što prikazuje naredni primjer. U svakom stepenu
ovog primjera, poziva se tabela 3.1 označavanjem broja identiteta koji je korišten. Svaki dokazani
identitet posjeduje dualnu istinu na osnovu principa dualnosti.
=xy1+x'z1 (5a)
=xy+x'z (1b)
x'y'z+yz+xz = (x'y'+y+x)z
= ( x' + y + x )z (7b)
=(1+y)z (3a)
=1z (5a)
=z (1b)
(x+y)[x'(y'+z')'+x'y'+x'z' (10b)
=(x+y)(x+yz)+x'y'+x'z' (10a)
' ' '
=x+xy+xyz+yz+x y +x z'
=x(1+y+yz)+yz+x'y'+x'z' (2a)
=x+yz+x'y'+x'z' (5a),(1b)
'
=x+x (y'+z')+yz (2a)
' '
=x+y +z +yz (7b)
' '
=x+y +z+z (7b)
'
=x+y +1 (3a)
=1 (5a)
' ' ' '
(e) Pokaži da je w x+wxz+wx yz +xy=x(w'+z)+wyz
w'x+wxz+wx'yz'+xy=x(w'+wz)+y(x+x'wz') (2a)
' '
=x(w +z)+y(x+wz ) (7b)
' '
=w x+xz+xy+wyz
=w'z+xz+xy(w+w')+wyz' (3a),(1b)
' '
=w x+xz+w'xy+wyz
=w'x+xz+wxy+wyz' (2a)
=w'x+xz+wxy+wyz' (5a),(1b)
=w'x+xz+wyz' (9b)
=x(w’+z)+wyz' (2a)
■
Najjednostavniji primjer Boolove algebre je onaj u kojem je domen B upravo skup {0,1}.
Pošto svaki element skupa B može imati jednu od dvije vrijednosti, 0 ili 1, radi se o dvo-vrijednosnoj
Boolovoj algebri označenoj kao prekidačka algebra.
Operacije prekidačke algebre definirane su u tabeli 3.2, a alternativna predstava tabele istine
(vidi sekciju 1.2) data je u Tabeli 3.3. U ovom kontekstu digitalnih sistema, operacije {+}, {.}, {'}
uobičajeno se označavaju sa ILI, I i NE, respektivno. Prema tome, npr. x i y i xy predstavljaju isti
izraz i mogu se koristiti zamjenjivo. Kako ćemo vidjeti kasnije svaka od ovih operacija može da se
implementira preko fizikalnog uređaja poznatog pod imenom vrata. Korištenjem I, ILI i NE vrata,
možemo implementirati Boolove izraze u formi logičkih krugova. Postoje drugi tipovi vrata koja se
takođe mogu koristiti zamjenjivo da označe raznovrsnost logičkih operacija. Ovo će se razmatrati u
sekcijama 3.5 i 3.7.
Možemo verificirati da prekidačka algebra zadovoljava ove aksiome i relacije Boolove algebre
korištenjem algebarskih manipulacija kako je urađeno u primjeru 3.2. Kao alternativu možemo
konstruirati tabelu istine i evaluirati obe strane identiteta za moguće kombinacije vrijednosti varijabli.
Ovaj pristup poznat je pod imenom savršene indukcije (perfect induction), u narednom primjeru:
Pošto imamo tri varijable, od kojih se za svaku može pretpostaviti da poprima dvije vrijednosti
(0 ili 1), broj mogućih kombinacija je 23=8. Tabela istine ima,dakle, osam cifri kako pokazuje
Tabela 3.4. Za svaku kombinaciju varijabli tabela istine pokazuje odgovarajuće vrijednosti
lijeve i desne strane identiteta. Da bi evaluirali preko ove vrijednosti koristimo definicije
operatora u Tabeli 3.3. Upoređivanjem
+ 0 1 0 1
0 0 1 0 0 0 0 1
1 1 1 1 0 1 1 0
■ TABELA 3.3 Alternativna predstava ILI, I i NE
ILI I NE
x y x+y x y xy x x'
0 0 0 0 0 0 0 1
0 1 1 0 1 0 1 0
1 0 1 0 0 0
1 1 1 0 1 1
kolona x + yz i (x + y)(x + z), vidimo da za svaku kombinaciju imaju iste vrijednosti. Boolova
algebra u nekim aspektima podsjeća na običnu algebru. Ali kako smo vidjeli u sekciji 3.1 postoje
neke razlike među njima. Ovo se posebno odnosi na aksiome 5(i) i 6 (distributivnost (+) preko (*) i
definicija komplementa, respektivno) ne vrijede za običnu algebru. Pored toga, neke teoreme obične
algebre nisu istinite za Boolovu algebru. Npr. zakon poništavanja za sabiranje u običnoj algebri je:
Ako je x + y = x + z onda je y = z
Međutim ovaj zakon poništavanja ne vrijedi za Boolovu algebru. Da bi smo ovo vidjeli, neka je: x =
1, y = 0 i z =1. Sada imamo x + y = 1+ 0 = 1 i x + z =1+1 = 1, ali je y ≠z.
S druge strane iskaz:
Ako je y = z onda je x + y = x + z
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 0 0 1 0 0
0 1 1 1 1 1 1 1
1 0 0 0 1 1 1 1
1 0 1 0 1 1 1 1
1 1 0 0 1 1 1 1
1 1 1 1 1 1 1 1
3.5 BOOLOVE PREKIDAČKE FUNKCIJE
Koncept polinoma je bez sumnje dobro poznat onima koji dobro poznaju običnu algebru, ali to
isto ne mora da vrijedi kad je riječ o Boolovim (algebarskim) izrazima koji predstavljaju analogni
koncept. Da bi uveli koncept Boolovog izraza neka je (xn-1·········x1,x0) skup simbola nazvanih varijable.
Tada je Boolov (algebarski) izraz po (xn-1·········x1,x0) izraz formiran od varijabli, konstanti, 0 i 1,
binarnih operatora I i ILI, te unarnog operatora NE. Drugim riječima, možemo dobiti Boolove izraze
primjenjujući sljedeća dva pravila konačan broj puta:
1. Konstante 0 i 1 i Boolove varijable {xn-1,·········x1, xo} su Boolovi izrazi u {xn-1,·········x1, xo}
2. Uz to, ako su E1 i E2 Boolovi izrazi u {xn-1,·········x1, xo} onda su i to E1', E2', E1 + E2 i E1E2
Na primjer, po definiciji, izrazi
E1=[(x1x2)' +( x1x3)]'
E2=x1x2+x1'x3+x1x3'
E3=x1’x2( x3+x1x2’)+x2’x3
svi specificiraju istu tabelu istine u kojoj vrijednosti funkcije u 3 – tiplima (0,0,1), (0,1,1), (1,1,0) i
(1,1,1) su 1 i 0 u svim ostalim 3 – tiplima. U stvari, dva Boolova izraza će specificirati istu tabelu
istine, ako se jedan izraz može transformirati u drugi preko aksioma i zakona Boolove algebre.
U sekciji 3.6 pokazaćemo, da svaka Boolova funkcija određuje Boolov izraz u kanonskoj formi.
Tada, među ostalim stvarima zaključit ćemo da se svaka Boolova funkcija može realizovati sa
varijablama i oparatorima I, ILI i NE.
Ako je F(xn-1,…,x1,x0) prikazat ćemo funkcije od n – varijabli, onda je komplement F’(xn-1,…,x1,x0)
funkcije čija je vrijednost 1 kad god je vrijednost F je 0 i 0 kad god je vrijednost F jednaka 1. Prema
tome, tabela istine od F’ može se dobiti na osnovu F kompletiranjem svakog ulaza u kolonu
vrijednosti funkcije F. Suma (ILI) F+G dvaju funkcija F i G je funkcija čija je vrijednost 1 za svaki
n-tipl za koji je bilo F ili G (ili obadvije) jednaka 1, dok je proizvod (I) FG jednak 1. Dakle, tabela
istine za F+G i FG dobijene su sabiranjem (ILI-ing) ili množenjem (I-ing) odgovarajućih ulaza iza
tabela istine za F i G. Slijedeći primjer ilustruje ove procedure.
x3 x2 x1 F G F' F+G FG
0 0 0 1 1 0 1 1
0 0 1 0 0 1 0 0
0 1 0 1 1 0 1 1
0 1 1 0 0 1 0 0
1 0 0 1 0 0 1 0
1 0 1 0 1 1 1 0
1 1 0 0 1 1 1 0
1 1 1 1 1 0 1 1
Sa definicijama {+}, {.} i {‘} možemo zaključiti da skup prekidačkih funkcija od n-varijabli
formira Boolovu algebru. Posebno ćemo razmotriti u sljedećoj sekciji Boolovu algebru svih
prekidačkih funkcija od dvije varijable.
Kada je broj varijabli n=2 postoji 16 (22)2 mogućih Boolovih funkcija. Operatori I i ILI
odgovorni su za dvije ovakve funkcije, dok unarni operator NE odgovara za druge dvije.
Razmotrimo, dakle, 12 preostalih funkcija.
Tabela istine za 16 Boolovih funkcija od dvije varijable grupisane su i izlistane u Tabeli 3.6.
Svaka od 16 kolona, F0 do F15 zajedno sa četiri binarne kombinacije nezavisnih varijabli A i B,
predstavljaju tabelu istine jedne od mogućih funkcija ovih varijabli. Među njima možemo
identificirati F1,F7,F10 i F12 kao respektivne represetante I operacije, ILI operacije i dva (unarna)
komplementa (NOT) operacija.
■ Tabela 3.6 Boolove funkcije od dvije varijable
Operator binarne logike može da se proširi da obuhvati mutiple varijable ako je operacija i
komutativna i asocijativna.Već smo spomenuli da se inhibicija i implikacija rijetko koriste u
projektovanju digitalnih sistema. Dakle, razmotriti ćemo samo proširenje na mutiple varijable binarne
operatore I, ILI, XILI ekvivalenciju, NAND i NILI (NOR).
Na osnovu aksioma 3 i teoreme 3.8 znamo da su oba operatora ILI i I komutativna
x+y=y+x i xy = yx
i asocijativna
x + ( y + z ) = ( x + y ) + z = x + y + z i x ( yz ) = ( xy ) z = xyz
x y z xyz x+y+z
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 0 1
1 0 0 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Prema tome oba operatora mogu da se prošire na više od dvije varijable. Tabela 3.7 izlistava tabelu
istine za I i ILI sa tri nezavisne varijable. (Treba uočiti da smo zajedno grupisali dvije tabele istine u
jednu.)
Možemo, takođe pokazati da je binarno XILI ili (XOR) operacija, komutativna i
asocijativna; odnosno da vrijede,
A⊕B=B⊕A
i
(A ⊕ B) ⊕ C = A ⊕ (B ⊕ C) = A ⊕ B ⊕ C
A ⊕ B ⊕ C = (A ⊕ B) ⊕ C = (A' B + A B') ⊕ C
Na osnovu jednačine (3.1) možemo dobiti odgovarajuću tabelu istine prikazanoj u tabeli 3.8. Ostale
tabele istine izvedene su na sličan način.
XILI(XOR) Ekvivalencija
A B C D A⊕B⊕C⊕D A~B~C~D
0 0 0 0 0 1
0 0 0 1 1 0
0 0 1 0 1 0
0 0 1 1 0 1
0 1 0 0 1 0
0 1 0 1 0 1
0 1 1 0 0 1
0 1 1 1 1 0
1 0 0 0 1 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 1
.
Kao sljedeće učinit ćemo naredne observacije. Ako imamo n varijabli onda 2n/2 od 2n
mogućih binarnih kombinacija imat će neparan broj 1-ca i 2n/2 kombinacija ima parni broj 0-la. Ali
ako je n neparan onda kombinacije koje imaju neparan broj 1-ca su iste kombinacije koji imaju paran
broj 0-la. S druge strane, ako je n parno, tada kombinacije koje imaju neparan broj 1-ca formiraju
komplementarni skup prema kombinacijama koje imaju paran broj 0-la. Možete verificirati ove
observacije pregledavanjem binarnih kombinacija za n = 3 i n = 4 varijabli u Tabeli 3.8.
Ako sada uporedimo kolone sa zaglavljima XILI (XOR) i ekvivalencije u Tabeli 3.8. vidjet
ćemo da su za n = 3 (neparno) dvije funkcije jednake dok za n = 4 (parno) one su komplementarne.
Ove observacije su takođe općenito istinite. Ako je broj varijabli n paran onda su XILI (XOR) i
ekvivalencije komplementarne, ali ako je n neparan onda su XILI (XOR) i ekvivalencije jednake.
Pogledajmo najzad NOR i NAND operatore. Oba binarna operatora su komutativna ali nijedan nije
asocijativan. Prema tome, govoreći striktno, nijedan od operatora ne može biti proširen na multiple
varijable. Ipak, možemo prevazići ovu teškoću podsjećajući da je NOR (NILI) ne-ILI (not-OR) i
NAND(NI) ne-I (not-AND). Sada možemo jednostavno definisati NILI (NOR) operator multiple-
varijable kako slijedi
( x1 + x2 + . . . + xn )’
( x1 x2 . . . xn )’
Kao primjer Tabela 3.9 izlistava proširenje NILI (NOR) i NI (NAND) na tri varijable bazirajući se na
ovim definicijama.
Funkcionalna kompletnost
x ↓ x = x’ x’ = x’ (NE) (NOT)
( x ↓ y ) ↓ ( x ↓ y ) = [(x + y)’ + (x + y)’]’ = x + y (ILI) (OR)
Slično, NI (NAND) operator je funkcionalno kompletan zbog toga što generira funkcionalno
kompletan skup {.,’} kako slijedi:
x | x = x’ (NE) (NOT)
( x | y ) | ( x | y ) = [( x y )’ ( x y )’]’ = x y (I) (ILI)
Pošto možemo implementirati svaku Boolovu funkciju sa bilo kojim od ovih jedno-operatorskih
skupova, NILI (NOR) i NI (NAND) vrata su veoma popularna u projektovanju digitalnih sistema i
stoje na raspolaganju u formi čipova sa integriranim krugovima bilo koje logičke familije.
Drugi funkcionalno kompletni skupovi operacija ilustrirani su u sljedećim primjerima.
■ Primjer 3.6 Skup {f,1}, gdje je f(x,y)=x’y funkcionalno komplementan pošto su:
Komplementi
Alternativno, komplement funkcije može ce dobiti kada se prvo izvede dualna funkcija i nakon toga
komplementira svaka varijabla. (Podsjetimo da dual fd od f se dobija međusobnom zamjenom I-ija i
ILI-ija (ANDs and ORs), te 0-tog i 1-vog; vidi primjer 3.1). Pogledajmo ovu proceduru na sljedećim
primjerima.
■ Primjer 3.9 Ponovi primjer 3.8 preko nalaženja duala i nakon toga komplementiranja svake varijable.
xy’+(x’+y’)(y’z’)=f’
(x’+y+z’)(x+y’+z)=f’
= xi ako je ki = 1
xi* = xi ako je ki = 0
= xi’ ako je ki = 1
Zapazimo da je vrijednost svakog minterma 1 ako i samo ako varijable poprimaju vrijednost
svojih odgovarajućih binarnih kombinacija i jednaka je 0 za svaku drugu kombinaciju. Također,
vrijednost svakog maksterma je 0 ako i samo ako varijable poprimaju vrijednost svojih odgovarajućih
binarnih kombinacija i jednaka je 1 za svaku drugu kombinaciju. Prema tome, za istu binarnu
kombinaciju, odgovarajući minterm i maksterm su komplementi jedan drugog. Na primjer, sa tri
varijable m6=1 (M6=0) vrijede ako i samo ako x=1, y=1 i z=0 i M6=0 (M6=1) za svaku drugu
kombinaciju. Ove osobine vrijede za bilo koji broj varijabli i može da se sumira na sljedeći način:
Sada možemo koristiti ove koncepte za izvođenje algebarskog izraza Boolove funkcije iz
date tabele istine. Ovo možemo učiniti na dva načina:
1. Sumiranjem (ORing) onih mintermova za koje funkcija poprima vrijednost 1
2. Množenjem (ANDing) onih maksterma za koje funkcija poprima vrijednost 0
■ Primjer 3.10 Razmotrimo sljedeću tabelu istine Boolove funkcije od tri varijable f(x2,x1,x0)
Dekadno x2 x1 x0 f
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
(a) Pošto je f=1 za binarne kombinacije čiji su dekadni ekvivalenti 1,4,5,6 i 7 funkcija se može
izraziti kao:
(x2,x1,x0)=m1+m4+m5+m6+m7
Svaki od ovih mintermova može se eksplicitno specificirati preko tri varijable kako bi se dobio
sljedeći Boolov algebarski izraz za f:
(b) Pošto je f=0 za binarne kombinacije čiji su dekadni (decimal) ekvivalenti 0, 2, i 3 fukcija se može
alternativno izraziti kao:
(x2,x1,x0)=M0M2M3
Svaki od ovih makstermova može se eksplicitno specificirati preko tri varijable kako bi se dobio
sljedeći algebarski izraz za f:
Kasnije ćemo pokazati kako konvertirati jednu formu u drugu. U međuvremenu, međutim,
preporučujemo čitatelju, da verificira, korištenjem indetiteta iz tabele 3.1, da su izrazi u dijelovima
(a) i (b) jednaki iIi da se f može u pojednostavljenoj formi predstaviti kao x2+x1'x0 [ili ekvivalenti
kao (x2+x1') (x2+x0)]. ■
U primjeru 3.10 funkcija f predstavljena je kao suma [ILI, (OR) od mintermova koji odgovaraju
binarnim kombinacijama x2,x1,x0 za koje f poprimi vrijednost 1. Pošto postoji jedan prema jedan
korespodencija između ovih binarnih kombinacija, njihovi dekadni ekvivalenti, i njihovi mintermovi
možemo koristiti skraćenu notaciju i izraziti f kao
Simbol ∑ u jednadžbi (3.3) vrijedi za ''logičku sumu [ILI(OR)] mintermova indiciranih dekadnim
brojevima''. Na sličan način, pošto se f može takođe izraziti kao produkt [I(AND)] ovih makstermova
koji korespondiraju vrijednostima x2,x1 i x0 za koje je f jednako 0, možemo f predstaviti kao
Simbol ∏ u jednačini (3.4) vrijedi za ''logički produkt [I(AND) ] makstermova indiciranih dekadnim
brojevima (decimals)''. Zapazimo da nema dvosmislenosti kod korištenja bilo kojeg od ovih formata
za izražavanje svake Boolove funkcije. Umjesto da predstavljamo druge izraze preko ovih varijabli,
možemo konvencionalno predstaviti funkciju korištenjem skraćenih formi.
Nazvaćemo predstavu sume mintermova Boolove funkcije kanonskom formom sume
produkata [the canonical sum-of-product (SOP) form].(Ponekad kanonski (SOP) se naziva minterm
formom ili disjunktivnom normalnom formom). Predstava produkata maxtermova Boolove funkcije
naziva se kanonskom formom produkta suma [the canonical product of sums (POS) form].
(Kanonski (POS) se takođe naziva maksterm forma ili konjuktivna normalna forma).
Svaka Boolova funkcija može se izraziti bilo kao kanonsko SOP ili kanonsko POS. Ovu tvrdnju
možemo rezimirati preko sljedeće teoreme.
□ Teorema 3.10. Svaka Boolova funkcija f (xn-1,…,x1,x0) od n varijabli može da se napiše u jednoj od
dvije sljedeće forme:
αk=βk=f(k n-1,…,k1,k0)
Podsjetimo da postoji 22n funkcija od n binarnih varijabli. Jednadžbe (3.5) i (3.6) daju dvije
alternative za izražavanje svake od ovih Boolovih funkcija bilo kao kanonsko SOP ili kao kanonsko
POS. Možemo izvesti ove forme ponovljivom primjenom Shannonovih teorema razvoja (11a) i (11b)
respektivno, (vidi tabelu 3.1). U cilju ilustracije predpostavimo da je n=3. Dakle, postoji (22)n =28=
256 Boolovih funkcija od tri varijable. U sljedećem primjeru pokazat ćemo kako izvesti svih 256
kanonskih SOP predstava preko ponovljive primjene Shannonove teoreme razvoja (11a).
■ Primjer 3.11 Preko ponovljive primjene Shannonove teoreme razvoja (11a) dobijamo
f(x,y,z)
= x [yf (1, 1, z) + y'f (1, 0, z)] + x' [yf (0, 1, z) + y'f (0, 0, z)]
= xy [zf (1, 1, 1) + z'f (1, 1, 0)] + xy' [zf (1, 0, 1) + z'f (1, 0, 0)]
+ x'y [zf (0, 1, 1) + z'f (0, 1, 0)] + x'y' [zf (0, 0, 1) + z'f (0, 0, 0)]
Pošto dvije kanonske forme daju dvije alternative za izražavanje iste Boolove funkcije, jedna se
forma može izvesti iz druge. Da bi se ovo uočilo, podsjetimo da je funkcija u jednadžbi (3.10)
opisana jednadžbom (3.3) na sljedeći način.
f(x2,x1,x0)=∑(1,4,5,6,7) (3.9)
f'(x2,x1,x0)=∑(0,2,3)
Uzimajući komplement komplementa i koristeći DeMorganov zakon (10a), (vidi tabelu 3.1)
dobijamo:
f(x2,x1,x0)=[∑(0,2,3)]'=m0'm2'm3'=M0M2M3
Alternativno, možemo posmatrati proces konvertiranja jedne kanonske forme u drugu na sljedeći
način: Označimo sa U skup dekadnih brojeva (decimals) pridruženih funkciji. Ako je A skup
dekadnih brojeva (decimals) kanonskog SOP, onda je U-A skup dekadnih brojeva kanonskog POS i
obrnuto. U sljedećem primjeru ilustrirat ćemo ovu proceduru.
■ Primjer 3.12 Skup dekadnih brojeva pridruženih bilo kojoj Boolovoj funkciji od 3 varijable je
U={0,1,2,3,4,5,6,7}. Skup dekadnih brojeva (decimals) kanonskog SOP od f u jednadžbi (3.9)
je A={1,4,5,6,7}. Dakle, U-A=(0,2,3) je skup dekadnih brojeva (decimalnih) koji odgovara
kanonskom POS od f, u saglasnosti sa jednadžbom (3.10). ■
Komplementi i duali
Ako je funkcija od n-varijabli specificirana kao kanonska SOP, onda je njen komplement dat sa :
(3.11)
Drugi dio jednadžbe (3.11) dobijen je korištenjem De Morganove teoreme (10a) Tabele 3.1, a treći
dio je dobijen korištenjem jednadžbe (3.2c).
Ako je funkcija specificirana kao kanonski POS, onda je komplement dat sa :
Drugi dio jednadžbe (3.12) dobijen je iz DeMorganove teoreme (10b), a treći dio dobijen je iz
jednadžbe (3.2c).
Da se dobije dual funkcije f od n-varijabli treba koristiti jednadžbu (3.13), ako je f u kanonskom SOP,
a jednadžbu (3.14) ako je f u kanonskom POS.
f=∑(1,2,3,4)= ∏ (0,5,6,7)
f’=M1M2M3M4
fd=m1dm2dm3dm4d=M6M5M4M3
fd=M0d+M5d+M6d+M7d=m7+m2+m1+m0
Kao što smo spomenuli u sekciji 3.5, komplement se također može dobiti nalaženjem prvog duala i
potom komplementiranjem. Dakle ako je f u kanonskom SOP, komplementiraj varijable u jednakosti
(3.13) da dobiješ jednadžbu (3.11). Slično ako je f u kanonskoj POS, komplementiraj varijable u
jednadžbi (3.14) da dobiješ jednadžbu (3.11).
Nekanonske forme
Podsjetimo da smo u primjeru 3.10 dobili dvije kanonske forme [jednadžbe (3.3) i (3.4) ] za datu
funkciju f(x2,x1,x0). Kako smo tamo istaknuli sa bilo kojom od ovih kanonskih formi možemo
algebarskom manipulacijom dobiti njihove jednostavnije forme bilo kao:
f(x2,x1,x0) = x2+x1’x0
ili kao:
f(x2,x1,x0) = (x2+x1’)(x2+x0)
Prvi izraz je suma produkata (SOP), dok je drugi izraz u produkt suma (POS) formi pri čemu je svaki
izraz kombinovan, zbog toga što produktni članovi (članovi sume) nisu mintermi (makstermi). Kad je
riječ o njima jednostavno će se izostaviti riječ kanonski i koristiti skraćenice SOP i POS. U slijedećoj
sekciji, pokazat ćemo kako konvertovati nekanonske u kanonske forme.
Da bi konvertovali izraz sume produkata u njegovu kanonsku SOP formu koristićemo identitet
x+x’=1. Ako jedna ili više varijabli nedostaju u bilo kojem produktu mi ih podvrgavamo operaciji
I(AND) koristeći ovaj identitet pa potom odstrenjujemo zagrade koristeći zakon distribucije. Ova
procedura ilustrirana je u sljedećem primjeru:
■ Primjer 3.14 Pretvori funkcije f(x, y, z) = x'y + z + xy' u kanonsku SOP formu.
■ Primjer 3.15 Ponovi primjer 3.14 pretvarajući funkciju u kanonsku POS formu. Pošto je f(x, y, z) =
∑(1,2,3,4,5,7) onda je f jednaka ∏ (0,6). Dakle,
x = x + yy’ = (x + y) (x + y’)
y’ + z = xx’ + y’ + z = (x + y’ + z) (x’ + y’ + z)
Preko I-ranja (AND-ing) svih ovih izraza i odstranjivanja onih koji su suvišni (redundant) odnosno
pojavljuju se više od jednog puta, dolazimo do sljedećeg kanonskog POS-a:
f(x,y,z)=(x+y+z)(x+y+z’)(x+y’+z)(x+y’+z’)(x’+y’+z) ■
Za konverziju izraza proizvod suma u kanonsku SOP formu, jednostavno je prvo izvršiti
konverziju u kanonski POS, a potom u kanonski SOP.
■ Primjer 3.17 Ponovi primjer 3.16 konvertirajući funkciju u kanonski SOP. Pošto
je f(x,y,z)=∏(0,1,2,3,6) slijedi da je f jednaka ∑(4,5,7)
f(x,y,z)=xy’z’+xy’z+xyz
Najznačajnija primjena Boolove algebre leži u području projektovanja digitalnih sistema. Raznovrsne
funkcionalne jedinice digitalnih sistema poznate kao logički (ili prekidački) krugovi koji prihvataju
kolekciju ulaza i generišu kolekciju izlaza. Svaki ulazni i izlazni signal predstavlja varijablu koja
poprima samo dvije različite vrijednosti i nosi jedan bit informacije . Sa svakom informacijom se
može raditi na taj način što se binarni signal propusti kroz različite kombinacije logičkih krugova. U
poglavljima koja slijede diskutovati ćemo sa znatnim detaljima analizu i projektovanje različitih
digitalnih krugova. Ipak, sa idejama koje su do sada prezentirane već raspolažemo sa osnovnim
alatima za projektovanje koji se mogu primjeniti na brojne probleme projektovanja. Prema tome cilj
ove sekcije je dvostruk: (1) uvesti standardne izgradne blokove (building blocks) nazvane vrata
(gates) koji se koriste za implementaciju digitalnog projekta, i (2) uvesti proces projektovanja preko
netrivijalnih primjera. Drugi problemi projektovanja mogu da se nađu kao zadaci na kraju ovoga
poglavlja.
Logička vrata
Logički krugovi koji izvršavaju logičke operacije kao što su I, ILI, i NE nazivaju se vrata. Vrata su
hadverski blok koji proizvodi logičko 0 ili logičko 1 izlaznog signala kao odziv na binarne signale
primjenjene vratima.
Od 16 Boolovih funkcija definiranih u Tabeli 3.6 dvije su konstantne dok su četiri
(komplement, transfer, inhibicija i implikacija) ponavljaju dva puta. Inhibicija i implikacija ne koriste
se kao standardna vrata, zbog toga što nisu komutativne i asocijativne. Dakle samo osam funkcija su
implementirane kao standardno logička vrata: I, ILI, komplement (NE), transfer, NI (NAND), NILI
(NOR), eksluzivno – ILI i ekvivlencija.
Osam standardnih vrata prikazano je na slici 3.1. Grafički simboli označavaju se kao simboli
osobitog oblika prema (ANSI/IEEE standardu No 91-1937). U novije vrijeme, međutim, pojavili su
se novi standardi grafičkih simbola za logičke funkcije (ANSI/IEEE standard No 91-1984). Novi
standard je veoma moćan simbolički jezik za opis relacija između svakog ulaza i svakog izlaza
digitalnog kruga, bez eksplicitnog prikazivanja interne konstrukcije kruga. Ipak da ne opterećujmo
suvišno čitatelja sa prilično složenim novim standardima izabrali smo za korištenje simbole osobitog
oblika tokom ove knjige, a i dali smo kratak pregled novih standarda u dodatku na kraju knjige.
Na slici 3.1. mali krug na izlazu vrata ukazuje na komplementarnu NE(NOT) operaciju.
Vrata NE(NOT) često se još nazivaju inverzna pošto invertiraju (komplementiraju) binarni signal na
svom ulazu. Funkcije transfera ne djeluju na ulaznu varijablu i na izlazu se proizvodi ista vrijednost
ulaza.
Transferska vrata se uglavnom koriste kao bafer (buffer) u digitalnim kolima za povećanje
višestrukosti (fan-out-a) (vidi sekciju 1.2.) izvora signala. Na primjer, predpostavimo da dati uređaj
treba da pogoni 12 ulaza, ali je njegov fan-out samo 5. Prema tome, uređaj može da pogoni pet
bafera, (broj bafera nužno zavisi od njihovih fan-out sposobnosti) pa možemo koristiti njihove izlaze
za pogon 12 ulaza.
Zapazimo da izuzev vrata sa jednim ulazom sva ostala vrata prikazana na slici 3.1. imaju dva
ulaza. Uz to, već smo u sekciji 3.5 utvrdili da binarni operatori I, ILI, XILI (XOR), ekvivalencija, NI
(NAND) i NILI(NOR) mogu da se prošire na multiple ulaze. Što se tiče njihovih grafičkih simbola,
možemo izvršiti modifikaciju svakog od njih jednostavnim dodavanjem odgovarajućeg broja
dodatnih ulaznih linija.
Žičana logika
Ako su izlazi dvoja ili više vrata direktno spojeni zajedno, rad kola može da bude neodređen. Postoje
međutim, brojne primjene gdje su dva ili više izlaza vrata ili uređaja vezana na zajedničku liniju,
nazvanu sabirnica (bus-line) ili (jednostavnije bus).
Na primjer, od digitalnog računara može da se zahtijeva da pošalje ili primi podatke od velikog broja
ulazno/izlaznih uređaja. Pošto je nepraktično da svaki uređaj ima svoj vlastiti (odvojen) skup linija,
većina računara komunicira sa ulazno/izlaznim uređajima preko sabirnice koja ove uređaje spaja
paralelno. Jedan tip logike koja se koristi u sabirničko orijentisanim digitalnim sistemima naziva se
ožičena logika koja je podržana nekom od IC logičkih familija što omogućava da dva ili više izlaza
budu međusobno spojeni kako bi proizveli signal sa pravim značenjem. Slika (3.2a) pokazuje da je
logička funkcija generirana međusobnim spajanjem izlaza dvoja NILI (NOR) vrata ILI (OR) funkcije.
Ovaj tip spajanja često se naziva žična ILI (wired-OR). Slično slika 3.2(b) prikazuje implementaciju
žične-I funkcije (wired-AND function). Na obe slike linije su povučene kroz centar vrata da bi se
razlikovale od regularnih vrata. Treba uočiti da žični–I ili žično-ILI nisu fizikalna vrata već simbol
koji označava funkciju implementiranu datim žičnim spojevima.
U narednim poglavljima uvest ćemo proces projektovanja digitalnih krugova na sistematski način i
diskutirati brojne algoritme koji se mogu koristiti da bi se došlo do dobrih projekata. Ipak koncepti
uvedeni do sada već se mogu integrisati na taj način da ilustriraju kako projektovanje digitalnih
prekidačkih krugova može da se izvršii od specifikacija zahtjevnog kruga do izvođenja dijagrama
logičkog kola. Prvi korak u procesu projektovanja je koncizno formulisanje problema. Ovo se čini
preko preslikavanja generalnog opisa problema bilo u Boolovu jednačinu ili u oblik tabele istine. Da
bi smo shvatili kako se ovo radi, razmotrimo uređaj nazvan displej od sedam segmenata (seven-
segment display) (SSD) koji se koristi za prikazivanje dekadnih (decimalnih) digita.
■ SLIKA 3.3 Logički projekat kola sa sedam segmenata
Slika 3.5(a) prikazuje sedam segmenata označenih slovima od a do g . Svaki segment može
se odvojeno osvijetliti (uključiti svijetlost), tako da pogodnim odabiranjem segmenata možemo
prikazati dekadne digite od 0 do 9 kako to prikazuje slika 3.3(b).
Naš problem je, prema tome, projektovanje logičkog kola koje će uključiti svjetlost u
korektni segment kao odgovor na binarno – kodirani dekadni (BCD) ulaz (vidi sekciju 2.2). Pošto je
BCD kod predstavljen varijablom od četiri bita krug će imati četiri ulaza, jedan za svaki bit. Pošto
postoji sedam segmenata krug mora imati sedam izlaza, od kojih će svakli prekidati odgovarajući
segment bilo na uključeno (on), ili isključeno (off). Dakle blok dijagram zahtjevanog kola dat je na
Slici 3.3 (c).
Možemo tabelirati izlaze koji odgovaraju svakoj validnoj binarnoj kombinaciji ulaza kako je
pokazano u tabeli istine na slici 3.3 (d). Ulazni kodovi su BCD predstave prikazanih digita, dok su
izlazne kolone popunjene preko nadziranja (by inspecting) displeja datih na slici 3.3 (b). Stavlja se 1
u pogodnu kolonu ako odgovarajući segment treba da bude uključen i 0 ako treba da je isključen. Na
primjer, digit 7 zahtijeva samo segmente a, b i c pa, prema tome upisujemo 1110000 u odgovarajuću
izlaznu sekciju tabele istine.
Uočimo da je tabela istine na slici 3.3 (d) nepotpuna. Sa četiri ulazne varijable, možemo
garantirati 16 binarnih kombinacija. Dakle, potpuna tabela istine treba da sadrži 16 vrsta. Međutim
samo deset vrsta se stvarno zahtijeva za specifikaciju našeg problema, pa se postavlja pitanje šta je sa
preostalih šest kombinacija? Pošto je ulazni kod BCD možemo predpostaviti da binarne kombinacije
koje odgovaraju dekadnim brojevima od 10 do 15 se nikad neće desiti. Ako se nikad ne dešavaju neće
se odgovarajući izlaz generisati. Drugim riječima, stvarno nas nije briga kakvi su izlazi za ove ulaze.
U potpunoj tabeli istine ovo može da se pokaže stavljanjem X-sa na izlazne kolone suprotne vrstama
kojie odgovaraju dekadnim 10 do 15. Ovdje se X-ks označava sa ne vodi brigu (don’t cares), može
biti 0 ili 1, te ne postoji razlika koju vrijednost svaki od njih poprima, pošto se predstavlja da se
odgovarajuća ulazna kombinacija nikad ne dešava. Dakle, njihovo izostavljanje iz tabele na sl.3.3.
implicira istu stvar “kao ne vodi brigu”. Oznaka ”ne vodi brigu “ biće detaljnije razmatrana u sekciji
4.6.
Nakon predstavljanja rada kruga u formi tabele istine možemo sada dati Boolove funkcije koje
predstavljaju njihovo ponašanje. Razmotrimo, na primjer, segment d koji treba da bude uključen
(d=1) kada prikazujemo digite 0,2,3,5,6, ili 8. Izražavajući ove uslove u kanonskoj SOP formi,
dobijamo iz tabele istine
d=∑(0,2,3,5,6,8)
a=∑(0,2,3,5,7,8,9)
b=∑ (0,1,2,3,4,7,8,9)
c=∑ (0,1,3,4,5,6,7,8,9)
e=∑ (0,2,6,8)
f=∑(0,4,5,6,8,9)
g=∑(2,3,4,5,6,8,9)
Možemo također izraziti ove izlazne funkcije u alternativnoj kanonskoj POS formi. Na primjer, d
izraženo u ovoj formi biti će dato sa:
d=∏ (1,4,7,9)
U ovoj sekciji razmotrit ćemo neke značajne osobine Boolovih funkcija i diskutirati strukture nekih
klasa funkcija. Većina ovih osobina biti će korištena u sljedećoj sekciji 3.9 i Poglavlju 4. U ovoj
sekciji biti će riječi o Boolovoj prekidačkoj funkciji sa n-varijabli f(x1,x2,……xn) sa izostavljanjem
argumenta gdje god se to podrazumijeva.
□ Definicija 3.1 Za dva Boolova izraza f i g iste varijable kaže se da su (logički) ekvivalentni ako
određuju istu tabelu istine, u kom slučaju možemo pisati f = g.
Dakle, logička ekvivalencija Boolovih izraza je ekvivalentna relacija nad skupom svih
Boolovih izraza od n varijabli. Prema tome, skup Boolovih izraza od n varijabli može biti razbijen na
rastavljene ekvivalentne klase, gdje je svaka ekvivalentna klasa povezana sa jedinstvenom tabelom
istine, specificiranom bilo kojim izrazom te klase. Broj različitih ekvivalentnih klasa je najviše (22)n
različitih tabela istine prekidačkih funkcija od n varijabli. U stvari teorema 3.10, u sekciji 3.6,
pokazuje da bilo koja prekidačka funkcija od n varijabli određuje Boolov uzraz u kanonskoj formi.
Dakle, broj ekvivalentnih klasa Boolovih izraza od n varijabli je tačno isti kao broj prekidačkih
funkcija od n varijabli. Slijedi, da su dva Boolova izraza ekvivalentna, ako i samo ako su njihove
kanonske SOP (kanonski POS) forme identične.
Implikacija i ekvivalencija
□ Definicija 3.2 Za Boolov izraz f se kaže da uključuje (inplay) drugi Boolov izraz g, što se
označava kao f⇒g, ako, kada se f i g razmatraju kao funkcije, g ima vrijednosti 1, bar u svakoj
kombinaciji u kojoj f ima vrijednost 1.
Prema tome, f⇒g kad god su pridružene tabele istine takve, da vrste tabele istine od g, gdje g ima
vrijednost 1, sadrže sve vrste tabele istine od g za koje f ima vrijednost 1. Zapazimo da prema
principu dualnosti f⇒g da, ako i samo ako, f ima vrijednost 0 bar u svakoj kombinaciji u kojoj g ima
vrijednost 0.
■ Primjer 3.18. Neka su f=y’ i g=x+x’y’, tada je y=1 ako je x=1 ili x=0 i y=0. Pošto je f=1,ako je y=0 i x bilo1
ili 0 (uoči da je f nezavisan od x), onda f⇒g ■
Sljedeći je rezultat neposredno posljedica teoreme 3.2.
□Teorema 3.12. Ako su f i g Boolovi izrazi onda f⇒g ako i samo ako f + g=g i fg=f
□
□ Teorema 3.13. Dva Boolova izraza f i g su ekvivalentni ako i samo ako jedan izraz može biti
transformiran u drugi korištenjem aksioma i zakona Boolove algebre.
□
Neformalno govoreći, ono što ova posljednja observacija implicira je da su aksiomi
Boolove algebre dovoljni da odrede da li ili ne dva Boolova izraza daju istu tabelu istine. Dakle,
možemo zaključiti da su aksiomi i zakoni Boolove algebre sve što trebamo za analizu onog što mogu
biti dvije dramatično različite konfiguracije digitalnog kruga.
□ Definicija 3.3 Neka je p produkat (suma) literala, dok je f funkcija. Ako p⇒f onda se za p kaže
da je implikant (implicate) od f. □
■ Primjer 3.20 Neka su p=wxy' i f=wx+yz. Na osnovu teoreme 3.12 pošto je p+f=wxy'+wx+yz=wx+yz=f i
pf=wxy'=p, onda p⇒f, pa je wxy' implikant od f. ■
□ Definicija 3.4 Produkt (suma) literala je prvi implikant (prime implicant) od f, ako p⇒f i ako
brišući bilo koji literal u p rezultira novi član produkta (sume) koji ne implicira f. □
■ Primjer 3.21 Ako je p1= wxy’ i f=wx+yz , onda p1 jasno nije prvi implikant od f, pošto brišući y’ iz njega
rezultira novi produktni član, p2=wx koji također implicira od f. Međutim p2 je primarni
implikant od f, pošto je p2 ⇒ f, te brisanjem bilo kojih w ili x iz p2 rezultira produktni član koji
ne implicira f. ■
Klasifikacije varijabli
□ Definicija 3.5 Za funkciju f se kaže da je pozitivna (negativna) po xk , ako i samo ako je moguće
izraziti f u SOP ili POS formi bez xk’ (xk). □
Funkcija f je pozitivna po xi ako se mijenja od 0 do 1 ili ostaje nepromijenjena kad god se x mijenja
od 0 do 1. Negativna je po x bilo ako se x mijenja od 1 do 0 ili ostaje nepromjenjena kad god se x
mijenja od 0 do 1. Kao što smo vidjeli u primjeru 3.22 (c) moramo se pobrinuti o tome da li je
funkcija pozitivna ili negativna po bilo kojoj od varijabli.
□ Definicija 3.6 Funkcija je unitarna po xi ako je bilo pozitivna ili negativna po xi. □
Ako je f bilo pozitivno ili negativno po xi tada se i xi i xi’ moraju pojaviti u svojim SOP ili POS
izrazima. Ako se ni xi ni xi’ ne pojavljuju u svom SOP izrazu, onda je f nezavisna od xi pa je onda
trivijalno i pozitivno i negativno po xi. U ovom slučaju f se često označava kao prazna (vacuous) po
xi, i za xi se kaže da je suvišan (redundant). Sve nesuvišne varijable se nazivaju bitne (essential) za f.
Aku su sve varijable suvišne onda f mora biti konstantan, bilo da je f=0 ili f=1. Naredni primjer
ilustrira ove koncepte.
■ Primjer 2.23 Razmotrimo funkciju f(w,x,y,z)=xy+x`z`. Varijable x,y,z su bitne za f. Funkcija ne zavisi od
w (w je suvišno), pozitivna je po y i w, negativna po z i w i unitarna po y i z. ■
Klasifikacija funkcija
□ Definicija 3.7 Za funkciju se kaže da je monotono neopadajuća ako i samo ako je pozitivna po
svim svojim varijablama. □
□ Definicija 3.8 Za funkciju se kaže da je monotono nerastuća ako i samo ako je negativna po svim
svojim varijablama. □
Unitarne funkcije
□ Definicija 3.9 Funkcija f se naziva unitarna ako i samo ako je unitarna po svim svojim
varijablama. □
Koristeći definiciju 3.6 možemo alternativno utvrditi da je f unitarna ako i samo ako je
pozitivna ili negativna po svakoj od svojih varijabli. Drugim riječima f je unitarna funkcija ako i
samo ako se svaka varijabla pojavljuje bilo komplementirano ili nekomplementirano, ali ne obadvoje.
Iz ovih razloga unitarna funkcija je ponekad označena kao miješana monotona funkcija. Prema
tome, ako X={x1, x2, … xn} označava skup varijabli onda je f unitarna funkcija ako i samo ako X se
može razbiti u dva podskupa Y i Z takvo da X=Y ∪ Z i Y ∩ Z = Ø, (gdje ∩ i ∪ označavaju uniju i
presjek dva skupa, respektivno dok Ø označava prazan skup) tako da je f monotona neopadajuća
(pozitivna) funkcija u Y i monotono nerastuća (negativna) funkcija u Z.
■ Primjer 3.25 (a) Funkcija f (x,y,z)= x'y+x'z+yz je unitarna, pa možemo razbiti X = {x, y, z} u
Y={y,z} i Z={x} tako da je Y∪Z=X, Y∩Z=Ø, što znači da je f pozitivno u Y i negativno u Z.
(b) Jasno je da je funkcija f(x,y)=x'y+xy' neunitarna. ■
Simetrične funkcije
□ Definicija 3.10 Funkcija f se naziva totalno simetrična ako i samo ako ostaje nepromjenjena pri
bilo kojoj permutaciji njenih varijabli. □
■ Primjer 3.26 (a) Funkcija f(x,y)=xy'+x'y je totalno simetrična, pošto x,y igraju identične uloge u određivanju
vrijednosti f, pa je prema tome f nepromjenjena pri ovoj permutaciji.
(b) Funkcija f(x,y,z)=xy+xz+yz je jasno totalno simetrična. ■
□ Definicija 3.11 Funkcija f je parcijalno simetrična, ako i samo ako postoji bar jedan podskup od
bar dvije varijable po kojima je f totalno simetrično. □
■ Primjer 3.27 (a) f(x,y,z)=xy+z' je parcijalno simetrična po x i y.
(b) f(x,y,z)=x'y'z+xy'z' nije totalno simetrična pošto međusobna zamjena x i y daje x'y'z +x'yz'
što nije jednako f. Međutim, f je parcijalno simetrična po x i z, pošto njihova
međusobna zamjena daje isti izraz xy'z'+x'y'z. ■
□ Definicija 3.12 Funkcija f je miješano simetrična, ako i samo ako nije totalno simetrična, ali može
biti promijenjena u totalno simetričnu, zamjenom nekih njenih varijabli njihovim komplementima.
■ Primjer 3.28 Funkcija f (x,y,z)=xyz’ nije totalno simetrična. Međutim zamjenom z’ sa z dobijamo xyz što je
totalno simetrično. ■
Nesastavljive funkcije
Razmotrimo proces formiranja funkcije od n varijabli uzimanjem sastava više funkcija, od kojih
svaka zavisi manje od n varijabli. Ako je funkcija f tako formirana, onda se za f kaže da je
nesastavljiva funkcija, a proces se označava kao funkcionalna dekompozicija. U ovoj sekciji
razmotrićemo samo jednu klasu sastavljivih funkcija, koja se odnosi na jednostavne nesastavljive
funkcije.
f(w,x,y,z)=Hy’z+H’yz
f (w,x,y,z)=G[H(w,x),y,z]
Dijagram ovog logičkog kruga funkcije f prikazan je na slici 3.6(a).
3.9 Pokaži da
(a) ako je f(x,y,z)=x⊕y⊕z,onda je f(x,y,z)=x~y~z.
(b) ako je g(x,y,z)=x~y~z,onda je f(x,y,z)=x~y⊕z.
3.11 Pronađi komplemente slijedećih Boolovih izraza i reduciraj ih na minimalan broj literala.
(a) (xy'+wz')(wx'+yz) (b) wx'+y'z'
(c) x'z+wx'y'+wyz+w'xy
3.13 Odredi tabele istine za F1+F2 i F1F2 date u problemu 3.12 (a) i (b).
3.14 Samo-dualna (self-dual) Boolova funkcija je funkcija čija tabela istine ostaje nepromjenjena kad se sve 0-le
i 1-ce međusobno zamijene. Koliko samo-dualnih Boolovih funkcija postoji na n varijabli.
3.15 Utvrdi da li su sljedeći skupovi operatora funkcionalno kompletni.
(a) {f,0}, gdje je f(x,y)=x'+y
(b) {f,1}, gdje je f(x,y,z)=x'y'+x'z'+y'z.
3.16 Koliko Boolovih funkcija od četiri varijable poprima vrijednost 1; tačno dva puta? Tri puta?
3.17 Pokaži da ako je m1+...+mk kanonska SOP forma od f(x1,...,xn) onda je m1'...mk' kanonska POS forma od
f'(x1,...,xn).
3.18 Pronađi kanonsku SOP formu od f1:
x y f1
0 0 1
0 1 1
1 0 0
1 1 1
3.19 Pronađi kanonsku SOPformu svake od slijedećih funkcija
x y z f2 f3 f4
0 0 0 1 1 1
0 0 1 1 1 0
0 1 0 0 1 0
0 1 1 0 0 0
1 0 0 1 0 1
1 0 1 0 1 0
1 1 0 1 1 0
1 1 1 1 1 1
SLIKA P3.21
3.23 (a) Pokaži da su pozitivna logička I vrata negativna logička ILI vrata i obrnuto.
(b) Pokaži da su pozitivna logička NI (NAND) vrata negativna logička NEILI (NOR) vrata i obrnuto.
3.24 Pri korištenju I i ILI vrata sa multiplim ulazom, koliki je maksimalni zahtijevni broj vrata za
implementaciju Boolove funkcije od n varijabli, f(x1,...,xn) u kanonskoj SOP formi?
3.25 Odredi logički dijagram kruga NEI (NAND) vrata sa 3 ulaza preko više NAND vrata od 2 ulaza.
3.26 Objasni zašto sve 4-ulazne, jednoizlazne Boolove prekidačke funkcije ne mogu biti zamijenjene sa tri 2-
ulazne, jednoizlazne Boolove prekidačke funkcije kao na slici P3.26.
SLIKA P3.26
3.29 Projektuj krug sa tri ulaza i jednim izlazom tako da je izlaz tačno 1 kada dva ili tri ulaza imaju vrijednost 1.
3.30 Takozvani 2-gi modul je kolo koje ima dva ulaza, A i FLAGIN, te dva izlaza B i FLAGOUT. Ako je
FLAGIN=1 onda je A=B' i FLAGOUT=1. Ako je FLAGIN=0 i A=1, onda je FLAGOUT=1. Ako je
FLAGIN=0 i A=0, onda je FLAGOUT=0. Ako je FLAGIN =0, onda je A=B. Projektuj krug za
implementaciju 2-gog modula.
3.31 Koristeći 2-ge module (zadatak 3.30) projektuj logički krug koji sračunava 2-gi komplement y3y2y1 3-
bitnog binarnog broja x3x2x1.
3.32 Dati 4-bitni binarni broj predstavljen kao A3A2A1A0 (A0 je posljednji značajni bit). Projektuj logički krug
koji će odrediti kad je binarni broj veći od 6.
3.33 Slika P3.33 prikazuje krug za množenje koji na ulazu ima dva 2-bitna broja x1x0 i y1y0. Na njegovom izlazu
pojavljuje se binarni broj z3z2z1z0 koji je jednak aritmetičkom produktu dva ulazna broja. Predpostavi da
su x0, y0 i z0 posljednji značajni biti (lsb). Projektuj logički krug množača.
SLIKA P3.33
3.34 Neka x1x0 i y1y0 predstavljaju 2-bitne binarne brojeve. Projektuj logički krug koristeći x1, x0, y1 i y0 kao
ulaze čiji je uslov z=1 kada i samo kada su ova dva broja jednaka.
3.35 Razmotri blok dijagram prikazan na slici P3.35. Neka su date f1=ab+b'c'=x' i f2=a'(bc'+b'c)=xy', odredi
x(a,b,c) i y(a,b,c).
x f1
a
b
y f2
c
SLIKA P3.35
3.36 Projektuj logički krug koji prihvata 3-bitni broj i generiraj na njegovim izlazima binarni broj jednak
kvadratu ulaznog broja.
3.37 Četiri velika tanka hemijskog postrojenja sadrže različite tečnosti koje se griju. Senzori nivoa tečnosti
koriste se da detektuju nivoe u tenkovima A i B kad god nivoi porastu iznad unaprijed određenog
nivoa. Temperaturni senzori u tankovima C i D vrše detekciju temperature u ovim tankovima kad god
temperatura u njima opadne ispod unaprijed date temperaturne granice. Predpostavimo da izlazi senzora
nivoa tečnosti (A i B) su NISKO (LOW) (0) kada je nivo zadovoljavajući i VISOKO (HIGH) (1) kada je
nivo suviše visok. Također, izlazi senzora temperature (C i D) su (NISKO) (LOW) (0) kada je
temperatura zadovoljavajuća i VISOKO (HIGH) (1) kada je temperatura suviše niska. Projektuj logički
krug koji će detektovati kad god je nivo tanku A ili tanku B suviše visok, a u isto vrijeme temperatura
bilo u tanku C ili tanku D suviše niska.
3.38 Slika P3.38 prikazuje raskrsnicu dva puta. Senzori za detekciju vozila stavljeni su uzduž linije A,B,C i D.
Izlazi senzora su NISKI (LOW) (0) kada vozila nisu prisutna i VISOKO (HIGH) (1) kad je vozilo
prisutno. Svjetlost semafora raskrsnice kontroliše se kako slijede:
(1) Svjetlost E-W semafora biti će zelena kad god su obe linije C i D zauzete.
(2) Svjetlost E-W biti će zelena kad god bilo C ili D je zauzeto, dok obe linije A i B nisu
zauzete.
(3) Svjetlost N-S biti će zelena kad god su obe linije A i B zauzete, dok obe linije C i D nisu
zauzete.
(4) Svjetlost N-S biti će također zelena kada bilo A ili B su zauzete, dok su obe linije C i
D slobodne.
(5) Svjetlost E-W biti će zelena kad vozila nisu prisutna-
Koristeći izlaze senzora A,B,C i D kao ulaze, projektuj logički krug za kontrolu svjetlosti semafora.
Treba da postoje dva izlaza N/S i E/W koji postaju 1 kada odgovarajuća svjetlost treba da bude zelena.
SLIKA P3.38
3.39 Projektuj logički krug koji testira rad semafora. Ako kontrolni krug semafora loše funkcioniše, moguće
je da se pojavi naopaka kombinacija signala. Jedini cilj test kruga je da detektuje naopaku kombinaciju i
potom generira signal greške koji može biti prenesen u područje grada za održavanje semafora. Ispravne
kombinacije prikazane na slici P3.39. Koristi E za signal greške i označi za E=1 loše funkcioniranje
semafora.
SLIKA P3.39
3.46 Pronađi funkciju f(x1,x2,x3,x4) implementiranu vratima sa pragom prikazanim na slici P3.46.
SLIKA P3.46
3.47 Odredi funkciju f(x1,x2,x3,x4) implementiranu od strane kruga sa pragom prikazanim na slici P3.47.
SLIKA P3.47