You are on page 1of 366

Zavod za elektroniku, mikroelektroniku,

raunalne i inteligentne sustave


















Marko upi, dipl. ing.


ZBIRKA RIJEENIH
ZADATAKA IZ
DIGITALNE
ELEKTRONIKE



















Zagreb, 2004

Verzija 1.3








































(2002-2005) Marko upi. Zabranjeno je umnaanje / reproduciranje /
modificiranje bilo kojih dijelova Zbirke bez pismene dozvole autora.

Predgovor

Zbirka rijeenih zadataka iz Digitalne elektronike namijenjena je svim
studentima koji polau ovaj kolegij, ili su zainteresirani za pokriveno
gradivo. Zbirka je nastala kao rezultat rada na auditornim i laboratorijskim
vjebama kroz akademske godine 2002/2003-2004/2005. Temeljni
materijal koriten za izradu zbirke ine zadaci s auditornih vjebi u
akademskoj godini 2001/2002. Zbirka je nadopunjena nizom zadataka u
skladu s obnovljenim podrujima obraenim na predavanjima u
akademskoj godini 2002/2003. U zbirci se takoer nalaze rijeeni zadaci s
kolokvija, pismenih ispita, kao i odreen broj zadataka koje studenti vrlo
esto rjeavaju pogreno. Ponegdje su ak ukljueni i ti pogreni naini
rjeavanja, zajedno s objanjenjem zato je to pogreno, i ispravnim
rjeenjem.

Zbirka rijeenih zadataka ne sadri teorijska razmatranja koja pokriva ovaj
kolegij, te se u tu svrhu preporua knjiga prof. dr. sc. Uroa Peruka
Digitalna elektronika, logiko i elektriko projektiranje, III. proireno
izdanje, kao i uredno pohaanje predavanja.

U zbirci se osim samog logikog i elektrikog projektiranja digitalnih
sklopova nalaze i zadaci vezani uz opisivanje i simuliranje istih uporabom
VHDL-a. Vie o samom jeziku za opis sklopovlja VHDL-u moe se
pronai u materijalima za laboratorijske vjebe Stjepana Groa, dipl. ing.
Dobar uvod u VHDL dostupan je takoer kroz skriptu mr. sc. Sinie
egvia Uvod u programski jezik VHDL, koja se moe pronai na
stranicama kolegija.





Ovim putem elio bih se takoer zahvaliti svima koji su mi pomogli u
izradi ove zbirke, a napose mentoru prof. dr. sc. Vladi Glaviniu, bez kojeg
ova zbirka nikada ne bi ugledala svjetlo dana, mr. sc. Borisu Kette-u za
vrlo korisne rasprave i nove kuteve gledanja na pojedina podruja digitalne
elektronike, kolegi Stjepanu Grou, dipl. ing. za podrku i komentare
prilikom izrade Zbirke, kao i svima ostalima.

Marko upi, dipl. ing.

Zagreb, veljaa 2004.
Sadraj

1. Refleksije, presluavanja i utjecaj kapacitivnosti. _________________________1
2. Zatitno kodiranje. Brojevni sustavi. __________________________________25
3. Osnovni logiki sklopovi.____________________________________________41
4. Booleova algebra. _________________________________________________65
5. Minimizacija logikih funkcija. ______________________________________99
6. Standardni kombinacijski moduli. ___________________________________137
7. Standardni programirljivi moduli. ___________________________________163
8. Bistabil. ________________________________________________________179
9. Digitalna aritmetika. ______________________________________________193
10. Registri. ______________________________________________________209
11. Brojila. _______________________________________________________225
12. Strojevi s konanim brojem stanja._________________________________245
13. Memorije. _____________________________________________________289
14. A/D i D/A konverzija.____________________________________________301
15. Integrirani logiki sklopovi. ______________________________________323




Refleksije, presluavanja i utjecaj kapacitivnosti. 1


1. Refleksije, presluavanja i utjecaj kapacitivnosti.

1.1. Zadatak

Koji su tipini uzroci izoblienja signala u digitalnim sustavima? Objasnite ukratko.


Najei uzroci izoblienja signala u digitalnim sustavima su:

Refleksije.
Presluavanja.
Parazitne kapacitivnosti i induktivnosti.

Refleksije dolaze do izraaja kada je duljina vodova kojima signal putuje relativno
velika u odnosu na valnu duljinu samog signala. U tom sluaju vodove treba promatrati
kao prijenosne linije (engl. transmission lines).

Presluavanja nastaju kao rezultat utjecaja meukapaciteta i meuinduktiviteta.
Manifestiraju se kao pojava pozitivnih ili negativnih naponskih smetnji na vodiu
uslijed promjene naponske razine na nekom drugom vodiu.

Parazitne kapacitivnosti i induktivnosti utjeu na poveavanje vremena potrebnog za
promjenu naponskih razina u digitalnom sustavu. Pri tome je uobiajeno dominantan
utjecaj parazitnih kapacitivnosti.

1.2. Zadatak

Objasnite pojam prijenosne linije.


Dugaki vodii (obzirom na valnu duljinu signala koji kroz njih putuje) nazivaju se
prijenosne linije. Prijenosne linije imaju nekoliko karakteristinih parametara:

C
0
kapacitet po jedinici duljine [pF/cm]
L
0
induktivitet po jedinici duljine [nH/cm]
R
0
otpor po jedinici duljine [/cm]
G
0
vodljivost po jedinici duljine [S/cm]
Z
0
karakteristina impedancija []
T
0
kanjenje signala po jedinici duljine [ps/cm]

Vrlo pojednostavljena nadomjesna shema prijenosne linije prikazana je u nastavku (a
budui da se neemo detaljno baviti prijenosnim linijama, model je dovoljan kako bi se
dobila gruba slika o pojavama vezanim za prijenosne linije).

2 Zbirka rijeenih zadataka

lR
0
lL
0
lG
0 lC
0

o
lC j lG
lL j lR
Z

+
+
=
0
0 0
0



U zadacima u nastavku zbirke promatrat emo samo idealnu prijenosnu liniju
(uniformna linija bez gubitaka; R
0
0, G
0
0), ija je takoer pojednostavljena
nadomjesna shema zajedno s karakteristinom impedancijom prikazana u nastavku.

lL
0
lC
0

o
C
L
Z
0
0
=

Za razumijevanje prijenosne linije bitno je prisjetiti se injenice da su elektrini signali
koje koristimo u sklopovima zapravo elektromagnetski valovi koji se kroz prostor ire
odreenom brzinom (ogranienom brzinom svjetlosti c=310
8
m/s). Za napon i struju
na prijenosnoj liniji vano je zapamtiti da su funkcija i vremena i poloaja, to emo
vidjeti u zadacima u nastavku.

Elektromagnetski valovi ire se kroz prostor brzinom

1
= v , pri emu su:
r
=
0
,
r
=
0
,

m
F
9
0
10 ) 36 / 1 ( ,

m
H
7
0
10 4 .

Lako se vidi da je za medij u kojem je
r
=1 i
r
=1: c
s
m
v =

= =
8
0 0
10 3
1

.

Kako je kod prijenosnih linija uobiajeno ispunjeno
r
=1, slijedi da je brzina irenja
signala odreena izrazom:

r
c
v

= .

Moe se pokazati da je brzina irenja signala kod prijenosne linije bez gubitaka takoer
odreena izrazom:

Refleksije, presluavanja i utjecaj kapacitivnosti. 3

0 0
1
C L
v = .

Ako je prijenosna linija dugaka l, tada e signalu trebati lT
0
vremena da doe do
njezinog kraja, te moemo pisati:

= =
s
m
C L T
T l
l
C L
v
1
0 0 0
0
0 0


1.3. Zadatak

Signal frekvencije 1 GHz putuje vodiem duljine 20 cm (npr. nekom sabirnicom). Poznato je

r
=1.44. Da li vodi treba promatrati kao prijenosnu liniju? Da li isti zakljuak vrijedi za sklop
koji je izveden na ipu, gdje je duljina dotinog vodia smanjena na 25 m?


Brzina irenja signala iznosi

= =
s
m c
v
r
8
8
10 5 . 2
44 . 1
10 3



Valna duljina signala iznosi m
f
v
25 . 0
10 1
10 5 . 2
9
8
=

= =

Kako je u prvom sluaju 0.25 m priblino jednako duljini vodia od 20 cm, vodi je
potrebno promatrati kao prijenosnu liniju.

U drugom sluaju, gdje je duljina vodia 10000 puta manja od valne duljine signala
vodi nije potrebno promatrati kao prijenosnu liniju.

1.4. Zadatak

Objasnite pojam refleksije i transmisije.


Neka je na prijenosnu liniju spojen izvor, ija je nadomjesna shema prikazana
naponskim izvorom U
s
(t) i otporom R
s
, te troilo R
L
. Nadomjesna shema cijelog sklopa
prikazana je u nastavku.

U
s
(t)
+
-
R
s
Z
0
R
L prijenosna linija
A B
A


Definiraju se faktor refleksije na ulazu linije
A
i faktor refleksije na izlazu linije
B
:
4 Zbirka rijeenih zadataka


0
0
Z R
Z R
S
S
A
+

= i
0
0
Z R
Z R
L
L
B
+

= .

Faktor refleksije je mjera diskontinuiteta (razlike u otporu) koji vidi signal, i odreuje
koliko e se signala reflektirati u suprotnom smjeru. Ako je sa X oznaen diskontinuitet,
tada e vrijediti:

X

+ 1 Upadni val
Reflektirani val
Transmitirani val


Dakle, kada signal amplitude U
i
doe na mjesto diskontinuiteta, signal amplitude U
i

vraa se kao reflektirani signal, a diskontinuitet prolazi signal amplitude (1+)U
i
. Ovo
zapravo znai da na lijevo i desno od diskontinuiteta naponska razina postaje ista (lijevo
je prije refleksije bio napon U
i
, nakon refleksije vraa se jo U
i
, tako da je ukupni
napon na lijevoj strani (1+)U
i
, to je isto naponu koji se nalazi na desnoj strani).

Budui da prijenosna linija ima dva mogua diskontinuiteta, refleksije se mogu dogaati
na ulazu i izlazu linije, pa se stanje na liniji obino prikazuje dijagramom odbijanja
(engl. bounce diagram, lattice diagram). Dijagram se sastoji od dvije paralelne linije
gdje lijeva strana predstavlja ulaz linije (toka A) a desna strana izlaz linije (toka B).
Vrijeme tee prema dolje.

Neka u trenutku t=0 na liniju dolazi signal U
i
. Ako je duljina linije oznaena s l, a
kanjenje signala po jedinici duljine sa T
0
, tada je vrijeme potrebno da signal stigne s
ulaza na izlaz linije odreeno izrazom:

0
T l T
d
=

Stanje na liniji promatra se u diskretnim vremenskim trenucima, koji su viekratnici
vremena T
d
. Stanje na liniji tada je prikazano dijagramom odbijanja u nastavku.

Napon u pojedinoj toki jednostavno se dobije zbrajanjem svih doprinosa do tog
trenutka. Npr. napon u toki A u trenutku t
x
iznosi:

( )
2 2 2
2 2 2
1
) (
A B A B A B B i
A B i A B i A B i B i i x A
U
U U U U U t U


+ + + + =
+ + + + =


U istom trenutku napon u toki B iznosi:

( )
A B A B B i
A B i A B i B i i x B
U
U U U U t U


+ + + =
+ + + =
2
2
1
) (


Refleksije, presluavanja i utjecaj kapacitivnosti. 5

Do razlike je dolo uslijed injenice da reflektirana komponenta
2 2
A B i
U koja je u
trenutku t=0+4T
d
krenula od toke A prema toki B tamo jo nije stigla.

t=0 t=0
t=0+1T
d
t=0+1T
d
t=0+2T
d
t=0+2T
d
t=0+3T
d
t=0+3T
d
t=0+4T
d
t=0+4T
d
t=0+5T
d
t=0+5T
d
t=0+6T
d
t=0+6T
d
i
U
B i
U
A B i
U
A B i
U
2
2 2
A B i
U
2 3
A B i
U
3 3
A B i
U
l
t=t
x
A B


Koliko iznosi U
i
? Neka izvor generira napon prema step funkciji (do t=0 napon je 0V,
nakon t=0 napon je U
S
, npr. 5V). Otpori R
s
i Z
0
jedino su to signal "vidi" u trenutku
t=0, te ta dva otpora ine naponsko dijelilo, ime je U
i
odreen:

0
0
Z R
Z
U U
S
S i
+
=
6 Zbirka rijeenih zadataka


1.5. Zadatak

Koji su karakteristini sluajevi optereenja prijenosne linije? Izraunajte faktor refleksije.


Postoje tri karakteristina sluaja:

Terminirana linija: R
L
=Z
0
.
Kratki spoj linije: R
L
=0.
Otvorena linija: R
L
=.

U
s
(t)
+
-
R
s
Z
0
R
L
=Z
0 prijenosna linija
A B
A


0
0 0
0 0
=
+

=
Z Z
Z Z
B


U
s
(t)
+
-
R
s
Z
0
R
L
=0
prijenosna linija
A B
A


1
0
0
0
0
=
+

=
Z
Z
B


U
s
(t)
+
-
R
s Z
0
R
L
=
prijenosna linija
A B
A


1
0
0
=
+

=
Z
Z
B


U sluaju kada je linija terminirana, nema refleksija! Ujedno je potrebno zapamtiti i
kada je linija terminirana: otpor tereta i impedancija linije moraju biti jednaki (R
L
=Z
0
).
Refleksije, presluavanja i utjecaj kapacitivnosti. 7


1.6. Zadatak

Dva digitalna sklopa povezana su dugakim vodom na tiskanoj ploici. Sklop A alje sklopu
B informaciju podizanjem napona u
g
=U na izlazu s 0V na +5V. Poznati su slijedei podaci:
izlazni otpor sklopa A iznosi 100, karakteristina impedancija voda iznosi 100, ulazni
otpor sklopa B iznosi 3900. Brzina signala kroz prijenosnu liniju iznosi 210
8
m/s, a duljina
samog voda iznosi 40 cm. Prikaite naponsko stanje na vodu.









Poznato je:

=100
iz
R , =100
0
R , = 3900
ul
R , s m v / 10 2
8
= , m cm l 4 . 0 40 = =

Da bi signal stigao s jednog kraja linije na drugi, potrebno mu je vrijeme:

ns
v
l
T
d
2
10 2
4 . 0
8
=

= =

Prikazani sklopovi mogu se nadomjestiti elektrikom shemom prema slici:

A
u
B
u
ul
R
izl
R
g
u
0
R
A B


Faktor refleksije na ulaznom kraju voda:

0
100 100
100 100
0
0
=
+

=
+

=
R R
R R
iz
iz
A


Vidimo da je izlazni otpor sklopa A prilagoen karakteristinoj impedanciji voda pa na
tom kraju nee dolaziti do refleksije.

Faktor refleksije na izlaznom kraju voda:

A B
iz
u
ul
u
8 Zbirka rijeenih zadataka

95 , 0
100 3900
100 3900
0
0
=
+

=
+

=
R R
R R
ul
ul
B


Kako je
B
0, na ovom kraju dolaziti e do refleksije. Nacrtajmo dijagram odbijanja:

t=0 ns
t=0 ns
t=2 ns t=2 ns
t=4 ns
t=4 ns
V U
i
5 , 2 =
V U
B i
375 , 2 =
V U
A B i
0 =
l
A B


V
R R
R
U U
iz
g i
5 , 2
100 100
100
5
0
0
=
+
=
+
=

V U
B i
375 , 2 95 , 0 5 , 2 = =

V U
A B i
0 0 95 , 0 5 , 2 = =

Promatrajmo kretanje napona na oba kraja voda:

Izlaz sklopa A:
A
u
(ulazni kraj voda)

Ulaz sklopa B:
B
u
(izlazni kraj voda)
0. t=0T
d
=0 ns
u
A
(0 ns)=2,5 V


t=0T
d
=0 ns
u
B
(0 ns)=0 V
t=1T
d
=2 ns
u
A
(2 ns)=2,5 V

1. t=1T
d
=2 ns
u
B
(2 ns)=2,5+2,375=4,875 V



2. t=2T
d
=4 ns
u
A
(4 ns)=2,5+2,375=4,875 V



t=2T
d
=4 ns
u
B
(4 ns)=2,5+2,375=4,875 V


Refleksije, presluavanja i utjecaj kapacitivnosti. 9

Objanjenje po fazama
0.
Sklop A generira na izlazu napon od 5V. Napon se dijeli na dijelilu
izl
R -
0
R .
Zatim zapoinje irenje naponskog vala prema izlazu voda. U ovom trenutku
napon u toci B i dalje je 0, jer naponskom signalu treba T
d
vremena kako bi
stigao do drugog kraja.
1. Naponski val amplitude 2.5V stie do kraja voda. Tu se dogaa refleksija, i
reflektirani val poinje se iriti prema poetku voda. Reflektirani val ima
amplitudu jednaku amplitudi upadnog vala puta faktor refleksije. Signal koji se iz
ove toke iri dalje (prema teretu; transmitirani val) ima amplitudu jednaku
amplitudi upadnog vala pomnoenoj faktorom refleksije uveanim za 1. Dakle,
vraa se 2,375V, a na teret ide 4,875V.
2. Reflektirani val stie do poetka voda. Kako je ovaj kraj otporno prilagoen,
nema refleksije. Napon u toj toki od sada na dalje jednak je naponu koji je
vladao prije dolaska reflektiranog vala (2.5V) uveanom za amplitudu pristiglog
reflektiranog vala (2.375V). Vidi se da je napon na oba kraja voda sada jednak, te
je pad napona na vodu jednak nula, to je i bilo za oekivati.

Grafiki prikaz:


Za vjebu:
Kakvo bi bilo stanje na vodu uz: a) R
ul
=, b)
R
ul
=0?














1.7. Zadatak

Dva digitalna sklopa komuniciraju preko dugakog voda na tiskanoj ploici. Poznati su
slijedei podaci: izlazni otpor sklopa A iznosi 150, induktivitet voda po jedinici duljine
0.5H/m, kapacitet voda po jedinici duljine 50pF/m, ulazni otpor sklopa B 3900 a duljina
voda 60 cm. Sklop A alje sklopu B informaciju podizanjem napona na izlazu s 0V na +5V.
Prikaite naponsko stanje na vodu.


Poznato je:
=150
iz
R m H L / 5 , 0
0
=
= 3900
ul
R m pF C / 50
0
=
t
u
g
t
u
A
5
5
t
2
u
B
5
4 6
[ns]
10 Zbirka rijeenih zadataka


Karakteristinu impedanciju voda moemo odrediti poznavanjem induktiviteta po
jedinici duljine i kapaciteta po jedinici duljine voda:

= = = = 100 10000
50
5 , 0
0
p C
L
R



Brzina irenja signala po vodu iznosi:
s
m
C L
v
8
12 6
0 0
10 2
10 50 10 5 , 0
1 1


=

= =

Vrijeme potrebno za prolaz signala do kraja voda iznosi:

ns
v
l
T
d
3
10 2
6 . 0
8
=

= =

Faktor refleksije na ulaznom kraju voda:

2 . 0
5
1
100 150
100 150
0
0
= =
+

=
+

=
R R
R R
iz
iz
A


Vidimo da izlazni otpor sklopa A nije prilagoen karakteristinoj impedanciji voda
(
A
0) pa e na tom kraju dolaziti do refleksije.

Faktor refleksije na izlaznom kraju voda:

95 . 0
100 3900
100 3900
0
0
=
+

=
+

=
R R
R R
ul
ul
B


Kako je
B
0, na ovom kraju takoer e dolaziti do refleksije.

Napon koji e se po ukljuenju izvora pojaviti na prijenosnoj liniji iznosi:

V
R R
R
U U
iz
g i
2
100 150
100
5
0
0
=
+
=
+
=

Refleksije, presluavanja i utjecaj kapacitivnosti. 11

t=0 ns t=0 ns
t=3 ns t=3 ns
t=6 ns
t=6 ns
t=9 ns t=9 ns
t=12 ns t=12 ns
t=15 ns
t=15 ns
t=18 ns t=18 ns
V U
i
2 =
V U
B i
9 , 1 =
V U
A B i
38 , 0 =
V U
A B i
361 , 0
2
=
V U
A B i
0722 , 0
2 2
=
V U
A B i
06859 , 0
2 3
=
V U
A B i
013718 , 0
3 3
=
l
A B


Promatrajmo kretanje napona na oba kraja voda:

Ulazni kraj: Izlazni kraj:
0. t=0T
d
=0 ns

u
A
(0 ns)=2 V
t=0T
d
=0 ns

u
B
(0 ns)=0 V
t=1T
d
=3 ns

u
A
(3 ns)=2 V
1. t=1T
d
=3 ns

u
B
(3 ns)=2+1,9=3,9 V
2. t=2T
d
=6 ns

u
A
(6 ns)=2+1,9+0,38=4,28 V

t=2T
d
=6 ns

u
B
(6 ns)=2+1,9=3,9 V
t=3T
d
=9 ns

u
A
(9 ns)=2+1,9+0,38=4,28 V

3. t=3T
d
=9 ns

u
B
(9 ns)=2+1,9+0,38+0,36=4,64 V
4. t=4T
d
=12 ns t=4T
d
=12 ns
12 Zbirka rijeenih zadataka


u
A
(12 ns)=2+1,9+0,38+0,36+0,0722
= 4,7132 V


u
B
(12 ns)=2+1,9+0,38+0,36=4,64 V
t=5T
d
=15 ns

u
A
(15 ns)=2+1,9+0,38+0,36+0,0722
= 4,7132 V

5. t=5T
d
=15 ns

u
B
(15 ns) =
= 2+1,9+0,38+0,36+0,0722+0,06859
= 4,78179 V

6. t=6T
d
=18 ns

u
A
(18 ns) =
= 2+1,9+0,38+0,36+0,0722
+0,06859+0,013718
= 4,795508 V
t=6T
d
=18 ns

u
B
(15 ns) =
= 2+1,9+0,38+0,36+0,0722+0,06859
= 4,78179 V


Za vjebu:
Nacrtati stanje na vodu prema izraunatim vrijednostima.
Kojem naponu tei napon na krajevima voda? Zato?


1.8. Zadatak

Izlaz digitalnog sklopa prikljuen je na dugaki vod. Sklop generira jedan idealni pravokutni
impuls amplitude 5V i trajanja 2 ns. Ako je vod neoptereen, prikaite naponsko stanje na
vodu. Jo je poznato: T
d
=6 ns, karakteristina impedancija voda iznosi 100, izlazni otpor
digitalnog sklopa iznosi 400.


6 . 0
5
3
100 400
100 400
0
0
= =
+

=
+

=
R R
R R
iz
iz
A


1
100
100
0
0
=
+

=
+

=
R R
R R
ul
ul
B


Pravokutni impuls od amplitude 5 V u trajanju od 2 ns moemo prikazati kao sumu
dvije step funkcije:

u
g
(t) = 5 (S(t)-S(t - 2 ns))

Efektivno dakle imamo pozitivni naponski skok u t = 0 ns i negativni naponski skok u t
= 2 ns, a odziv na skok ve je rijeen u prethodnim zadacima.

V U U
g i
1
100 400
100
5
100 400
100
=
+
=
+
=

Refleksije, presluavanja i utjecaj kapacitivnosti. 13

U trenutku t=0 kroz liniju kree signal amplitude U
i
, a 2 ns nakon njega kroz liniju se
poinje iriti signal amplitude U
i
. Dijagram odbijanja prikazan je u nastavku:

t=0 ns t=0 ns
t=6 ns
t=6 ns
t=12 ns
t=12 ns
t=18 ns t=18 ns
t=24 ns t=24 ns
t=30 ns
t=30 ns
t=36 ns t=36 ns
V U
i
1 =
l
A B
V U
i
1 =
V U
B i
1 =
V U
B i
1 =
V U
A B i
6 , 0 =
V U
A B i
6 , 0 =
V U
A B i
6 , 0
2
=
V U
A B i
6 , 0
2
=
V U
A B i
36 , 0
2 3
=
V U
A B i
36 , 0
2 3
=
V U
A B i
36 , 0
2 3
=
V U
A B i
36 , 0
2 3
=
V U
A B i
216 , 0
3 3
=
V U
A B i
216 , 0
3 3
=


Dijagrami napona na ulazu i izlazu iz linije prikazani su u nastavku:

14 Zbirka rijeenih zadataka

2
1,5
1
0,5
2 4 6 8 10 12 14 16 18 20 22 26 24 28 30 32 34 36 38 40
t [ns]
u
i
[V]
2
1,5
1
0,5
2 4 6 8 10 12 14 16 18 20 22 26 24 28 30 32 34 36 38 40
t [ns]
u
A
[V]
2
1,5
1
0,5
2 4 6 8 10 12 14 16 18 20 22 26 24 28 30 32 34 36 38 40
t [ns]
u
B
[V]
1V
1V 0,96V
1,6V
0,576V
2V
1,2V
0,72V

1.9. Zadatak

Izlaz digitalnog sklopa prikljuen je na dugaki vod. Sklop u trenutku t=0 generira naponski
skok amplitude 5V. Ako je vod neoptereen, prikaite naponsko stanje na vodu. Vod se
sastoji od dva dijela. Na prvom dijelu kanjenje signala po jedinici duljine iznosi
m ns T / 10
1
0
= a na drugom dijelu kanjenje signala po jedinici duljine iznosi m ns T / 5
2
0
= .
Duljina prvog dijela iznosi 0,2 m, a duljina drugog dijela 0,4 m. Karakteristina impedancija
prvog dijela voda iznosi 100 a drugog dijela voda 60, izlazni otpor digitalnog sklopa
iznosi 150. Prikaite naponsko stanje na liniji.


Kanjenje signala na prvom dijelu voda iznosi:

ns T l T
d
2 10 2 , 0
1
0 1
1
= = =

a na drugom dijelu voda:

ns T l T
d
2 5 4 , 0
2
0 2
2
= = = .

Vidimo da je kanjenje signala kroz oba dijela vodia je jednako. U zadatku imamo 4
faktora refleksije, odreena sljedeim izrazima:

Refleksije, presluavanja i utjecaj kapacitivnosti. 15

2 , 0
100 150
100 150
1 , 0
1 , 0
=
+

=
+

=
Z R
Z R
iz
iz
A
, 25 , 0
100 60
100 60
1 , 0 2 , 0
1 , 0 2 , 0
2
=
+

=
+

=
Z Z
Z Z
,

25 , 0
60 100
60 100
2 , 0 1 , 0
2 , 0 1 , 0
3
=
+

=
+

=
Z Z
Z Z
, 1
60
60
2 , 0
2 , 0
3
=
+

=
+

=
Z R
Z R
L
L


Naime, postoje 3 diskontinuiteta: ulaz u prvi vod (toka A), spoj dvaju vodova (toka
X) i izlaz iz drugog voda (toka B). Napon na ulazu voda u trenutku t=0 odreen je
iskljuivo naponskim dijelilom R
iz
-Z
0,1
, prema formuli:

V
Z R
Z
U U
iz
g i
2
100 150
100
5
1 , 0
1 , 0
=
+
=
+
=

Dijagram odbijanja prikazan je u nastavku:

A B X
0 ns
2 ns
4 ns
8 ns
10 ns
12 ns
14 ns
16 ns
18 ns
0 ns
2 ns
4 ns
8 ns
10 ns
12 ns
14 ns
16 ns
18 ns
a
b c
d e
f g
h
i
j
k
l m
n o
p q


Radi preglednosti dijagrama pojedine reflektirane i transmitirane komponente nisu
direktno upisivane, ve su samo oznaene slovima. Uz navedene faktore refleksije,
bitna su nam i dva faktora transmisije:

75 , 0 1
2 2
= + = T i 25 , 1 1
3 3
= + = T

Tada su pojedine komponente definirane izrazima:
16 Zbirka rijeenih zadataka


V U a
i
2 = =
V aT b 5 , 1
2
= =
V a c 5 , 0
2
= =
V c d
A
1 , 0 = =
V b e
B
5 , 1 = =
V eT d f 9 , 1
3 2
= + =
V dT e g 3 , 0
2 3
= + =
V f h
A
38 , 0 = =
V g i
B
3 , 0 = =
V iT h j 28 , 0
3 2
= + =
V hT i k 36 , 0
2 3
= + =
V j l
A
056 , 0 = =
V k m
B
36 , 0 = =
V mT l n 436 , 0
3 2
= + =
V lT m o 132 , 0
2 3
= + =
V n p
A
0872 , 0 = =
V o q
B
132 , 0 = =

Obratiti panju na nain izrauna f (slino kao i g, j, k, ...). Kad signal predstavljen sa h
doe u toku X, jedan dio se reflektira natrag prema toki A (
2
d ), a dio se transmitira
dalje prema toki B (
2
dT ). Kako istovremeno u tu toku dolazi i signal iz toke B
predstavljen sa e, jedan dio tog signala reflektira se natrag prema toki B (
3
e ), a dio se
transmitira dalje prema toki A (
3
eT ). Tada ukupni signal koji se vraa prema A sadri
reflektiranu komponentu signala d i transmitiranu komponentu signala e, odnosno:
3 2
eT d f + = . Isto tako, ukupni signal koji se vraa prema B sadri reflektiranu
komponentu od e, i transmitiranu komponentu od d, dakle:
2 3
dT e g + =

Grafiki prikaz napona u tokama A, X i B dan je u nastavku.

Refleksije, presluavanja i utjecaj kapacitivnosti. 17

1
2
3
4
5
2 4 6 8 12 10 14 16
t [ns]
U
A
[V]
1
2
3
4
5
2 4 6 8 12 10 14 16
t [ns]
U
X
[V]
1
2
3
4
5
2 4 6 8 12 10 14 16
t [ns]
U
B
[V]
2 V
1,4 V
3,68 V
4,016V
4,5392 V
1,5 V
3,3 V
3,96 V
4,452 V
3 V
3,6 V
4,32 V 4,587 V



1.10. Zadatak

Objasnite utjecaj presluavanja na rad digitalnih sklopova.


Do presluavanja dolazi uslijed meuinduktivnih i meukapacitivnih veza. Razlikujemo
presluavanje na bliem kraju i presluavanje na daljem kraju. Npr. promotrimo rad
dijela sabirnice (dva para sklopova), prikazanih na slici.

X Y
W Z


18 Zbirka rijeenih zadataka

Sklopove moemo nadomjestiti:

R
S
R
0
R
0
R
0
I
Cm
blii kraj dalji kraj


R
S
R
0
R
0
R
0
I
Lm blii kraj dalji kraj

I
blii
=I
Cm
+I
Lm

I
dalji
=I
Cm
-I
Lm



Vidimo dakle da je utjecaj presluavanja uvijek vei na bliem kraju a manji na daljem
kraju. Struja zbog meukapacitivnosti kod donjeg sklopa uvijek tee prema oba kraja,
dok je smjer struje zbog meuinduktivnosti odreen Lenzovim zakonom (npr. ako struja
u gornjem sklopu potee na desno, u donjem e sklopu potei na lijevo). Detaljnija
matematika obrada prikazana je u sljedeem zadatku.

1.11. Zadatak

Izlaz jednog digitalnog sklopa A spojen je na ulaze dvaju
digitalnih sklopova B i B' preko dugakog voda na
tiskanoj ploici. Poznato je da izlazni otpor sklopa A kada
je izlaz u visokom stanju iznosi 130, dok je u niskom
stanju 10. Ulazni otpor sklopa B (i B') iznosi 10k, dok
je ulazna kapacitivnost 1 pF. Kapacitivnost linije iznosi
10pF.

Izraunajte i nacrtajte oblik napona koji se pojavi na ulazima sklopova B ako sklop A generira
pravokutni naponski impuls 5V u trajanju od 10 ns. Zanemarite refleksije.



Izlaz digitalnog sklopa A moe se nadomjestiti idealnim naponskim izvorom koji u
seriju ima spojen izlazni otpor. Nesavrenu liniju nadomjetamo savrenom uz dodatak
kapacitivnosti C
P
. Ulazi sklopova B i B' nadomjetaju se paralelnom kombinacijom
ulaznog otpora R
ul
i kapacitivnosti C
T
.


A
B
B'
Refleksije, presluavanja i utjecaj kapacitivnosti. 19

izl
R
g
u
P
C
ul
R
T
C
ul
R
T
C
A
B
B'



Ovu shemu moemo nacrtati i na drugaiji nain, tako da grupiramo otpore na jedno
mjesto a kapacitivnosti na drugo:
izl
R
g
u
ul
R
ul
R
P
C
T
C
T
C
Thevenin


Po Theveninu ovaj se strujni krug moe pojednostavniti na:
TOT
R
t
u
TOT
C i


pri emu je:

V
R R R
R R
u u
ul ul izl
ul ul
g t
873 . 4
||
||
=
+
=
izl ul ul TOT
R R R R || || =
P T T TOT
C C C C + + =

Moe se napisati slijedea naponska jednadba:

+ = dt t i
C
R t i t u
TOT
TOT t
) (
1
) ( ) (

1. sluaj:
20 Zbirka rijeenih zadataka


t=0, skok napona izvora s 0V na u
t
.
Rjeenje jednadbe glasi:
|
|
.
|

\
|
= =

1
1 ) ( ) (

t
t C ul
e u t u t u ,
TOT TOT
C R =
1 , 1
, 130 || 10 || 10
1 ,
k k R
TOT
=
ns 52 , 1
1
=
Jednadba vrijedi do t = 10 ns.

2. sluaj:

t=10ns, skok napona izvora s u
t
na 0V (kraj naponskog impulsa).
Rjeenje jednadbe tada glasi:
2
10
) 10 ( ) ( ) (

n t
ul C ul
e ns t u t u t u

= = = ,
TOT TOT
C R =
2 , 2
, 10 || 10 || 10
2 ,
k k R
TOT
=
ns 12 , 0
2
=
Jednadba vrijedi od t = 10 ns nadalje.


Grafiki prikaz:



Za vjebu:
Izraunati vrijeme porasta, vrijeme pada i trajanje
impulsa prema predavanjima.
Ako se trajanje impulsa skrati na 1 ns, kako e
tada izgledati izlazni napon? Hoe li sklop B
ispravno protumaiti da je primio visoku
naponsku razinu (pretpostavimo da napon na
ulazu mora biti barem 4V da bi bio shvaen kao
visoka razina)?






t
10 ns
u
t
t
10 ns
u
ul
Refleksije, presluavanja i utjecaj kapacitivnosti. 21

X Y
Z W
vod A
vod B

1.12. Zadatak

Dva para digitalnih sklopova (X, Y) i (W, Z) povezani su dugakim paralelnim vodovima na
tiskanoj ploici, na sljedei nain: izlaz sklopa X povezan je na ulaz sklopa Y, izlaz sklopa W
povezan je na ulaz sklopa Z. Svi sklopovi su istog tipa. Poznati su slijedei podaci: napon
visoke razine U
H
=3.8V, napon niske razine U
L
=0,3V, struja niske razine I
IL
=-1.6mA, struja
visoke razine I
IH
0mA, R
ul
H
=, R
ul
L
=4k, R
izl
H
=100, R
izl
L
=10k. Kapacitet izmeu
vodova iznosi C=10pF, a meuinduktivitet M=100nH. Izlazi sklopova X i W nalaze se na
visokoj razini (U
H
). Sklop X u trenutku t
1
poalje sklopu Y impuls trajanja T, s parametrima
t
r
=8ns, t
f
=5ns. Ako su sklopovi X i Z, te Y i W susjedni (vidi sliku), odredite utjecaj tog
impulsa na sklopove W i Z. Analizirati samo utjecaj presluavanja!











Postoje dvije komponente presluavanja:

i) zbog meuinduktiviteta
ii) zbog kapaciteta


Utjecaj presluavanja u opem sluaju
Utjecaj meuinduktiviteta Utjecaj kapaciteta
g
R
g
u
1
R
1
u
P
u
2
R
2
u
T
R
I
i
II
i
+
-
+
-
M

g
R
g
u
1
R
1
u
C
u
2
R
2
u
T
R
C
i
+
-
+
-
C

dt
di
M u
I
p
= ,
dt
di
M
R R R R
u
i
I P
II
2 1 2 1
1
+
=
+
=
dt
du
C i
C
C
=
dt
di
M
R R
R
u
I
2 1
1
1
+
=
+
dt
du
C R R
C
) || (
2 1

dt
di
M
R R
R
u
I
2 1
2
2
+
=
+
dt
du
C R R
C
) || (
2 1


22 Zbirka rijeenih zadataka

U trenutku t
1
sklop X generira padajui brid impulsa. Vrijedi:

0 ) , ( ) , ( ) (
1 1 1
= = =

H H C
U U t B t A t u


H L C
U U t B t A t u = =
+ + +
) , ( ) , ( ) (
1 1 1


s
V
t
U U
t
t u t u
t
u
dt
du
f
H L
f
C C
f
C C 8 1 1
10 7
) ( ) (
=

+


IH I
I t i =

) (
1
i
IL I
I t i =
+
) (
1


s
A
t
I I
t
t i t i
t
i
dt
di
f
IH IL
f
I I
f
I I 5 1 1
10 2 , 3
) ( ) (
=

+


Uz sklopove postavljene kao u zadatku, R
1
odgovara R
ul
H
sklopa Z, R
2
odgovara R
izl
H

sklopa W. Dobije se:

mV u 732
1
=

Kako je u stacionarnom stanju napon na vodu B jednak U
H
, pod utjecajem presluavanja
napon pada na V u U
H
068 , 3 ) 732 , 0 ( 8 , 3
1
= + = + .

Grafiki prikaz:
Zato derivacije nisu delta funkcije?
naponski skok kod u
A
impulsa takoer nije
savreno okomit. Moemo aproksimirati
trapezom trajanja t
f
/t
r
, pa bi derivacije bile
pravokutni impulsi. Meutim, i to je samo
aproksimacija, stvarno impulsi izgledaju kao na
slici...



Za vjebu.
Izraunati i nacrtati utjecaj presluavanja u
trenutku t=t1+T (dakle, na rastui brid).
Ponoviti analizu uz pretpostavku da su susjedni
sklopovi sada X i W, te Y i Z.









t
u
A
t
t
u
B
dt
di
I
t
t
1
t
1
+T
dt
du
C
?
?
?
Refleksije, presluavanja i utjecaj kapacitivnosti. 23

ZADACI ZA VJEBU

1. (Pismeni ispit 30.09.2004.)
Vie sklopova spojeno je na zajedniku sabirnicu koja se ponaa kao dugaka linija.
Zbog kvara, jedan od sklopova (npr. sklop C) sabirnicu kratko spaja na masu. Prikaite
stanje na sabirnici nakon to jedan sklop A na izlazu generira napon od 5V, u trajanju
od 5t
d
. Na sabirnicu je jo prikljuen samo ulaz sklopa B, dok su svi ostali sklopovi u
stanju visoke impedancije. Sklopovi B i C fiziki su smjeteni blizu. Poznato je: izlazni
otpor sklopa iznosi 150, ulazni otpor sklopa 2400 a karakteristina impedancija
voda iznosi 100.
2. (Pismeni ispit 07.02.2005.)
Izlaz digitalnog sklopa spojen je na dugaki vod na tiskanoj ploici, koji se ponaa kao
kao prijenosna linija. Ako je poznato da je izlazni otpor sklopa 50, a Z0=100,
nacrtajte stanje na vodu za sluaj da se napon na izlazu sklopa promijeni s 0,3V na 5V,
te ako je:
a. na kraj voda spojeno troilo ulaznog otpora 100,
b. kraj voda otvoren (nema spojenih troila).


Zatitno kodiranje. Brojevni sustavi. 25

2. Zatitno kodiranje. Brojevni sustavi.

2.1. Zadatak

etiri-bitni podatak 1011 potrebno je zatititi kodom n-strukog ponavljanja (uz n=5).
Prikazati zatieni podatak i navesti svojstva ovog kodiranja. Pokazati nain ispravljanja
pogreke na primjeru.


Opisani kod spada u najjednostavnije mogue, pri emu kod odjednom moe kodirati
samo jedan bit podatka (dakle 0 ili 1) i zbog toga ima samo dvije kodne rijei {0000,
1111}. Dakle, podatak 0 kodira se sa n nula, a podatak 1 sa n jedinica.

Podatak 1011 tada e uz n=5 biti kodiran kao 11111 00000 11111 11111.

Redundancija ovog kodiranja je vrlo velika; naime:

8 . 0
5
4 1
= =

= =
n
n
n
r
R

i poveanjem n raste prema 1 (r je broj zatitnih, tj. redundantnih bitova, n je ukupan
broj bitova). No, zahvaljujui velikoj redundanciji, kod moe otkrivati i ispravljati ak
(n-1)/2 pogreaka, gdje je s x definirana funkcija zaokruenja prema prvom manjem
cijelom broju. U naem primjeru, broj pogreaka koje kod moe otkriti i ispraviti iznosi:
( )

( )

2 2 2 / 1 5 2 / 1 = = = n . Kako smo doli do ovog zakljuka? Klju je u
raunanju udaljenosti primljene kodne rijei i svake mogue ispravne kodne rijei, gdje
se udaljenost rauna kao broj razliitih bitova. Ako kodna rije ima n bitova, tada je
uslijed pogreke mogla nastupiti jedna od sljedeih situacija: promijenjeno je nula
bitova, promijenjen je jedan bit, , promijenjeno je svih n bitova. Pogledajmo to
grafiki za n=5 (i uzmimo u obzir da imamo samo dvije ispravne kodne rijei):



Na prikazanoj slici referentna kodna rije je 00000. Isto razmatranje moemo napraviti
ako kao referentnu kodnu rije uzmemo 11111, ime dobijemo simetrinu sliku:

26 Zbirka rijeenih zadataka



Uzevi u obzir da je vjerojatnost pojave viestruke pogreke uobiajeno manja od
vjerojatnosti pojave manje pogreke, uvijek e se pretpostavljati da je dolo do
minimalnog broja promijenjenih bitova. Zbog toga e se izraunati udaljenost primljene
rijei do svake ispravne kodne rijei, i kao prava poslana kodna rije bit e uzeta ona
ispravna kodna rije koja ima minimalnu udaljenost. Npr. ako je primljena kodna rije
10101, raunamo udaljenosti:

d(10101, 00000) = 3
d(10101, 11111) = 2

Dakle, pretpostavit emo da je poslana kodna rije 11111, to odgovara podatku 1. Na
ovaj nain kod e pouzdano ispravljati svaku jednostruku pogreku, i svaku dvostruku
pogreku, to smo inicijalno i utvrdili. No u sluaju trostruke pogreke, kod e zakazati.
Naime, tada e udaljenost primljene rijei biti manja do one druge kodne rijei, i
ispravljanje pogreke e zakazati (zbog ega smo i izrekli tvrdnju da kod pouzdano
ispravlja do dvije pogreke).

Openito vrijedi sljedea tvrdnja: kod s minimalnom udaljenou d izmeu svake dvije
ispravne kodne rijei moe ispraviti ( )

2 / 1 d pogreaka.

Tvrdnja se moe izrei i obratno: da bi kod mogao ispravljati t pogreaka, minimalna
distanca izmeu svake dvije ispravne kodne rijei mora biti 1 2 + t d .

Ova tvrdnja vrijedit e i za sve kodove koje emo obraditi u nastavku.

2.2. Zadatak

Oktet 213 potrebno je zatititi paritetnim bitom uz uporabu parnog pariteta. Objasniti ovaj
nain zatitnog kodiranja, i svojstva.


Traeno kodiranje obavlja se tako da se podatkovnoj rijei doda jo jedan bit, koji se
postavi na onu vrijednost uz koju je cijela kodna rije traenog pariteta. Ako je n-bitna
podatkovna rije dana bitovima b
0
, b
1
, , b
n-1
, a paritetni bit oznaimo s b
n
, tada uz
pretpostavku parnog pariteta mora vrijediti:
0
1 1 0
=
n n
b b b b "
Zatitno kodiranje. Brojevni sustavi. 27


odakle odmah slijedi:

1 1 0
=
n n
b b b b "

Ako se pak koristi neparni paritet, tada paritetni bit mora zadovoljavati izraz:

1
1 1 0
=
n n
b b b b "

odakle odmah slijedi:

1 1 0 1 1 0
1

= =
n n n
b b b b b b b " "

Uz zadane podatke: 213 = 11010101
(2)
, paritetni bit iznosi:

1 1 1 0 1 0 1 0 1
8
= = b

te je kodna rije: 111010101 (podcrtan je paritetni bit).

Lako se je uvjeriti da ova kodna rije doista zadovoljava poetni uvjet:

0 1 1 0 1 0 1 0 1 1
1 1 0
= =
n n
b b b b "

U ovom zadatku podatkovna rije ima k=8 bitova, broj zalihosnih bitova r=1, te je
ukupna duljina kodne rijei n=k+r=9. Redundancija koda tada je odreena izrazom:

1111 . 0
9
1
= = =
n
r
R .

Ovaj kod otkriva svaku jednostruku pogreku, i svaki neparan broj pogreaka. Kod ne
moe ispraviti niti jednu pogreku.

2.3. Zadatak

Niz okteta {25, 12, 250, 54, 93, 33, 196, 212} potrebno je zatititi uporabom uzdunog i
poprenog pariteta (koristiti parni paritet). Pri tome treba koristiti takav nain kodiranja koji
e osigurati minimalnu redundanciju! Prikaite kodirane podatke i izraunajte redundanciju.


Niz koji kodiramo sastoji se od 64 8 8 = bitova. Ovaj niz potrebno je presloiti u blok
bitova koji u svakom retku sadri W podatkovnih bitova, a u svakom stupcu H
podatkovnih bitova. Ukupan broj podatkovnih bitova tada e biti H W p = i to mora
biti jednako 64. Cijeli blok oito e biti dimenzija ( ) ( ) 1 1 + + = H W n . Broj zalihosnih
bitova tada je 1 + + = H W r .

Redundancija R rauna se prema izrazu:

28 Zbirka rijeenih zadataka

n
r
R =

Budui da traimo takav nain kodiranja da redundancija bude minimalna, pronaimo
minimum te funkcije dviju varijabli (W i H). U tu svrhu emo najprije eliminirati jednu
od varijabli koritenjem supstitucije:

W
p
H =

to e dati:

( )
|
.
|

\
|
+ + = 1 1
W
p
W n
1 + + =
W
p
W r

pa imamo:

( )
( ) |
.
|

\
|
+ +
+ +
=
1 1
1
W
p
W
W
p
W
W R

Derivirajmo R po W i izjednaimo s nulom:

( )
( ) ( )
( )
0
1 1
1 1 1 1 1 1
2 2
=
|
.
|

\
|
+ +

|
.
|

\
|
+ + |
.
|

\
|
+ |
.
|

\
|
+ + |
.
|

\
|
+ + |
.
|

\
|
+
=
W
p
W
W
p
W
W
p
W
W
p
W
p
W
W
p
dW
W dR


Nakon kraeg rauna slijedi:


0
2 3
= W p pW

tj. slijedi:

( ) 0
2
= p W pW

Kako niti p niti W ne mogu biti 0, slijedi da je trei lan jednak 0, pa imamo:

p W =

Odavde odmah slijedi i H uvrtavanjem u poetnu supstituciju:

Zatitno kodiranje. Brojevni sustavi. 29

p
p
p
W
p
H = = =

Uz zadane parametre slijedi:

8 = W
8 = H
17 1 8 8 = + + = r
( )( ) 81 1 8 1 8 = + + = n
21 . 0
81
17
= R

To znai da emo svaki oktet staviti u jedan redak. Zatieni blok podataka iznosi:

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

Prvi redak pripada paritetnim bitovima poprenog pariteta, a zadnji stupac pripada
paritetnim bitovima uzdunog pariteta.

2.4. Zadatak

Poruku 101100011010
(2)
potrebno je zatititi uporabom Hammingovog koda koristei parni
paritet. Zatim pretpostavite da tijekom prijenosa takve zatiene poruke uslijed djelovanja
smetnji 12-ti bit (brojei s lijeva na desno poevi od 1) promjeni iznos. Da li moemo otkriti
da je dolo do pogreke u prijenosu, i moemo li ispraviti pogreku? Pokaite to.


Hammingov kod mijea zatitne bitove s podatkovnim bitovima. Najprije je potrebno
ustanoviti koliko e zatiena rije imati bitova i kako e se oni raunati. Moemo se
posluiti jednostavnom metodom: generiramo odreen broj bitova od 1 navie. Svaki bit
koji je potencija broja 2 je zatitni; preostali su podatkovni. Stanemo kada smo
generirali dovoljan broj podatkovnih bitova (12 jer naa poruka ima toliko bitova).
Zatim ispod svakog bita napiemo njegov redni broj u binarnom obliku (vidi tablicu).
'C' oznaava da je bit zatitni, 'P' oznaava da je bit podatkovni. U ovom zadatku bitovi
se numeriraju s lijeva na desno poevi od 1.

30 Zbirka rijeenih zadataka

C C P C P P P C P P P P P P P C P
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
2
0
2
1


2
2

2
3

2
4


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

Potrebno je poslati ukupno 17 bitova kako bismo mogli sigurno prenijeti 12 bitova
poruke (sigurno u smislu mogunosti ispravljanja jednostruke pogreke).

Vrijednost zatitnog bita izraunamo na slijedei nain:
Pronaemo u tablici onaj redak u kojem ispod traenog zatitnog bita imamo 1.
Suma modulo 2 (to je ekvivalentno operaciji iskljuivo ili) tog bita sa svim
bitovima koji u tom istom retku imaju 1 mora zadovoljavati traeni paritet
(dakle, biti 0 za parni paritet, odnosno 1 za neparni paritet).

Upisujemo poruku:

C C P C P P P C P P P P P P P C P
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
? ? 1 ? 0 1 1 ? 0 0 0 1 1 0 1 ? 0
(? oznaava da na ovom mjestu jo ne znamo vrijednost odreenog bita)

C(1) ima 1 u petom (zadnjem) retku. U tom retku 1 imaju jo i P(3), P(5), P(7), P(9),
P(11), P(13), P(15), P(17). Sumiramo vrijednosti svih navedenih P-bitova:
1+0+1+0+0+1+1+0 mod 2 = 4 mod 2 = 0, te je C(1) = 0. Da se trai neparan paritet,
C(1) bi bio komplement dobivenog rezultata, dakle 1.

C(2) ima 1 u etvrtom (predzadnjem) retku. U tom retku 1 imaju jo i P(3), P(6), P(7),
P(10), P(11), P(14), P(15). Sumiramo vrijednosti svih navedenih P-bitova:
1+1+1+0+0+0+1 mod 2 = 4 mod 2 = 0, te je C(2) = 0. Da se trai neparan paritet, C(2)
bi bio komplement dobivenog rezultata, dakle 1.

C(4) ima 1 u treem retku. U tom retku 1 imaju jo i P(5), P(6), P(7), P(12), P(13),
P(14), P(15). Sumiramo vrijednosti svih navedenih P-bitova: 0+1+1+1+1+0+1 mod 2 =
5 mod 2 = 1, te je C(4) = 1. Da se trai neparan paritet, C(4) bi bio komplement
dobivenog rezultata, dakle 0.

C(8) ima 1 u drugom retku. U tom retku 1 imaju jo i P(9), P(10), P(11), P(12), P(13),
P(14), P(15). Sumiramo vrijednosti svih navedenih P-bitova: 0+0+0+1+1+0+1 mod 2 =
3 mod 2 = 1, te je C(8) = 1. Da se trai neparan paritet, C(8) bi bio komplement
dobivenog rezultata, dakle 0.

C(16) ima 1 u prvom retku. U tom retku 1 imaju jo i P(17). Sumiramo vrijednosti svih
navedenih P-bitova: 0 mod 2 = 0, te je C(16) = 0. Da se trai neparan paritet, C(16) bi
bio komplement dobivenog rezultata, dakle 1.

Zatitno kodiranje. Brojevni sustavi. 31

Sumu modulo 2 obavlja operacija iskljuivo ili, koju emo u nastavku oznaavati sa
XOR to je uobiajena oznaka za ovu operaciju u VHDLu koji emo obraditi neto
kasnije. Za parni paritet moemo pisati:

C(1)P(3)P(5)P(7)P(9)P(11)P(13)P(15)P(17)=0
C(2)P(3)P(6)P(7)P(10)P(11)P(14)P(15)=0
C(4)P(5)P(6)P(7)P(12)P(13)P(14)P(15)=0
C(8)P(9)P(10)P(11)P(12)P(13)P(14)P(15)=0
C(16)P(17)=0

to nakon jo jedne primjene XOR operacije s C(i) daje:

C(1)=P(3)P(5)P(7)P(9)P(11)P(13)P(15)P(17)
C(2)=P(3)P(6)P(7)P(10)P(11)P(14)P(15)
C(4)=P(5)P(6)P(7)P(12)P(13)P(14)P(15)
C(8)=P(9)P(10)P(11)P(12)P(13)P(14)P(15)
C(16)=P(17)

Da se je traio neparni paritet imali bismo npr.:
C(1)P(3)P(5)P(7)P(9)P(11)P(13)P(15)P(17)=1
to bi dalo nakon primjene XOR s C(1) na lijevoj i desnoj strani jednakosti:
C(1)=Komplement_od(
P(3)P(5)P(7)P(9)P(11)P(13)P(15)P(17)
)
Slino i za ostale zatitne bitove

Niz zatitnih bitova: C(16) C(8) C(4) C(2) C(1) = 01100.

Zatiena poruka tada glasi: 00110111000110100.

Ako se promjeni 12-ti bit, nova poruka glasi: 00110111000010100.

Raunanjem zatitnih bitova dobiti emo:
C'(16) = 0, C'(8) = 0, C'(4) = 0, C'(2) = 0, C'(1) = 0, te novi niz zatitnih bitova glasi:
00000.

Niz zatitnih bitova oitan iz dobivene poruke je: 01100, te je pogreka nastupila na
mjestu koje odreuje sindrom:
oitani niz zatitnih bitova XOR izraunati niz zatitnih bitova = 01100 XOR 00000
= 01100.

Pogreka je nastupila na mjestu 01100
(2)
=12
(10)
. Da bismo ispravili pogreku, potrebno
je 12. bit komplementirati pa je ispravna zatiena poruka: 00110111000110100,
odnosno bio je poslan niz bitova: 101100011010.

32 Zbirka rijeenih zadataka

2.5. Zadatak

Blok od 8000 okteta alje se komunikacijskim medijem. Koliko je zatitnih bitova potrebno, i
kolika je redundancija, ako za zatitu koristimo:

a) uzduni plus popreni paritet
b) Hammingov kod


a) Uporaba uzdunog plus poprenog pariteta

Poredajmo podatkovne bitove u tablicu koja ima jedan oktet po retku. trebamo 8000
paritetnih bitova za uzduni paritet, i 8 paritetnih
bitova za popreni paritet. Ukupno trebamo: r =
8000 + 8 + 1 = 8009 paritetnih bitova (+1 zbog
gornjeg desnog bita tablice). Poslati emo n =
80008 + 8009 = 72009 bitova. Redundancija je:

111 , 0
72009
8009
= = =
n
r
R

to je vie od 11%.

b) Uporaba Hammingovog koda

Ako titimo blok od k = 80008 = 64000 bitova, broj paritetnih bitova mora biti:

1 2 + n
r


Zato? Promatramo li niz zatitnih bitova kao r-bitni binarni broj C
r-1
C
r-2
C
1
C
0
, taj
broj mora moi poprimiti poziciju na kojoj je dolo do pogreke, ili vrijednost nula ako
niti na jednoj poziciji nije dolo do pogreke. Kako titimo n bita, slijedi da zatitni broj
mora moi poprimiti vrijednosti: 0, 1, 2, ..., n-1, n tj. ukupno n+1 vrijednost.

Napisano na drugi nain:

1 2 + + r k
r


Prvi r koji ovo zadovoljava jest r=16:

64017 1 16 64000 65536 2
16
= + + =

Ukupno emo prenijeti n = 64000+16 = 64016 bitova, pa je redundancija:

00025 , 0
64016
16
= = =
n
r
R

to je viestruko manje od uzdunog plus poprenog pariteta.

o
1
o
n


p
1,1
p
1,8
v
1


p
8000,1
p
8000,8
v
n

Za vjebu.
Rijeite a) dio zadatka tako da podatkovne
bitove sloite na nain koji e potroiti
minimalno potreban broj zatitnih bitova.
Koliko tada iznosi redundancija? Usporedite s
rjeenjem b) dijela zadatka.
Zatitno kodiranje. Brojevni sustavi. 33

2.6. Zadatak

Potrebno je zatititi etiri podatka: 00, 01, 10 i 11. Podaci se tite s etiri zatitna bita, tako
da se postavi jedinica na mjesto koje odgovara numerikoj vrijednosti podatka. Koliko se
pogreaka takvim kodiranjem moe otkriti, a koliko ispraviti? Pretpostaviti da je uslijed
djelovanja pogreaka primljena poruka d=000101 (zatitni su bitovi nakon korisnih). Neka
kriterij za otkrivanje ispravne poruke bude minimalna distanca koda.


Napiimo sve kodne rijei u zadanom kodu:

Bitovi poruke Zatitni bitovi Podatak
d
1
d
0
c
3
c
2
c
1
c
0

0 0 0 0 0 1 p
0

0 1 0 0 1 0 p
1

1 0 0 1 0 0 p
2

1 1 1 0 0 0 p
3


Izraunajmo minimalnu distancu koda (najmanji broj bitova koji se razlikuju izmeu
dvije kodne rijei):

Minimalna distanca je dakle: min d = 3.

Zahtjev za otkrivanje pogreke glasi: min d t + 1, t je broj
pogrenih bitova koje moemo otkriti.

3 t + 1 t 2: moemo otkriti dva pogrena bita.

Zahtjev za ispravljanje pogreke glasi: min d 2t + 1, t je broj pogrenih bitova koje
moemo ispraviti.

3 2t + 1 t 1: moemo ispraviti jedan pogrean bit.

Npr. ako je primljena poruka d=000101: najblia kodna rije je 000001 s distancom
1 (sve ostale imaju veu distancu do d), pa zakljuujemo da je to poslana kodna rije.

2.7. Zadatak

Potrebno je zatititi slijedei niz bitova: 1010100000101010101. Potrebno je koristiti
Hammingov kod uz neparni paritet. Pogreka neka djeluje na 10. bit.


Niz koji treba poslati je oblika: xx1x010x1000001x01010101, gdje x oznaava
pozicije zatitnih bitova.

Potrebno je 5 zatitnih bitova.

C(1)=Komplement(
P(3)P(5)P(7)P(9)P(11)P(13)P(15)P(17)P(19)P(21)P(23)
)
p
0
- p
1
3
p
0
- p
2
3
p
0
- p
3
4
p
1
- p
2
4
p
1
- p
3
3
p
2
- p
3
3
34 Zbirka rijeenih zadataka

C(2)=Komplement(
P(3)P(6)P(7)P(10)P(11)P(14)P(15)P(18)P(19)P(22)P(23)
)
C(4)=Komplement(
P(5)P(6)P(7)P(12)P(13)P(14)P(15)P(20)P(21)P(22)P(23)
)
C(8)=Komplement(
P(9)P(10)P(11)P(12)P(13)P(14)P(15)P(24)
)
C(16)=Komplement(
P(17)P(18)P(19)P(20)P(21)P(22)P(23)P(24)
)

Izraunati niz zatitnih bitova: 10100.
Zatieni niz bitova: 001101001000001101010101.
Niz nakon djelovanja pogreke: 001101001100001101010101.
Oitani niz zatitnih bitova: 10100.
Izraunati niz zatitnih bitova: 11110.
Pogreka je na 10100 XOR 11110 = 01010 = 10
(10)
.
Niz nakon ispravljanja pogreke: 001101001000001101010101.

2.8. Zadatak

Potrebno je zatititi slijedei niz bitova: 100110000010100. Potrebno je koristiti Hammingov
kod uz parni paritet. Pogreka neka djeluje na 19. bit.


Potrebno je 5 zatitnih bitova.

C(1)=P(3)P(5)P(7)P(9)P(11)P(13)P(15)P(17)P(19)
C(2)=P(3)P(6)P(7)P(10)P(11)P(14)P(15)P(18)P(19)
C(4)=P(5)P(6)P(7)P(12)P(13)P(14)P(15)P(20)
C(8)=P(9)P(10)P(11)P(12)P(13)P(14)P(15)
C(16)=P(17)P(18)P(19)P(20)

Izraunati niz zatitnih bitova: 10000.
Zatieni niz bitova: 00100010100000110100.
Niz nakon djelovanja pogreke: 00100010100000110110.
Oitani niz zatitnih bitova: 10000.
Izraunati niz zatitnih bitova: 00011.
Pogreka je na 10000 XOR 00011 = 10011 = 19
(10)
.
Niz nakon ispravljanja pogreke: 00100010100000110100.

2.9. Zadatak

Potrebno je zatititi slijedei niz bitova: 1111010001. Potrebno je koristiti Hammingov kod uz
neparni paritet. Pogreka neka djeluje na 12. bit.


Potrebno je 4 zatitnih bitova.

Zatitno kodiranje. Brojevni sustavi. 35

C(1)=Komplement( P(3)P(5)P(7)P(9)P(11)P(13) )
C(2)=Komplement( P(3)P(6)P(7)P(10)P(11)P(14) )
C(4)=Komplement( P(5)P(6)P(7)P(12)P(13)P(14) )
C(8)=Komplement( P(9)P(10)P(11)P(12)P(13)P(14) )

Izraunati niz zatitnih bitova: 1100.
Zatieni niz bitova: 00111111010001.
Niz nakon djelovanja pogreke: 00111111010101.
Oitani niz zatitnih bitova: 1100.
Izraunati niz zatitnih bitova: 0000.
Pogreka je na 1100 XOR 0000 = 1100 = 12
(10).

Niz nakon ispravljanja pogreke: 00111111010001.

2.10. Zadatak

Poznato je da je 001100
(2)
ispravna Hammingova kodna rije. Napiite sve preostale kodne
rijei koje pripadaju tom kodu.


Kako bismo otkrili o kojem se Hammingovom kodu radi, potrebno je utvrditi broj
podatkovnih bitova u rijei, broj zatitnih bitova u rijei te koriteni paritet. Krenimo
redom. Poznato je da navedena rije pripada (nekom) Hammingovom kodu. To znai da
je oblika:

C C P C P P
1 2 3 4 5 6
? ? ?

Jednu kodnu rije ve znamo, pa je moemo upisati:

C C P C P P
1 2 3 4 5 6
0 0 1 1 0 0

Takoer znamo da je rije ispravna. Ako je koriten parni paritet, tada mora vrijediti:

C(1)=P(3)P(5)
C(2)=P(3)P(6)
C(4)=P(5)P(6)

Provjerimo to.

C(1) = P(3)P(5) = 10 = 1 0 (proitano iz tablice)
C(2) = P(3)P(6) = 10 = 1 0 (proitano iz tablice)
C(4) = P(5)P(6) = 00 = 0 1 (proitano iz tablice)

Uz uporabu parnog pariteta nismo dobili zatitne bitove kakvi se nalaze u zadanoj
kodnoj rijei. tovie, dobili smo tono njihove komplemente, to upuuje na uporabu
36 Zbirka rijeenih zadataka

neparnog pariteta. Provjerimo dakle koje bismo zatitne bitove dobili da je koriten
neparni paritet. Tada mora vrijediti:

C(1)=Komplement(P(3)P(5))=Komplement(10)=Komplement(1)=0
C(2)=Komplement(P(3)P(6))=Komplement(10)=Komplement(1)=0
C(4)=Komplement(P(5)P(6))=Komplement(00)=Komplement(0)=1

Vidimo da zatitni bitovi izraunati uz pretpostavku neparnog pariteta odgovaraju
zatitnim bitovima u zadanoj kodnoj rijei, pa zakljuujemo da se radi o Hammingovom
kodu s neparnim paritetom.

Iz zadane kodne rijei takoer moemo proitati i koja je podatkovna rije zatiena.
Radi se o rijei 100
(2)
. Kako je to trobitna rije, postoji jo 7 moguih rijei: 000
(2)
,
001
(2)
, 010
(2)
, 011
(2)
, 101
(2)
, 110
(2)
te 111
(2)
. Kako sada znamo da trebamo koristiti
neparni paritet, odnosno da mora vrijediti:

C(1)=Komplement(P(3)P(5))
C(2)=Komplement(P(3)P(6))
C(4)=Komplement(P(5)P(6))

moemo izraunati zatitne bitove i za preostale podatkovne rijei.

Podatkovna rije Hammingova rije
000
(2)
110100
(2)

001
(2)
100001
(2)

010
(2)
010010
(2)

011
(2)
000111
(2)

100
(2)
001100
(2)

101
(2)
011001
(2)

110
(2)
101010
(2)

111
(2)
111111
(2)



2.11. Zadatak

Pretpostaviti da je kroz nesiguran komunikacijski kanal poslana Hammingova kodna rije, a
primljena je kodna rije 000011011100101. Da li je nastupila pogreka? Na kojem mjestu,
i kako se to matematiki moe izraunati? Kako glasi podatak koji je poslan (ako je najvii bit
podatka spremljen na prvo mogue lijevo mjesto u Hammingovoj kodnoj rijei), i kolika je
redundancija ovog kodiranja? Koriten je parni paritet.


Primljeni niz bitova: 000011011100101.
Oitani niz zatitnih bitova: 1000.

Uz zadanu 15-bitnu rije i parni paritet vrijede izrazi:

C(1)=P(3)P(5)P(7)P(9)P(11)P(13)P(15)
C(2)=P(3)P(6)P(7)P(10)P(11)P(14)P(15)
Zatitno kodiranje. Brojevni sustavi. 37

C(4)=P(5)P(6)P(7)P(12)P(13)P(14)P(15)
C(8)=P(9)P(10)P(11)P(12)P(13)P(14)P(15)

Izraunati niz zatitnih bitova na temelju ovih izraza glasi: 0010.

Pogreka je tada na 1000 XOR 0010 = 1010 = 10
(10)
.

Dakle, pogreka je oito nastupila, i njezin poloaj odreen je temeljem razlike
sindroma.

Niz nakon ispravljanja pogreke: 000011011000101.
Podatak koji je poslan: 01101000101.

Redundancija kodiranja u ovom sluaju iznosi:

27 , 0
15
4
= = =
n
r
R

2.12. Zadatak

Zadan je broj x=177,296875
(10)
(u bazi 10). Potrebno je taj isti broj zapisati u slijedeim
bazama:

a) 2
b) 8
c) 16


a) Baza 2

Broj je potrebno promatrati kao cijeli broj plus decimalni ostatak. Cijeli broj pretvara se
u drugu bazu postupkom uzastopnog dijeljenja novom bazom, a decimalni ostatak
postupkom uzastopnog mnoenja novom bazom.

Pretvorba cijelog broja

baza
rezultat
dijeljenja
ostatak
dijeljenja
smjer
itanja
177 : 2 = 88 1
88 : 2 = 44 0
44 : 2 = 22 0
22 : 2 = 11 0
11 : 2 = 5 1
5 : 2 = 2 1
2 : 2 = 1 0
1 : 2 = 0 1


Kod postupka uzastopnog mnoenja decimalni se dio uzastopno mnoi s bazom.
Ukoliko rezultat mnoenja postane vei ili jednak 1, cijeli dio se pamti, a u nastavak
mnoenja ulazi samo decimalni ostatak.
38 Zbirka rijeenih zadataka


Pretvorba decimalnog dijela broja

baza rezultat dijeljenja
cjelobrojni
dio
smjer itanja
0,296875
2
= 0,59375 0
0,59375
2
= 1,1875 1
0,1875
2
= 0,375 0
0,375
2
= 0,75 0
0,75
2
= 1,5 1
0,5
2
= 1 1
0


Moemo pisati:

177,296875
(10)
= 10110001,010011
(2)
.

b) Baza 8

Ponovimo postupak opisan u a).

Pretvorba cijelog broja

baza
rezultat
dijeljenja
ostatak
dijeljenja
smjer itanja
177 : 8 = 22 1
22 : 8 = 2 6
2 : 8 = 0 2



Pretvorba decimalnog dijela broja

baza rezultat dijeljenja
cjelobrojni
dio
smjer itanja
0,296875
8
= 2,375 2
0,375
8
= 3 3
0


Moemo pisati:

177,296875
(10)
= 261,23
(8)
.

c) Baza 16

Ponovimo postupak opisan u a).

Pretvorba cijelog broja

baza
rezultat
dijeljenja
ostatak
dijeljenja
smjer itanja
177 : 16 = 11 1 (1)
11 : 16 = 0 11 (B)


Zatitno kodiranje. Brojevni sustavi. 39


Pretvorba decimalnog dijela broja

baza rezultat dijeljenja
cjelobrojni
dio
smjer itanja
0,296875
16
= 4,75 4 (4)
0,75
16
= 12 12 (C)
0


Moemo pisati:

177,296875
(10)
= B1,4C
(16)
.

2.13. Zadatak

Potrebno je zapisati broj 261,23
(8)
u bazi:

a) 2
b) 16


Brojeve ije su baze potencije istog broja (npr. 8=2
3
i 2=2
1
) moemo pretvarati iz baze u
bazu razvojem odnosno grupiranjem.

a) Baza 2

Kako je 8=2
3
, svaku emo znamenku broja zapisanog u bazi 8 pretvoriti u
troznamenkasti broj prikazan u bazi 2 (tj. 2
1
):

2 6 1 , 2 3
(8)
010 110 001 , 010 011
(2)

Dakle, 2
(8)
se razvije u 010
(2)
; na isti nain razvijemo i ostale znamenke.

261,23
(8)
= 010110001,010011
(2)
= 10110001,010011
(2)


b) Baza 16

Kako je 16=2
4
, za prikaz jedne znamenke trebamo 4 bita. Izvorno je broj zapisan u bazi
8=2
3
, te za prikaz jedne znamenke treba 3 bita. Konverziju moemo obaviti posredno,
prevodei broj metodom razvoja iz oktalnog (baza 8) u binarni zapis (baza 2), pa
metodom grupiranja iz binarnog u heksadekadski zapis (baza 16).

Pretvorba u binarni oblik:

2 6 1 , 2 3
(8)
010 110 001 , 010 011
(2)

40 Zbirka rijeenih zadataka

Broj 10110001,010011
(2)
sada grupiramo u grupe od po etiri bita (poevi od
decimalnog zareza na lijevo i desno). Na poetak i kraj broja moemo dodati
proizvoljan broj nula (masnim slovima u nastavku), pa imamo:

1011 0001 , 0100 1100
(2)
B 1 , 4 C
(16)

tj. 261,23
(8)
= B1,4C
(16)
.

2.14. Zadatak

Potrebno je obaviti slijedee pretvorbe:

a) AE7,24
(16)
u dekadsku, binarnu i oktalnu bazu.
b) 731,56
(8)
u dekadsku, binarnu i heksadekadsku bazu.


a)
AE7,24
(16)
= 1016
2
+1416
1
+716
0
+216
-1
+416
-2
= 2791,140625
(10)
.
AE7,24
(16)
= 1010 1110 0111, 0010 0100
(2)

AE7,24
(16)
= 101 011 100 111, 001 001 000
(2)
= 5347,110
(8)


b)
731,56
(8)
= 78
2
+38
1
+18
0
+58
-1
+68
-2
= 473,71875
(10)

731,56
(8)
= 111 011 001, 101 110
(2)

731,56
(8)
= 0001 1101 1001, 1011 1000
(2)
= 1D9,B8
(16)



ZADACI ZA VJEBU

1. Brojeve: 12.15, 253 i 0.275 prikazati u binarnom, oktalnom i heksadekadskom obliku.
2. Prijemnik je s komunikacijskog kanala primio sljedee poruke: 000111, 011101,
111111. Ako je poznato da su primljene poruke podaci zatieni Hammingovim kodom,
te uz pretpostavku da je broj pogrenih poruka manji od broja ispravnih poruka, otkriti
da li je za kodiranje koriten parni ili neparni paritet, te koji su podaci poslani.
3. Pismeni ispit 21.09.2004.
Poruku ABBA potrebno je zatititi uporabom uzdunog + poprenog pariteta (koristiti
neparni paritet). Za svako slovo alje se njegov 8-bitni ASCII kod (A ima kod 65).
Prikazati zatienu poruku, te izraunati redundanciju kodiranja. Pokazati kako se
obavlja ispravljanje ako se uslijed djelovanja smetnje promijeni najznaajniji bit prvog
slova poruke.

Osnovni logiki sklopovi. 41


3. Osnovni logiki sklopovi.

3.1. Zadatak

Na slici je prikazan sklop ostvaren uporabom I i ILI logikih sklopova.

&
1
&
a
b
c
d
f


Koju funkciju ostvaruje taj sklop?

a) Napiite logiki izraz koji definira funkciju sklopa.
b) Napiite VHDL opis temeljen na funkcijskom ponaanju sklopa.
c) Napiite VHDL opis temeljen na strukturnoj grai sklopa.


a) Oznaimo s i1 i i2 interne meurezultate.

&
1
&
a
b
c
d
f
i1
i2



Moemo pisati:

b a i = 1
c i i + = 1 2
( ) ( ) d c b a d c i d i f + = + = = 1 2

b) Oznaimo "granice" sklopa, ulaze u sklop te izlaze iz sklopa. Nazovimo sklop
"sklop1".

U VHDL-u opis sklopa sastoji se od dva dijela: opis suelja preko kojega sklop
komunicira s vanjskim svijetom (ENTITY kljuna rije), te opis djelovanja sklopa (to
je mogue ostvariti na dva naina: funkcijskim odnosno ponaajnim opisom te
strukturnim opisom; ARCHITECTURE kljuna rije).
42 Zbirka rijeenih zadataka


&
1
&
a
b
c
d
f
sklop1
i1
i2



Opis sklopa u VHDL-u temeljen na funkcionalnosti sklopa prikazan je u nastavku.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY sklop1 IS
PORT( a, b, c, d: IN std_logic;
f : OUT std_logic );
END sklop1;

ARCHITECTURE funkcijska OF sklop1 IS
BEGIN
f <= ((A AND B) OR C) AND D;
END funkcijska;

c) Kako bismo mogli opisati sklop na strukturnoj razini, najprije je potrebno definirati
sve potrebne "pod"-sklopove. Dakle, najprije emo definirati ILI sklop - sklopOR
(funkcijskim opisom), zatim I sklop - sklopAND (takoer funkcijskim opisom) i
konano traeni sklop - sklop1 strukturnim opisom.

Opis ILI sklopa:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY sklopOR IS
PORT( x1, x2: IN std_logic;
y : OUT std_logic );
END sklopOR;

ARCHITECTURE funkcijskaOR OF sklopOR IS
BEGIN
y <=x1 OR x2;
END funkcijskaOR;

Osnovni logiki sklopovi. 43

Opis I sklopa:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY sklopAND IS
PORT( x1, x2: IN std_logic;
y : OUT std_logic );
END sklopAND;

ARCHITECTURE funkcijskaAND OF sklopAND IS
BEGIN
y <=x1 AND x2;
END funkcijskaAND;

Opis zadanog sklopa:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY sklop1 IS
PORT( a, b, c, d: IN std_logic;
f : OUT std_logic );
END sklop1;

ARCHITECTURE strukturna OF sklop1 IS
SIGNAL i1, i2: std_logic;
COMPONENT sklopOR
PORT( x1, x2: IN std_logic;
y : OUT std_logic );
END COMPONENT;
COMPONENT sklopAND
PORT( x1, x2: IN std_logic;
y : OUT std_logic );
END COMPONENT;
BEGIN
c1: sklopAND PORT MAP (a, b, i1); -- pozicijsko
-- povezivanje
c2: sklopOR PORT MAP (i1, c, i2); -- pozicijsko
-- povezivanje
c3: sklopAND PORT MAP (x2 => d, x1 => i2, y => f); -- povezivanje
-- putem imena
END strukturna;

Kod povezivanja signala komponenti pomou kojih se opisuje struktura sklopa s
internim signalima koje koristi sam sklop ili s njegovim ulaznim/izlaznim vratima
(kljuna rije PORT MAP) mogue je povezivanje na dva naina. Kod pozicijskog
povezivanja navode se samo signali komponente koja se opisuje, a povezivanje je
implicitno s vratima komponente i to onim redoslijedom kako je to definirano u
COMPONENT dijelu opisa. Kod povezivanja preko imena eksplicitno se navodi koji
signal komponente se spaja na koji signal sklopa, pri emu redoslijed ovog nabrajanja
ne mora slijediti redoslijed definiran u COMPONENT dijelu.

Dodatak zadatku: kako bi se provjerilo da li se opisana komponenta doista ponaa u
skladu s naim oekivanjima, potrebno je obaviti testiranje rada komponente (npr.
putem generiranja test uzoraka s poznatim izlazima i provjerom podudarnosti s izlazima
koje daje sklop za te uzorke).
44 Zbirka rijeenih zadataka


Za vjebu.
Ponovite zadatak za sklop prikazan na slijedeoj slici (sklop2). Provjerite uporabom
Xilinx-ovog simulatora s laboratorijskih vjebi da li su opisi koje ste generirali
rjeavajui b) i c) dio zadatka jednaki na ponaajnoj razini.

&
&
1
1
1
a
b
c
f




3.2. Zadatak

Zadana je tranzistorska sklopka prema slici. Poznati su slijedei
podaci:

V U U
BB CC
5 = =
= k R
C
1
= k R 10
1

= k R 100
2

50 =
FE
h
V U
CEzas
3 . 0 =
V U
BEzas
8 . 0 =
A I
CB
1 . 0
0
=
V U
ul
4
1
=
V U
ul
3 . 0
2
=

a) Provjeriti da li tranzistor ulazi u zasienje i zapiranje prema
oekivanju.
b) Neka su tolerancije svih otpornika i izvora napajanja 10%. Provjerite da li i u najgorem
sluaju sklopka funkcionira ispravno.


a) Kada je na ulaz sklopa spojena visoka naponska razina
(U
ul1
) oekujemo da tranzistor vodi (tovie, da se nalazi u
zasienju) i da je izlazni napon U
izl
vrlo mali. Kada je
tranzistor u zasienju, napon baza emiter iznosi otprilike
0.8V (U
BEzas
), a napon kolektor emiter otprilike 0.3V
(U
CEzas
). Kada na ulaz sklopa spojimo nisku naponsku
razinu, oekujemo da tranzistor ode u zapiranje i ne vodi,
ime izlazni napon skae otprilike na iznos od +U
CC

(ukoliko je izlaz neoptereen). Provjerit emo ova dva
sluaja koristei se oznakama napona i struja kao na slici.

Provjera zasienja.

U zasienju, na ulazu je U
ul
=U
ul1
, U
BE
=U
BEzas
, U
CE
=U
CEzas
, dok I
CB0
ne postoji.

+U
CC
-U
BB
1
R
2
R
U
ul
U
izl
C
R
+U
CC
-U
BB
1
R
2
R
U
BE
1
I
2
I
0 CB
I
U
ul
U
izl
B
I
C
R
Osnovni logiki sklopovi. 45

Tranzistor je u zasienju kada vrijedi:

FE
C
B
h
I
I

odnosno kada je bazna struja barem dovoljna (a poeljno i vea) od struje potrebne za
potporu kolektorske struje. Zato je potrebno izraunati ove struje i provjeriti da li
prethodna nejednadba vrijedi.

mA
R
U U
R
U U
R
U
R
U
I I I
BEzas BB BEzas ul
R R
B
262 . 0
2 1
1
2 1
2 1
2 1
=
+

= = =

mA
R
U U
I
C
CEzas CC
Czas
7 . 4 =

=

mA
mA
mA 094 . 0
50
7 . 4
262 . 0 =

Vidimo da je nejednakost zadovoljena, pa je tranzistor doista u zasienju.

Provjera zapiranja.

U zapiranju, na ulazu je U
ul
=U
ul2
, U
BE
=U
Bezap
=? dok I
CB0
sada postoji. U tom sluaju
struju I
2
moemo odrediti superpozicijom, pa zatim napon U
Bezap
iznosi:

BB BEzap
U R I U =
2 2


Superpozicija kae da struju I
2
moemo odrediti tako da gledamo utjecaj jednog po
jednog naponskog odnosno strujnog izvora (dok su ostali naponski izvori kratko spojeni
a strujni izvori otpojeni). U ulaznom krugu imamo slijedee naponske izvore: U
ul2
i U
BB

te strujni izvor I
CB0
. Moemo pisati:

2 1
1
0
2 1 2 1
2
2
R R
R
I
R R
U
R R
U
I
CB
BB ul
+
+
+
+
+
=

Uvrtavanjem dobivamo:

V U R
R R
R
I
R R
U
R R
U
U
BB CB
BB ul
BEzap
18 . 0
2
2 1
1
0
2 1 2 1
2
=
|
|
.
|

\
|
+
+
+
+
+
=
Utjecaj U
ul2
kada je
U
BB
kratko spojen a
I
CB0
otpojen
Utjecaj U
BB
kada je
U
ul2
kratko spojen a
I
CB0
otpojen
Utjecaj I
CB0
(strujno
djelilo!) kada su U
ul2

i U
BB
kratko spojeni
46 Zbirka rijeenih zadataka


Tranzistor je sigurno u zapiranju jer je U
BEzap
manji od napona praga voenja U

koji
iznosi oko 0.3V.

b) Uz zadane tolerancije potrebno je ponovno provjeriti da li je tranzistor u zasienju
odnosno u zapiranju, ovisno o ulaznom naponu.

Provjera zasienja.

Najnepovoljniji sluaj za zasienje je kada je struja baze minimalna, a struja kolektora
maksimalna, jer se tada moe dogoditi da vie ne vrijedi odnos:

FE
C
B
h
I
I

Minimalne vrijednosti oznaavat emo podvlakom, a maksimalne crticom iznad
vrijednosti. Minimalna struja baze odnosno maksimalna struja zasienja kada bi
tranzistor trebao biti u zasienju iznose (prepisujemo prethodne formule):

mA
R
U U
R
U U
R
U U
R
U U
R
U
R
U
I I I
BEzas BB BEzas ul
BEzas BB BEzas ul
R
R
Bzas
221 . 0
) 1 . 0 1 (
) 1 . 0 1 (
) 1 . 0 1 (
2 1
1
2 1
1
2 1
2 1
2
1
=

+ +

=
+

= = =


mA
R
U U
R
U U
I
C
CEzas CC
C
CEzas CC
Czas
78 . 5
) 1 . 0 1 (
) 1 . 0 1 (
=

+
=

=


Vidimo da je tranzistor jo uvijek u zasienju, jer vrijedi:

mA
mA
mA 1156 . 0
50
78 . 5
221 . 0 =

Provjera zapiranja.

V U R
R R
R
I
R R
U
R R
U
U R
R R
R
I
R R
U
R R
U
U
BB CB
BB ul
BB CB
BB
ul
BEzap
062 . 0 ) 1 . 0 1 ( ) 1 . 0 1 (
) 1 . 0 1 ( ) 1 . 0 1 (
) 1 . 0 1 (
) 1 . 0 1 ( ) 1 . 0 1 (
) 1 . 0 1 (
) 1 . 0 1 ( ) 1 . 0 1 (
2
2 1
1
0
2 1 2 1
2
2
2 1
1
0
2 1 2 1
2
= +
|
|
.
|

\
|
+ +

+
+ +

+
+ +
=

|
|
.
|

\
|
+
+
+
+
+
=


Vidimo da je tranzistor i u najgorem sluaju sigurno u zapiranju jer je U
BEzap
manji od
napona praga voenja U

.
Osnovni logiki sklopovi. 47


3.3. Zadatak

Diodni I sklop spojen je s invertorom iz prethodnog zadatka kojemu je na ulaz dodana dioda.

a) Provjerite da li taj sklop funkcionira i koju logiku funkciju ostvaruje.
b) Ako na izlaz tog sklopa spojimo ulaze identinih sklopova, postoji li kakvo ogranienje na
njihov broj? Objasnite.
c) Ponovite analizu za tolerancije otpora od 10%.

+U
CC
-U
BB
1
R
2
R
U
ul
U
izl
C
R

R
+U
CC
U
izl
U
ulA
U
ulB

Invertor s dodanom diodom Diodni I sklop
+U
CC
-U
BB
1
R
2
R
U
izl
R
+U
CC
U
ulA
U
ulB
C
R

Diodni I sklop spojen na invertor s dodanom diodom

Poznati su slijedei podaci:

V U U
BB CC
5 = =
= k R
C
1
= k R 10
1

= k R 100
2

100 =
FE
h
V U
CEzas
3 . 0 =
V U
BEzas
8 . 0 =
A I
CB
0
0
=
V U
ul
5
1
=
V U
ul
3 . 0
2
=
= k R 1


a) Sklop najprije rauna logiku I operaciju ulaza, a zatim rezultat komplementira
invertorom. Dakle, logika funkcija sklopa je NE( A I B ), tj.:

B A B A f + = =
48 Zbirka rijeenih zadataka


Analizirajmo rad sklopa. Oznaimo na slici dodatne napone koji e nam pomoi u
analizi sklopa.

+U
CC
-U
BB
1
R
2
R
U
AB
U
izl
R
+U
CC
U
ulA
U
ulB
U
D
D
U
BE
R
I
C
R


Kada je na jednom ulazu sklopa niska razina, npr. U
ulA
= U
ul2
= 0.3V (vrijednost drugog
ulaza neka je visoka razina), dotina dioda provede i na njoj je pad napona od 0.7V.
Tada je:

V U U U
D ulA AB
1 7 . 0 3 . 0 = + = + =

Treba uoiti da druga dioda ne vodi jer je na njoj pad napona:

V V U U
ulB AB
7 . 0 4 5 1 < = =

Da bi tranzistor doao duboko u zasienje, napon baza-emiter mora biti 0.8V (a
minimalno 0.7V za poetak zasienja). Isto tako, dioda D mora provesti kako bi mogla
potei struja baze, to znai da na njoj mora takoer biti pad napona od 0.7V. Slijedi da
bi napon U
AB
morao biti barem U
BEzas
+U
D
=0.7+0.7=1.4V (zapravo bi trebao biti jo vii
zbog pritezanja napona baze na U
BB
preko R
2
). Meutim, napon U
AB
je samo 1V to
nije dovoljno da provedu i dioda i tranzistor pa oni ne vode. Tranzistor je dakle u
zapiranju i izlazni napon U
izl
=U
CC
=+5V. Ista situacija bila bi kada bi U
ulB
bio nizak a
U
ulA
visok, ili oba napona niska.

Tee struja I
R
za koju osjenani dio sheme uope ne postoji, a njezin iznos je:

mA
R
U U
I
AB CC
R
4
1000
1 5
=

=

Tek kada su U
ulA
i U
ulB
oba visoka (U
ulA
=U
ulB
=U
ul1
=5V) ulazne diode ne vode. Sada je
napon U
AB
dovoljno visok da provedu dioda D i tranzistor. Imamo slijedeu situaciju:

Osnovni logiki sklopovi. 49

+U
CC
-U
BB
1
R
2
R
U
AB
U
izl
R
+U
CC
U
ulA
U
ulB
U
D 1
I
D
U
BE
2
I
B
I
C
R

Struje I
1
, I
2
te I
B
iznose:

mA
k k R R
U U U
I
BEzas D CC
3182 . 0
10 1
8 . 0 7 . 0 5
1
1
=
+

=
+

=

mA
k R
U U
I
BB BEzas
058 . 0
100
5 8 . 0
2
2
=
+
=
+
=

mA m m I I I
B
2602 . 0 058 . 0 3182 . 0
2 1
= = =

Napon U
AB
iznosi:

V k m R I U U
CC AB
6818 . 4 1 3182 . 0 5
1
= = =

Budui da tranzistor vodi, struja kolektora iznosi:

mA
k R
U U
I
C
CEzas CC
C
7 . 4
1
3 . 0 5
=

=

Provjerimo da je tranzistor doista u zasienju:

mA I h I mA
B FE C
02 . 26 7 . 4 = =

b) Promotrimo najprije situaciju kada je izlaz iz sklopa visoka naponska razina, tj. kada
je barem jedan od ulaza u sklop spojen na nisku naponsku razinu:

50 Zbirka rijeenih zadataka

+U
CC
-U
BB
1
R
2
R
U
AB
U
izl
R
+U
CC
U
ulA
U
ulB
U
D
D
U
BE
R
I
R
+U
CC
R
+U
CC
1
n
1
I
1
I
C
R


Kako je U
izl
visoka naponska razina, ulazne diode slijedeeg stupnja ne vode. Struja
kolektora tada je nula, i broj ulaza slijedeeg stupnja koji je spojen nema nikakvog
utjecaja.

Ako se na oba ulaza spoji visoka naponska razina, imamo slijedeu situaciju:

+U
CC
-U
BB
1
R
2
R
U
AB
U
izl
R
+U
CC
U
ulA
U
ulB
U
D
D
U
BE
R
+U
CC
R
I
R
+U
CC
R
I
1
n
1
I
C
R


Struje I
1
, I
2
i I
B
izraunali smo ve u prethodnom dijelu zadatka. Meutim, sada struja
kolektora izlaznog tranzistora vie nije uvjetovana samo Strujom kroz otpor R
C
, ve i
strujama I
R
koje teku iz ulaznog stupnja sklopova povezanih na izlaz! Struja kolektora
tada iznosi:

R
C
CEzas CC
C
I n
R
U U
I +

=

Struja I
R
iznosi:

mA
R
U U U
I
CEzas D CC
R
4 =

=
Osnovni logiki sklopovi. 51

Uvrtavanjem izraza za I
R
u izraz za I
C
slijedi:

R
U U U
n
R
U U
I
CEzas D CC
C
CEzas CC
C

+

=
Prisjetimo se, da bi tranzistor bio u zasienju, struja kolektora I
C
ograniena je strujom
baze I
B
! Mora vrijediti:

B FE C
I h I

Uvrstimo li izraz za I
C
u prethodnu nejednadbu, moemo izraziti n:

B FE
CEzas D CC
C
CEzas CC
I h
R
U U U
n
R
U U


+



33 . 5 =

R
U U U
R
U U
I h
n
CEzas D CC
C
CEzas CC
B FE


Zakljuujemo da n mora biti manji ili jednak 5 da bi sklop ispravno funkcionirao.
Ukoliko bi n bio vei od 5, struja kolektora bila bi prevelika za struju baze te bi, da se
uspostavi ravnotea, tranzistor izaao iz zasienja i uao u aktivno podruje, ime bi se
napon U
CE
znatno poveao. Poveanje ovog napona bilo bi toliko koliko je potrebno da
se struja kolektora izjednai sa strujom koju moe podrati bazna struja, odnosno dok
ne bi vrijedilo:

B FE C
I h I =

Naime, uvidom u izraz koji opisuju I
C
, vidi se da je ta struja graena od komponente
kroz otpor R
C
i struje I
R
(tj. n I
R
). Obje ove komponente padaju poveanjem napona
U
CE
.

U digitalnoj elektronici ogranienje ovog tipa naziva se fan-out, odnosno faktor
grananja na izlazu koji govori koliko se maksimalno ulaza istovjetnih sklopova moe
spojiti na izlaz sklopa, a da sklop i dalje funkcionira ispravno.

c) Kada je barem jedan od ulaza u sklop na niskoj naponskoj razini, tranzistor je u
zapiranju, i ve smo vidjeli da nema posebnih ogranienja na rad sklopa.

Kada su oba ulaza na visokoj naponskoj razini, tranzistor e provesti. U najgorem
sluaju. Struja baze biti e minimalna, a struja kroz kolektor tranzistora maksimalna.
Izraunajmo te struje za najgori sluaj.

2 1
2 1
R
U U
R R
U U U
I I I
BB BEzas BEzas D CC
B
+

+

= =

Minimalna struja baze bit e (uz tolerancije otpora):

52 Zbirka rijeenih zadataka

mA
R
U U
R R
U U U
I I I
BB BEzas BEzas D CC
B
2248 . 0
2 1
2 1
=
+

+

= =

Struja kolektora odreena je sa:

R
U U U
n
R
U U
I
CEzas D CC
C
CEzas CC
C

+

=

to je maksimalno ako su svi otpori R sklopova spojenih na izlaz minimalni, kao i otpor
R
C
u izlaznom krugu tranzistora.

R
U U U
n
R
U U
I
CEzas D CC
C
CEzas CC
C

+

=

Uvrtavanjem u nejednadbu:

B FE C
I h I

moe se izraunati n:

883 . 3 =

R
U U U
R
U U
I h
n
CEzas D CC
C
CEzas CC
B FE


Dakle, ako se dopuste tolerancije otpora od 10%, u najgorem sluaju faktor grananja
iznosi samo 3 sklopa!

3.4. Zadatak

Za neki logiki sklop zadani su sljedei podaci: U
ILmax
= 2V, U
IHmin
= 3.5V, U
OLmax
= 0.5V,
U
OHmin
= 4.2V. Odredite granice istosmjerne smetnje tog sklopa. Ako se izlaz sklopa pri
niskoj naponskoj razini moe nadomjestiti otporom R
L
= 100 prema masi, a izlaz sklopa pri
visokoj naponskoj razini otporom R
H
= 1000 prema napajanju U
CC
, izraunajte koliko
iznose struje I
OLmax
i I
OHmax
. Neka je U
CC
= 5V. Ako je poznato da su I
IHmax
= 0.16 mA te I
ILmax
= 0.8 mA, izraunajte koliko iznosi faktor grananja izlaza (fan-out) zadanog sklopa.


U
ILmax
predstavlja maksimalni napon koji e se na ulazu jo uvijek protumaiti kao
niska naponska razina. U
OLmax
predstavlja maksimalnu vrijednost napona koju e sklop
generirati na izlazu u sluaju kada je izlaz nizak. U
OLmax
tipino je manji od U
ILmax
, a
njihova razlika ini granicu istosmjerne smetnje pri niskoj razini:

V U U U
OL IL L GS
5 . 1 5 . 0 2
max max ,
= = =

Osnovni logiki sklopovi. 53

U
IHmin
predstavlja minimalni potreban napon na ulazu koji e se protumaiti kao visoka
naponska razina. U
OHmin
predstavlja minimalnu vrijednost napona koju e sklop
generirati na izlazu u sluaju kada je izlaz visok. U
OHmin
tipino je vei od U
IHmin
, a
njihova razlika ini granicu istosmjerne smetnje pri visokoj razini:

V U U U
IH OH H GS
7 . 0 5 . 3 2 . 4
min min ,
= = =

Granica istosmjerne smetnje tada se definira kao manja od ove dvije vrijednosti, pa
vrijedi:

V U U U
H GS L GS GS
7 . 0 ) 7 . 0 , 5 . 1 min( ) , min(
, ,
= = =

Struju I
OLmax
moemo izraunati iz sljedeeg razmatranja. Po pretpostavci zadatka izlaz
sklopa u sluaju kada je na izlazu niska naponska razina moe se nadomjestiti otporom
R
L
prema masi, kao to je prikazano na nadomjesnoj shemi (slika 1-a).

R
L
U
izl
I
OLmax

U
OLmax

+U
CC
U
izl
R
H
I
OHmax
U
OHmin

a) izlaz je L b) izlaz je H
Slika 1. Nadomjesna shema izlaznog stupnja sklopa

Struja I
OL
ulazi u sklop i na otporu R
L
stvara pad napona
L OL izl
R I U = podiui tako
napon na izlazu sklopa. Kako taj napon ne smije prerasti U
OLmax
koji je unaprijed zadan,
moe se izraunati kolika je maksimalna struja I
OL
koja e na izlazu podii napon na
U
OLmax
, i tu emo struju nazvati I
OLmax
:

mA
R
U
I R I U
L
OL
OL L OL OL
5
100
5 . 0
max
max max max
= = = =

Struju I
OHmax
moemo izraunati koristei pretpostavku da se izlaz sklopa u sluaju kada
je na izlazu visoka naponska razina moe se nadomjestiti otporom R
H
prema napajanju,
kao to je prikazano na nadomjesnoj shemi (slika 1-b). Struja I
OH
izlazi iz sklopa i na
otporu R
H
stvara pad napona ruei tako napon na izlazu sklopa
H OH CC izl
R I U U = .
Kako taj napon ne smije pasti ispod U
OHmin
koji je unaprijed zadan, moe se izraunati
kolika je maksimalna struja I
OH
koja e na izlazu spustiti napon na U
OHmin
, i tu emo
struju nazvati I
OHmax
:

mA
R
U U
I R I U U
H
OH CC
OH H OH CC OH
8 . 0
1000
8 . 0
1000
2 . 4 5
min
max max min
= =

= =

54 Zbirka rijeenih zadataka

Prilikom izrauna faktora grananja izlaza zapravo nas zanima koliko istovjetnih
sklopova moemo prikljuiti na izlaz jednog sklopa (a da sklop, dakako, radi ispravno).
Tu moramo provjeriti opet dva sluaja.

Kada je izlaz sklopa na niskoj naponskoj razini, on moe primati struju ne veu od
I
OLmax
. No u tom sluaju iz svakog od ulaza sklopova prikljuenih na izlaz promatranog
sklopa u najgorem sluaju dolazi struja I
ILmax
. Kako za ispravan rad sklopa suma tih
struja ne smije prekoraiti iznos I
OLmax
slijedi:

25 . 6
8 . 0
5
max
max
max max
= = =
IL
OL
L OL IL L
I
I
n I I n

n
L
je faktor grananja izlaza za sluaj kada je napon na izlazu nizak.

Kada je izlaz sklopa na visokoj naponskoj razini, on moe davati struju ne veu od
I
OHmax
. U tom sluaju u svaki od ulaza sklopova prikljuenih na izlaz promatranog
sklopa u najgorem sluaju ulazi struja I
IHmax
. Kako za ispravan rad sklopa suma tih
struja ne smije prekoraiti iznos I
OHmax
slijedi:

5
16 . 0
8 . 0
max
max
max max
= = =
IH
OH
H OH IH H
I
I
n I I n

n
H
je faktor grananja izlaza za sluaj kada je napon na izlazu visok.

Kako se faktor grananja definira kao najvei broj ulaza sljedeeg stupnja pri kojem svi
sklopovi jo rade ispravno (neovisno o stanju izlaza), za njegov izraun treba uzeti
manji od izraunatih faktora:

5 ) 5 , 25 . 6 min( ) , min( = = =
H L
n n n
Osnovni logiki sklopovi. 55


3.5. Zadatak

Kao priprema za sljedee zadatke, izvedite izraz za izlazni napon naponskog dijelila zadanog
slikama.
U
X
R
1
R
2
+U
CC

U
X
R
1
R
2
+U
CC
U
2

a) jednostavno naponsko dijelilo b) naponsko dijelilo s dva izvora



Sluaj a)

Struja kroz dijelilo iznosi:

2 1
R R
U
I
CC
+
=

Slijedi:

2 1
2
2
R R
R
U R I U
CC X
+
= =

Sluaj b)

Struja kroz dijelilo iznosi:

2 1
2
R R
U U
I
CC
+

=

Slijedi:

( )
( )
2 1
1
2 1
2 1
2
2 2 2 2
R R
R
U U U R I U
R R
R
U U U R I U U
CC CC CC
CC X
+
= =
+
+ = + =



3.6. Zadatak

Na slici su prikazani neoptereeni/optereeni diodni I sklop kod kojeg su svi ulazu blokirani
(ne utjeu na rad sklopa) osim jednog. Nacrtajte ovisnost napona U
D
o naponu U
ul
, ovisnosti
svih struja u sklopu o naponu U
ul
te prijenosne karakteristike za sklopove sa slike.
Pretpostavite da se napon U
ul
moe mijenjati od 0V do U
CC
=5V. Diodu promatrati kao idealni
element (pri voenju U
D
=0.7V i otpor je 0, pri nevoenju predstavlja beskonani otpor).
R=1k, R
T
=4k.

56 Zbirka rijeenih zadataka

+U
CC
R
U
X
U
ul
U
D
I

+U
CC
R
U
X
U
ul
U
D
I
R
T
I
2
I
1

a) neoptereen izlaz b) optereen izlaz


Sluaj a)

Krenimo u razmatranje od U
ul
=U
CC
. Napon na diodi tada iznosi:

V U U U U U
CC CC ul X D
0 = = =

i dioda ne vodi. U sklopu takoer ne tee nikakva struja. Ponemo li smanjivati U
ul
,
napon na diodi poinje rasti. Struje i dalje ne teku, i napon U
X
ostaje jednak U
CC
. Kada
U
D
dostigne vrijednost od 0.7V, dioda poinje voditi. To se dakle dogodi kod ulaznog
napona U
ul*
:

V U U U V U U U
D CC ul ul CC D
3 . 4 7 . 0 5 7 . 0
*
= = = = =

Daljnjim smanjivanjem napona U
ul
napon na diodi ostaje konstantnih 0.7V jer dioda
vodi. To za posljedicu ima sputanje napona U
X
koji je do tada bio konstantan (iznosa
U
CC
). Budui da dioda vodi, naponi U
D
, U
ul
i U
X
povezani su sljedeom relacijom:

X D ul
U U U = +

Sada kroz sklop tee struja I odreena relacijom:

R
U U U
I
ul D CC

=

Sputanjem napona U
ul
ova je struja sve vea, zbog ega se na otporu R stvara sve vei
pad napona, te izlazni napon U
X
pada, prema relaciji:

D ul CC X
U U R I U U + = =

Kad napon U
ul
doe do nule, U
X
je minimalan a struja I maksimalna, te iznose:

V U U U
D ul X
7 . 0 7 . 0 0 = + = + =

mA
k k R
U U U
I
ul D CC
3 . 4
1
3 . 4
1
0 7 . 0 5
= =

=

=
Osnovni logiki sklopovi. 57


Ovisnost napona U
D
o naponu U
ul
, ovisnost struje I o naponu U
ul
te ovisnost napona U
X

o naponu U
ul
(prijenosna karakteristika U
X
je izlazni napon) prikazane su u nastavku.

U
ul
[V]
U
D
[V]
5 1 2 3 4 4.3
1
5
4
3
2
U
ul
[V]
U
X
[V]
5 1 2 3 4 4.3
1
5
4
3
2
0.7
U
ul
[V]
I

[mA]
5 1 2 3 4 4.3
1
5
4
3
2
4.3
0.7
0
0
0


Sluaj b)

Krenimo u razmatranje od U
ul
=U
CC
. Otpori R i R
T
ine naponsko dijelilo, te uz
pretpostavku da dioda ne utjee na napon U
X
, vrijedi:

V
k k
k
R R
R
U U
T
T
CC X
4
4 1
4
5 =
+
=
+
=

Napon na diodi tada iznosi:

V U U U
ul X D
1 5 4 = = = .

Oito je da uz ovaj napon dioda doista ne vodi (pa time ne utjee na napon U
X
), te
provedena analiza vrijedi. U ovom trenutku takoer vrijedi:
58 Zbirka rijeenih zadataka


mA I mA
k k R R
U
I I
T
CC
0 , 1
4 1
5
1 2
= =
+
=
+
= =

Ponemo li smanjivati ulazni napon, napon na diodi e polagano rasti. Pri tome sve
struje i napon U
X
ostaju nepromijenjeni, sve do trenutka kada napon na diodi dosegne
vrijednost 0.7V. U tom trenutku dioda poinje voditi. To se dogaa za ulazni napon koji
je za 0.7 V manji od napona dijelila:

V U U U
D X ul
3 . 3 7 . 0 4 = = =

Daljnjim smanjivanjem ulaznog napona (a zbog voenja diode) napon U
X
poinje
padati, slijedei ulazni napon prema formuli:

D ul X
U U U + =

Zbog toga se konano poinju mijenjati i struje u sklopu, te od ovog trenutka vrijede
izrazi:

I I I
R
U
I
R
U U
I
T
X X CC
= + =

=
2 1 2


Napon na diodi ostaje konstantnih 0.7V. Smanjivanjem napona U
ul
do 0V napon U
X

takoer se linearno smanjuje do napona V U U U
D ul X
7 . 0 7 . 0 0 = + = + = , struja I raste
do iznosa:

( ) ( )
mA
k k R
U U U
I
D ul CC
3 . 4
1
3 . 4
1
7 . 0 0 5
= =
+
=
+
= ,

struja I
2
pada do iznosa

mA
k R
U
I
T
X
175 . 0
4
7 . 0
2
= = = ,

a struja I
1
raste do vrijednosti:

mA I I I 125 . 4 175 . 0 3 . 4
2 1
= = =

Ovisnost napona U
D
o naponu U
ul
, ovisnost struja I, I
1
i I
2
o naponu U
ul
te ovisnost
napona U
X
o naponu U
ul
(prijenosna karakteristika U
X
je izlazni napon) prikazane su u
nastavku.

Osnovni logiki sklopovi. 59

U
ul
[V]
U
D
[V]
5 1 2 3 4 3.3
1
5
4
3
2
0.7
0
-1
U
ul
[V]
U
X
[V]
5 1 2 3 4
3.3
1
5
4
3
2
0.7
0
U
ul
[V]
I

[mA]
5 1 2 3 4
1
5
4
3
2
4.3
0 3.3
U
ul
[V]
I
1
[mA]
5 1 2 3 4 4.3
1
5
4
3
2
4.125
0 3.3
U
ul
[V]
I
2
[mA]
5 1 2 3 4 4.3
1
5
4
3
2
4.3
0 3.3
0.175


60 Zbirka rijeenih zadataka

3.7. Zadatak

Zadan je sklop prema slici. Grafiki prikaite ovisnosti napona U
X
i struja I, I
1
i I
2
o naponu
U
ul
. Prikaite prijenosnu karakteristiku. Pretpostavite da su svi elementi idealni. Objasnite
kako se moe odrediti U
IHmin
ovog sklopa i komentirajte njegov utjecaj na faktor grananja
izlaza. R=1k, R
B
=5k, R
C
=1k, U
CC
=5V, U
BEzas
=0.7V, U
CEzas
=0.3V, U
D
=U
D1
=0.7V,
h
FE
=100.

+U
CC
R
+U
CC
U
ulA
U
ulB
D
1
R
C
R
B
U
izl



Kao pomo u rjeavanju zadatka oznaimo na slici jo i potrebne struje i napone. Isto
tako, pretpostavimo da su sve ulazne diode trajno blokirane (tako da ne smetaju) osim
jedne na koju dovodimo ulazni napon.

+U
CC
U
X
U
izl
R
+U
CC
U
ul
U
D1
D
1
1
I
R
C
R
B
U
D
2
I
I
U
BEzas


Krenimo u analizu uz pretpostavku da je ulazni napon U
ul
=U
CC
. Ako pretpostavimo da
je time dioda blokirana (ne vodi), tada ona ne utjee na napon U
X
. Budui da je tada
baza tranzistora preko otpora R i R
B
i diode D
1
spojena na U
CC
, tranzistor oito vodi, pa
vrijedi:

V U
D
7 . 0
1
= , V U
BEzas
7 . 0 = ,

mA
k k k R R
U U U
I I
B
BEzas D CC
6 . 0
6
6 . 3
5 1
7 . 0 7 . 0 5
1
2
= =
+

=
+

= = , mA I 0
1
=

Napon U
X
tada se moe izraunati kao napon dijelila s dva izvora (jedan od prethodnih
zadataka):

Osnovni logiki sklopovi. 61

( ) ( ) ( )
( ) ( ) ( )
V
k k
k
R R
R
U U U U U U
B
B
D BEzas CC D BEzas X
4 . 4
5 1
5
7 . 0 7 . 0 5 7 . 0 7 . 0
1 1
=
+
+ + + =
+
+ + + =


Budui da vrijedi izraz:

D ul X
U U U + =

slijedi da je napon na diodi D u ovom sluaju negativan:

V U U U
ul X D
6 . 0 5 4 . 4 = = =

Zbog toga dioda D ne vodi, ne utjee na napon U
X
pa smo potvrdili prethodnu
pretpostavku i valjanost rauna.

Ulazni napon bez ikakvih promjena u radu sklopa moemo smanjivati sve do trenutka
kada napon na diodi U
D
ne dosegne 0.7V, to se dogodi pri naponu:

V U U U
D X ul
7 . 3 7 . 0 4 . 4 = = =

Od tog trenutka daljnje smanjivanje ulaznog napona povlai za sobom pad napona U
X

(U
D
je konstantnih 0.7V a vrijedi
D ul X
U U U + = ), porast struja I i I
1
te pad struje I
2
.

Kad napon U
X
padne na vrijednost ispod 1.4V, tj.:

V U U U
BEzas D X
4 . 1
1
= + <

dioda D
1
i tranzistor se iskljuuju, ime struja I
2
postaje 0. Ovo se dogaa kod ulaznog
napona:

V U U U
D X ul
7 . 0 7 . 0 4 . 1 = = = .

Od tog trenutka nadalje vrijede sljedee relacije za struje:

( )
R
U U U
I I
D ul CC
+
= =
1
, mA I 0
2
=

U toki iskljuenja tranzistora (U
X
=1.4V) struje I i I
1
su iznosile:

mA
k k R
U U
I I
X CC
6 . 3
1
6 . 3
1
4 . 1 5
1
= =

= =

Smanjivanjem ulaznog napona do vrijednosti 0V napon U
X
postaje 0.7V a struje:

62 Zbirka rijeenih zadataka

mA
k k R
U U
I I
X CC
3 . 4
1
3 . 4
1
7 . 0 5
1
= =

= = .

Prijenosnu karakteristiku dobit emo praenjem izlaznog napona, to e odgovarati
praenju struje I
2
koja e ovdje odgovarati struji baze tranzistora, pa e u nastavku biti
preimenovana u I
B
.

Ponimo analizu opet od U
ul
=U
CC
. Tranzistor je u zasienju, I
B
=0.6 mA, U
CEzas
=0.3V.

mA
k R
U U
I
C
CEzas CC
C
7 . 4
1
3 . 0 5
=

=

Kako je mA h I mA I
FE B C
60 7 . 4 = = tranzistor je doista u zasienju.

Dok je tranzistor u zasienju, izlazni se napon ne mijenja (iznosi U
CEzas
). Kritini
trenutak nastupa kada se dogodi:

mA
h
I
I h I mA I
FE
C
B FE B C
047 . 0
100
7 . 4
7 . 4 = = = = = .

Naime, daljnjim smanjivanjem struje I
B
tranzistor vie nije u zasienju ve je u NAP-u,
i izlazni napon poinje rasti. Pogledajmo kod kojeg se ulaznog napona dogaa ova
promjena. Kombiniranjem izraza za napon U
X
:
D ul X
U U U + =

s izrazom za struju I
B
=I
2
:

B
BEzas D X
B
R
U U U
I

=
1


uz I
B
=0.047mA slijedi:

V U U U R I U
R
U U U U
I
BEzas D D B B ul
B
BEzas D D ul
B
935 . 0
1
1
= + + =
+
=

Padom ulaznog napona pada i struja baze, pa je struja kolektora odreena izrazom:

B FE C
I h I =

i pada zajedno sa strujom baze. Kako mora vrijediti naponska jednadba izlaznog kruga:

C C CC CE izl
R I U U U = =

padom kolektorske struje izlazni napon raste. Ovaj porast izlaznog napona ii e do
iznosa U
CC
u trenutku kada se tranzistor iskljuuje uz struju baze 0 mA (to smo ve
Osnovni logiki sklopovi. 63

prethodno izraunali da se dogaa kod napona U
ul
=0.7V). Daljnjim smanjivanjem
ulaznog napona izlazni se napon ne mijenja.

Prijenosna karakteristika prikazana je u nastavku.

U
ul
[V]
U
izl
[V]
5 1 2 3 4
1
5
4
3
2
0.3
0
0.935
0.7


Traeni grafiki prikazi slijede.

U
ul
[V]
U
D
[V]
5 1 2 3 4 3.7
1
5
4
3
2
0.7
0
-1
-0.6

U
ul
[V]
U
X
[V]
5 1 2 3 4 3.7
1
5
4
3
2
0.7
0

U
ul
[V]
I

[mA]
5 1 2 3 4
1
5
4
3
2
4.3
0 3.7
0.6

64 Zbirka rijeenih zadataka

U
ul
[V]
I
1
[mA]
5 1 2 3 4 4.3
1
5
4
3
2
4.3
0
3.7

U
ul
[V]
I
2
[mA]
5 1 2 3 4 4.3
1
5
4
3
2
4.3
0 3.7
0.6


Na odreivanje napona U
IHmin
utjee vie faktora. Prvi i osnovni faktor jest ispravan rad
sklopa. U ovom zadatku analiziran je diodni NI sklop. Kod tog sklopa uz pretpostavku
da su svi ulazi na visokoj logikoj razini, izlaz mora biti nizak. Pogledamo li prijenosnu
karakteristiku sklopa, odmah vidimo da za taj sluaj ulazni napon ne smije biti manji od
0.935V (jer inae napon izlaza vie nije nizak, tj. 0.3V). Ovime je odreen minimalni
iznos parametra U
IHmin
. Meutim, bitno je za uoiti da pri naponu od 0.935V kroz bazu
tee upravo dovoljna struja da podri kolektorsku struju koju generira R
C
.
Prikljuivanjem bilo kakvog optereenja na izlaz sklopa (koje generira dodatnu struju)
struja koju bi tranzistor trebao "progutati" postala bi vea od one koju podrava bazna
struja. To se, naravno, nee dogoditi, ve e izlazni napon porasti (tranzistor ulazi u
NAP) kako bi osigurao da i dalje kroz tranzistor tee onolika struja kolika je podrana
baznom strujom. Vidimo dakle da je faktor grananja uz ovaj odabir U
IHmin
jednak 0.
Zbog toga se pri odabiru vrijednosti za parametar U
IHmin
uzimaju u obzir i drugi
parametri poput eljenog faktora grananja i sl. Naime, poveanjem vrijednosti U
IHmin

poveava se i struja baze koja e u najgorem sluaju tei kroz tranzistor, i time osigurati
eljeni faktor grananja. Dakako, slino razmatranje vrijedi i za odabir ostalih parametara
sklopa.







Booleova algebra. 65


4. Booleova algebra.

4.1. Zadatak

Navedite aksiome Booleove algebre. Njihovom uporabom pokaite da vrijedi:
( ) B A B A A A = +


A.1. Neutralni element
a) A A = + 0
b) A A = 1

A.2. Komplement
a) 1 = + A A
b) 0 = A A

A.3. Komutativnost
a) A B B A + = +
b) A B B A =

A.4. Distributivnost
a) C A B A C B A + = + ) (
b) ) ( ) ( C A B A C B A + + = +

( ) B A A A + ( ) ( ) ( ) B A A A A + + =
A.4b

( ) ( ) ( ) B A A A A + + =
A.3a

( ) ( ) B A A + = 1
A.2a

( ) ( ) 1 + = B A A
A.3b

( ) B A A + =
A.1b

( ) ( ) B A A A + =
A.4a

( ) B A + = 0
A.2b
( ) 0 + = B A A.3a
B A = A.1a


Za vjebu.

Ponovite postupak ali u prvom koraku primijenite A.4a.


66 Zbirka rijeenih zadataka

4.2. Zadatak

Koristei samo aksiome A.1. A.4. pokaite da vrijedi 0 0 = A . Za svaki korak navedite
aksiome koje koristite.


0 A 0 0 + = A A.1

A A A + = 0
A.2

) 0 ( A A + =
A.4

A A =
A.1
0 = A.2

4.3. Zadatak

Koristei samo aksiome A.1. A.4. pokaite da vrijedi A A A = . Za svaki korak navedite
aksiome koje koristite.


A A 0 + = A A A.1

A A A A + =
A.2

) ( A A A + =
A.4
1 = A A.2
A = A.1

4.4. Zadatak

Booleove funkcije moemo prikazivati tablicom kombinacija. Zadana je funkcija
C B A ABC B A C B A f + + = ) , , ( . Prikaite funkciju tablicom kombinacija.


C B A ABC B A C B A f + + = ) , , (

Neka je B A f =
1
, ABC f =
2
te C B A f =
3
. Tada je
3 2 1
f f f f + + = :

Tablica 1. Tablini prikaz Booleove funkcije

1
f
2
f
3
f f
A B C
A B C B A
ABC
C B A
3 2 1
f f f + +
0 0 0 1 1 1 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 1 0 1 0 1 0 0 0 0
0 1 1 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 1
1 0 1 0 1 0 1 0 1 1
1 1 0 0 0 1 0 0 0 0
1 1 1 0 0 0 0 1 0 1

Booleova algebra. 67

4.5. Zadatak

Booleova funkcija zadana je Tablica 1. Prikaite tu funkciju:
a) sumom standardnih produkata (minterma)
b) umnokom standardnih suma (maksterma)


a) u tablici promatramo one retke za koje je vrijednost funkcije 1 = f .

A B C f mintermi
0 0 0 0
0
m
0 0 1 0
1
m
0 1 0 0
2
m
0 1 1 0
3
m
1 0 0 1
4
m
1 0 1 1
5
m
1 1 0 0
6
m
1 1 1 1
7
m

To su mintermi
4
m ,
5
m i
7
m pa je
7 5 4
m m m f + + = . U retku koji pripada mintermu
4
m vrijednosti varijabli su slijedee: A=1, B=0, C=0. Budui da minterm odgovara
umnoku varijabli, a u tom retku funkcija mora poprimiti vrijednost 1, slijedi da
umnoak mora biti 1, tj. C B A m = = = 1 1 1 1
4
. Slinim razmatranjem dobije se:
C B A m =
5
i ABC m =
7
. Traena funkcija tada glasi:

ABC C B A C B A m m m f + + = + + =
7 5 4
.

b) u tablici promatramo one retke za koje je vrijednost funkcije 0 = f .

A B C f makstermi
0 0 0 0
0
M
0 0 1 0
1
M
0 1 0 0
2
M
0 1 1 0
3
M
1 0 0 1
4
M
1 0 1 1
5
M
1 1 0 0
6
M
1 1 1 1
7
M
68 Zbirka rijeenih zadataka


To su makstermi
0
M ,
1
M ,
2
M ,
3
M i
6
M , te je
6 3 2 1 0
M M M M M f = . U retku
koji pripada makstermu
0
M vrijednosti varijabli su slijedee: A=0, B=0, C=0. Budui
da maksterm odgovara zbroju varijabli, a u tom retku funkcija mora poprimiti vrijednost
0, slijedi da suma mora biti 0, tj. C B A M + + = + + = = 0 0 0 0
0
. Slinim razmatranjem
dobije se: C B A M + + =
1
, C B A M + + =
2
, C B A M + + =
3
i C B A M + + =
6
.

Traena funkcija tada glasi:

) ( ) ( ) ( ) ( ) (
6 3 2 1 0
C B A C B A C B A C B A C B A M M M M M f + + + + + + + + + + = =


4.6. Zadatak

Funkcija
( ) C B A f , ,
zadana je tablino.
a) Zapiite funkciju kao sumu minterma.
b) Zapiite funkciju kao produkt maksterma.
c) Zapiite komplement funkcije kao sumu minterma.
d) Zapiite komplement funkcije kao produkt maksterma.
e) Kakva je veza izmeu kanonskih oblika
f
i
f
?


A B C f
mintermi makstermi
0 0 0 1
0
m
0
M
0 0 1 0
1
m
1
M
0 1 0 0
2
m
2
M
0 1 1 1
3
m
3
M
1 0 0 1
4
m
4
M
1 0 1 0
5
m
5
M
1 1 0 1
6
m
6
M
1 1 1 0
7
m
7
M


a)
f
6 4 3 0
m m m m + + + =

C B A C B A BC A C B A + + + =

( )

= 6 , 4 , 3 , 0

b)
f
7 5 2 1
M M M M =

) ( ) ( ) ( ) ( C B A C B A C B A C B A + + + + + + + + =

( )

= 7 , 5 , 2 , 1

Booleova algebra. 69

c)
f
7 5 2 1
m m m m + + + =

ABC C B A C B A C B A + + + =

( )

= 7 , 5 , 2 , 1

d)
f
6 4 3 0
M M M M =

) ( ) ( ) ( ) ( C B A C B A C B A C B A + + + + + + + + =

( )

= 6 , 4 , 3 , 0

e)



= = =
S i
i
S i
i
S i
i
m f M f m f ,



= = =
R i
i
R i
i
R i
i
M f m f M f ,

Vezu moemo iskazati i rijeima: ako funkcija sadri mintermi m
i
, komplement
funkcije sadri odgovarajui maksterm M
i
, ili alternativno, sadri sve one minterme
koje sama funkcija ne sadri. Isto tako, ako funkcija sadri maksterm M
i
, tada
komplement sadri minterm m
i
, ili alternativno, sadri sve one maksterme koje sama
funkcija ne sadri.

4.7. Zadatak

Zadana je funkcija D C BD C A f + + = .
a) Prikaite ovu funkciju kao sumu standardnih produkata.
b) Prikaite ovu funkciju kao umnoak standardnih suma.
c) Prikaite funkciju tablino.
d) Oitajte iz tablice f g = u obliku sume standardnih produkata.
e) Oitajte iz tablice f g = u obliku umnoka standardnih suma.
f) Prikaite funkciju uporabom NI operacije.
g) Nacrtajte sklop koji obavlja funkciju f pomou NI sklopova.


a)

f
D C BD C A + + =

D C D B C A + + = 1 1 1 1 1 1

D C B B A A D C C B A A D D C B B A + + + + + + + + = ) ( ) ( ) ( ) ( ) ( ) (

D C B A D C B A BCD A ABCD D C AB D C B A D C B A D C AB + + + + + + + =

1 5 7 15 12 9 8 13
m m m m m m m m + + + + + + + =

( )

= 15 , 13 , 12 , 9 , 8 , 7 , 5 , 1

b)
70 Zbirka rijeenih zadataka

Posluimo se injenicom da je: [ ] [ ] f f
D D
= .

[ ]
D
f ) )( )( ( D C D B C A + + + =

) )( ( ) )( ( D C D B C D C D B A + + + + + =

) ( ) ( ) ( ) ( D C D C D C B C D C AD D C AB + + + + + + + =

DD C C D C BD C C B C ADD C AD ABD C AB + + + + + + + =

D C BD C B C AD C AD ABD C AB + + + + + + =

D C C B AD D A B C + + + + + + = ) 1 ( ) 1 (

D C AD B C + + =

[ ] [ ]
D D
f ) )( )( ( D C D A B C + + + =

) 0 0 )( 0 0 )( 0 0 ( D C D A C B + + + + + + + + + =

) )( )( ( D C B B A A D C C B B A D D C B A A + + + + + + + + + =

) )( )( )( (
) )( )( )( (
D C B A D C B A D C B A D C B A
D C B A D C B A D C B A D C B A
+ + + + + + + + + + + +
+ + + + + + + + + + + + =


14 6 4 0 11 10 3 2
M M M M M M M M =

( )

= 14 , 11 , 10 , 6 , 4 , 3 , 2 , 0


c)

A B C D f f g =
0 0 0 0 0 0 1
1 0 0 0 1 1 0
2 0 0 1 0 0 1
3 0 0 1 1 0 1
4 0 1 0 0 0 1
5 0 1 0 1 1 0
6 0 1 1 0 0 1
7 0 1 1 1 1 0
8 1 0 0 0 1 0
9 1 0 0 1 1 0
10 1 0 1 0 0 1
11 1 0 1 1 0 1
12 1 1 0 0 1 0
13 1 1 0 1 1 0
14 1 1 1 0 0 1
15 1 1 1 1 1 0

d)

( )
D ABC CD B A D C B A D BC A D C B A CD B A D C B A D C B A
g
+ + + + + + + =
=

14 , 11 , 10 , 6 , 4 , 3 , 2 , 0


Booleova algebra. 71

e)

( )
( )( )( )( )
( )( )( )( ) D C B A D C B A D C B A D C B A
D C B A D C B A D C B A D C B A
g
+ + + + + + + + + + + +
+ + + + + + + + + + + + =
=

15 , 13 , 12 , 9 , 8 , 7 , 5 , 1


f)

D C BD C A f + + =
D CC BD CC A
D C BD C A
D C BD C A
f f
=
=
+ + =
=


g) Zadatak rjeavamo metodom supstitucije.

&
1
&
1
& 1
A
B
C
D
f


Vrijedi:

1

&

A A A =
1

&
&
&

B A B A = +
72 Zbirka rijeenih zadataka

&

& &

B A B A =

Zamjenom I, ILI i NE logikih sklopova u shemi sklopa dobijemo:
&
& &
&
&
&
& &
&
&
&
&
A
B
C
D
f

Odnosno:

&
&
&
&
&
&
A
B
C
D
f



Za vjebu.

Prikaite funkciju uporabom NILI operacije. Nacrtajte sklop koji obavlja funkciju f
pomou NILI sklopova.
Booleova algebra. 73


4.8. Zadatak

Zadana je ( )

= ) 7 , 4 , 2 , 1 ( , , C B A f poznata pod nazivom neparni paritet. Napiite
algebarski izraz ove funkcije uporabom samo operacije.


) , , ( C B A f
7 4 2 1
m m m m + + + =

ABC C B A C B A C B A + + + =

( ) ( ) AB B A C B A B A C + + + =

( ) ( ) B A C B A C + =

( ) ( ) B A C B A C + =

( ) C B A =
C B A =

4.9. Zadatak

Napiite dualne funkcije od
a) C B A ABC B A f + + =
1

b) C B A f + = 0 1
2



a) [ ] ( ) ( ) ( ) C B A C B A B A f
D
+ + + + + =
1


b) [ ] ( ) ( ) C B A f
D
+ + + = 1 0
2


4.10. Zadatak

Uporabom dualne funkcije odredite komplemente od
a) C B A ABC B A f + + =
1

b) C B A f + = 0 1
2



a) [ ] ( ) ( ) ( ) C B A C B A B A C B A f C B A f
D
+ + + + + = = ) , , ( ) , , (
1 1


b) [ ] ( ) ( ) C B A C B A f C B A f
D
+ + + = = 1 0 ) , , ( ) , , (
2 2



74 Zbirka rijeenih zadataka

4.11. Zadatak

Da li su funkcije
C B A ABC B A f + + =
1
i
) ( ) ( ) ( ) ( ) (
2
C B A C B A C B A C B A C B A f + + + + + + + + + + =
logiki jednake?


a) Navedene funkcije koritene ve su koritene u prethodnim zadacima te obje imaju
identian tablini prikaz (Tablica 1). Zbog toga su te funkcije jednake.

b) Algebarska metoda

1
f
( )
( ) BC B A
ABC B A
ABC B A
ABC C B A
C B A ABC B A
C B A ABC B A
+ =
+ =
+ =
+ + =
+ + =
+ + =
1
1
1

( ) ( )
( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
2
1 1 1
f
C B A C B A C B A C B A C B A
A C B A C B C B A C B A C B A C B A
A A C B C C B A C C B A
C B B A B A
C B B A B A
C B B B A
=
+ + + + + + + + + + =
+ + + + + + + + + + + + =
+ + + + + + =
+ + + =
+ + + =
+ + =



4.12. Zadatak

Zadana je funkcija BC D C A D C A f + + = . Objasnite kako biste sklopovski realizirali njezin
komplement, ako su na raspolaganju sve varijable i komplementi, jedan vieulazni I sklop, te
potreban broj ILI sklopova.


Kako imamo na raspolaganju samo jedan vieulazni I sklop, funkciju koju je potrebno
realizirati oito treba prikazati u obliku umnoka parcijalnih suma. Dakle, ako
realiziramo funkciju f g = , funkcija g treba biti zapisana u produktnom obliku. U tu
svrhu komplement emo realizirati kao dualnu funkciju u komplementiranim
varijablama, pa imamo:

( ) ( ) ( ) C B D C A D C A g + + + + + =

Iz ovog oblika realizacija je trivijalna!
Booleova algebra. 75


4.13. Zadatak

Sve se logike funkcije mogu prikazati tablicom kombinacija i zatim kao suma minterma ili
produkt maksterma. Pri tome se koriste samo operacije I, ILI i NE pa zakljuujemo da su te tri
operacije dovoljne za prikaz bilo koje druge funkcije. Da li se taj skup funkcija moe smanjiti
na:

a) I, NE
b) ILI, NE
c) NI
d) NILI

Prikaite C B A ABC B A f + + = algebarski i grafiki.


Traena funkcija izvodi se na slijedei nain:
&
1
&
&
1
1
A
B
C
f


a) ako se uporabom I i NE moe prikazati ILI, onda nam je i taj skup dovoljan. Krenimo
od De Morganovog zakona:

B A B A = +

Komplementiranjem ovog izraza dobivamo:

B A B A = +

Primjenom zakona involucije slijedi:

( ) ( ) ( ) ( ) B NE A NE I NE B A B A , = = +

Zakljuujemo da je skup {I, NE} dovoljan.

76 Zbirka rijeenih zadataka

f
C B A ABC B A + + =

C B A ABC B A + + =

C B A ABC B A =

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) C B NE A I NE C B A I NE B NE A I NE I NE , , , , , , , =

Grafiki funkciju moemo prikazati samo uporabom baznih funkcija metodom
supstitucije. Najprije je potrebno svaki ne-baznu funkciju prikazati baznima, i zatim
obaviti supstituciju.

{I, NE}
1

&
1
1
1


Obavimo supstituciju:
&
1
&
&
1
A
B
C
f
1
1
1
&
1


Ovime je postupak zavren te je pokazano kako se izvorna funkcija moe izvesti samo
uporabom I i NE logikih sklopova.

b) ako se uporabom ILI i NE moe prikazati I, onda nam je i taj skup dovoljan. Krenimo
od De Morganovog zakona:

B A B A + =

Komplementiranjem dobivamo:

B A B A + =

Primjenom zakona involucije slijedi:

Booleova algebra. 77

( ) ( ) ( ) ( ) B NE A NE ILI NE B A B A , = + =

Zakljuujemo da je skup {ILI, NE} dovoljan.

f

C B A ABC B A + + =

C B A ABC B A + + =

C B A C B A B A + + + + + + + =

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ( C NE B A NE ILI NE C NE B NE A NE ILI NE B A NE ILI NE ILI , , , , , , , =


{ILI, NE}
&

1
1
1
1


Supstitucija:

1
1
1 1
1
1
1
1
1
1
1
1
1
1
1
1
1
A
B
C
f

78 Zbirka rijeenih zadataka


Kako je komplement od komplementa sama vrijednost, dva uzastopna invertora
moemo izbaciti, pa konana shema sklopa izgleda:

1
1
1
1
1
1
1
1
1
1
1
1
1
A
B
C
f


c) Potrebno je sve tri operacije izraziti preko NI.

) , ( A A NI A A A A A A A = == + = + =

( ) ( ) ( ) B B NI A A NI NI B A B A , , , = = +

)) , ( ), , ( ( )) , ( ( B A NI B A NI NI B A NI NE B A B A = = =

f
C B A ABC B A + + =

C B A ABC B A + + =

C B A ABC B A =
( ) ( ) ( ) ( ) ( ) ( ) C B B NI A NI C B A NI B B NI A NI NI , , , , , , , , , =

Booleova algebra. 79


{NI}
1

&

1

&
&
&

&

& &


Supstitucija:

A
B
C
f
&
&
&
&
&
&
&
&
&
&
&
&


Primjenom zakona involucije slijedi:

A
B
C
f
&
&
&
&
&
&

80 Zbirka rijeenih zadataka


d) Potrebno je sve tri operacije izraziti preko NILI.

) , ( A A NILI A A A A A A A = + == = =

)) , ( ), , ( ( )) , ( ( B A NILI B A NILI NILI B A NILI NE B A B A = = + = +

( ) ( ) ( ) B B NILI A A NILI NILI B A B A , , , = + =

f
C B A ABC B A + + =

C B A ABC B A + + =

C B A ABC B A + + =

C B A C B A B A + + + + + + + =

( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( )
|
|
|
|
|
|
|
|
.
|

\
|
|
|
|
.
|

\
|
|
|
|
.
|

\
|
=
C C NILI B A A NILI NILI
C C NILI B B NILI A A NILI NILI
B A A NILI NILI
NILI
C C NILI B A A NILI NILI
C C NILI B B NILI A A NILI NILI
B A A NILI NILI
NILI
NILI
, , , ,
, , , , , ,
, , ,
,
, , , ,
, , , , , ,
, , ,


{NILI}
1

1

1

1 1

&

1
1
1


Booleova algebra. 81

Supstitucija:

1
1 1
1
1
1
1
1
1
1 1
1
1
1 1
A
B
C
f


Nakon primjene zakona involucije:

1
1
1
1
1
1
1
1
1
1 1
A
B
C
f



82 Zbirka rijeenih zadataka

4.14. Zadatak

Zadana je funkcija ( ) ( ) E D B C AB f + + + = .
a) Prikaite sklop koji realizira ovu funkciju.
b) Koliko razinski je taj sklop? Zato je to bitno?
c) Moe li se ista funkcija realizirati dvorazinskim sklopom? Objasnite i prikaite rjeenje.


a)
&
1
1
&
1
A
B
C
D
E
f


b) Sklop je 4-razinski. Ovaj podatak bitan je kod fizike implementacije funkcija zbog
toga to svaki logiki sklop ima odreeno vrijeme kanjenja. to je vie razina, to e
proi vie vremena prije no to se konaan rezultat pojavi na izlazu sklopa.

&
1
&
1
1


c) Svaka Booleova funkcija moe se u najgorem sluaju prikazati kao suma produkata
ili produkt suma, to se moe direktno realizirati dvorazinskim sklopom.

Booleova algebra. 83

f ( ) ( ) E D B C AB + + + =
E CD BC ABD AB + + + + =

( ) E CD BC D AB + + + + = 1
E CD BC AB + + + =


4.15. Zadatak

Konstruirati sklop koji kodira trobitni binarni broj u Gray-ev kod. Pri tome se koristiti
iskljuivo EX-ILI sklopovima. Opisati sklop VHDL-om. Modelirati vrijeme prolaska signala
kroz sklop kanjenjem od 20 ns.


Prikaimo tablino funkciju sklopa:

n b
2
b
1
b
0
g
2
g
1
g
0

0 0 0 0 0 0 0
1 0 0 1 0 0 1
2 0 1 0 0 1 1
3 0 1 1 0 1 0
4 1 0 0 1 1 0
5 1 0 1 1 1 1
6 1 1 0 1 0 1
7 1 1 1 1 0 0

Vrijedi: g
2
=f
2
(b
2
,b
1
,b
0
), g
1
=f
1
(b
2
,b
1
,b
0
), g
0
=f
0
(b
2
,b
1
,b
0
). Pronaimo te funkcije!

( )
( )
( )
2
1 1 2
0 0 1 0 0 1 2
0 1 0 1 0 1 0 1 2
0 1 2 0 1 2 0 1 2 0 1 2 2
) ( ) (
b
b b b
b b b b b b b
b b b b b b b b b
b b b b b b b b b b b b g
=
+ =
+ + + =
+ + + =
+ + + =


( ) ( )
2 1
1 2 1 2
0 0 1 2 0 0 1 2
0 1 2 0 1 2 0 1 2 0 1 2 1
b b
b b b b
b b b b b b b b
b b b b b b b b b b b b g
=
+ =
+ + + =
+ + + =


( ) ( )
0 1
0 1 0 1
2 2 1 2 2 0 1
0 1 2 0 1 2 0 1 2 0 1 2 0
b b
b b b b
b b b b b b b b
b b b b b b b b b b b b g
=
+ =
+ + + =
+ + + =



84 Zbirka rijeenih zadataka

1 =
1 =
2
b
1
b
0
b
2
g
1
g
0
g



Novost u odnosu na dosad vieni VHDL kod predstavlja uporaba tipa std_logic_vector,
naredbe case te varijabli (varijable).

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY sklopBinGray IS
PORT( b: IN std_logic_vector(2 downto 0);
g: OUT std_logic_vector(2 downto 0) );
END sklopBinGray;

ARCHITECTURE funkcijska2BinGray OF sklopBinGray IS
BEGIN
p1: PROCESS(b) IS
VARIABLE x, y, z: std_logic;
BEGIN
-- izracun izlaza
x := b(2);
y := (b(1) AND NOT b(2)) OR (NOT b(1) AND b(2));
z := (b(0) AND NOT b(1)) OR (NOT b(0) AND b(1));
-- pridjeljivanje izlaza
g(2) <= x AFTER 20 ns;
g(1) <= y AFTER 20 ns;
g(0) <= z AFTER 20 ns;
-- alternativa:
-- g <= (x, y, z) AFTER 20 ns;
END PROCESS;

END funkcijska2BinGray;

ARCHITECTURE funkcijskaBinGray OF sklopBinGray IS
BEGIN
p1: PROCESS(b) IS
BEGIN
CASE b IS
WHEN "000" => g <= "000" AFTER 20 ns;
WHEN "001" => g <= "001" AFTER 20 ns;
WHEN "010" => g <= "011" AFTER 20 ns;
WHEN "011" => g <= "010" AFTER 20 ns;
WHEN "100" => g <= "110" AFTER 20 ns;
WHEN "101" => g <= "111" AFTER 20 ns;
WHEN "110" => g <= "101" AFTER 20 ns;
WHEN "111" => g <= "100" AFTER 20 ns;
WHEN OTHERS => g <= "000";
END CASE;
END PROCESS;

END funkcijskaBinGray;
Booleova algebra. 85

Napomena: dan je VHDL opis sklopa pri emu su ponuene dvije implementacije
arhitekture. Arhitektura funkcijskaBinGray opisuje funkciju sklopa temeljei se na
case naredbi, dok arhitektura funkcijska2BinGray opisuje funkciju sklopa uporabom
osnovnih logikih funkcija. Konani VHDL opis treba sadravati samo jednu od
navedenih arhitektura.

Za vjebu.

Napiite VHDL opis ovog sklopa:
a) ponaajni (tj. funkcijski) model, ali bez uporabe bloka PROCESS
b) strukturni model

Za vjebu.

Komunikacijskim medijem prenose se okteti. Konstruirajte sklop koji e na ulazu
primati oktete, a na izlazu generirati Hammingovu kodnu rije koja sadri taj oktet.
Sklop ima dodatni ulaz P, koji kada je u 1 znai da na izlazu treba biti Hammingova
kodna rije dobivena uporabom parnog pariteta. Kada je P jednak 0, na izlazu treba biti
Hammingova kodna rije dobivena uporabom neparnog pariteta.

4.16. Zadatak

Projektirati i napisati VHDL ponaajni opis sklopa koji trobitni broj kodiran Grayevim kodom
pretvara u njegov binarni ekvivalent. Napisati funkcijsku ovisnost izlaza sklopa o ulazima.


Prikaimo funkciju sklopa tablino.

g
2
g
1
g
0
b
2
b
1
b
0

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

Sklop dakle ima tri izlaza. Iz tablice direktno moemo oitati izraze za svaki od izlaza:

b
2
= g
2

b
1
= g
2
g
1

b
0
= g
2
g
1
g
0


Ponaajni opis sklopa tada je prikazan u nastavku.
86 Zbirka rijeenih zadataka


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY graybin IS
PORT ( g2, g1, g0 : IN std_logic;
b2, b1, b0 : OUT std_logic);
END graybin;

ARCHITECTURE Behavioral OF graybin IS

BEGIN

b2 <= g2;
b1 <= g2 XOR g1;
b0 <= g2 XOR g1 XOR g0;

END Behavioral;


4.17. Zadatak

Na ulaz A sklopa sa slike dovodi se niz
pravokutnih simetrinih impulsa
periode T = 50 ns. Kanjenje svakog
logikog sklopa je 10 ns.
a) Odrediti koju logiku funkciju
obavlja sklop (zanemarite kanjenja).
Nacrtati valne oblike A i f koji
odgovaraju toj logikoj funkciji.
b) Nacrtati valne oblike napona A, napona f, te napone na izlazima svih ostalih logikih
sklopova u trajanju od 150 ns, ako se u obzir uzmu i kanjenja pojedinih sklopova.
(Napomena: zanemariti sve pojave osim kanjenja).
c) Napisati u VHDL-u ponaajni model upotrijebljenog logikog sklopa, te njegovom
uporabom strukturni model cijelog sklopa.



a) Logika funkcija koju obavlja sklop glasi:

( ) ( ) ( ) A A A A A A A A f = = = = 1 1

Traeni valni oblici su:

1 =
1 =
1 =
Booleova algebra. 87

t
t
A
f
0 25 50 75 100 125 150

b) Uvedimo dodatne oznake u shemi sklopa.

1 =
1 =
1 =


U sluaju da promatramo i kanjenja pojedinih sklopova dobivamo sljedee valne
oblike:
t
t
t
t
A
B
C
f
0 25 50 75 100 125 150

88 Zbirka rijeenih zadataka

c) VHDL opis sklopa prikazan je u nastavku.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY sklopXOR IS
PORT( x1, x2: IN std_logic;
y : OUT std_logic );
END sklopXOR;

ARCHITECTURE funkcijskaXOR OF sklopXOR IS
BEGIN
y <= transport x1 XOR x2 after 10 ns;
END funkcijskaXOR;

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY sklop2 IS
PORT( a : IN std_logic;
f : OUT std_logic );
END sklop2;

ARCHITECTURE strukturna OF sklop2 IS
SIGNAL b, c: std_logic;
COMPONENT sklopXOR
PORT( x1, x2: IN std_logic;
y : OUT std_logic );
END COMPONENT;
BEGIN
c1: sklopXOR PORT MAP (a, '1', b);
c2: sklopXOR PORT MAP (a, b, c);
c3: sklopXOR PORT MAP (a, c, f);

END strukturna;

Kanjenje se modelira transportnim modelom, to je definirano kljunom rijei
transport. Kod transportnog modela svaka promjena na ulazu (ma kako kratka), imat e
utjecaj na izlaz sklopa.

4.18. Pismeni ispit, 10. 10. 2003, 2. zadatak

Sklop s ulazima a i b te izlazom c opisan je VHDLom. Arhitektura
sklopa sastoji se od internih signala x, y i z te proces bloka zadanog
slikom. Svi signali su tipa std_logic. U trenutku t = 0 ns signali a i b
postavljaju se na vrijednost 0, a u trenutku t = 5 ns signal a prelazi u 1.
Nacrtati vremenski dijagram svih signala sklopa za period 0 ns t 10
ns kakav bi se dobio simulacijom u Xilinx WebISE alatu. Objasnite
odziv sklopa.



U trenutku t=0 ns, svi su postavljeni na U.

U trenutku t=0
+
ns signali a i b postavljaju se na vrijednost nula. Zbog toga se ulazi u
process blok (jer se u listi osjetljivosti nalaze signali a i b). U prvom prolazu kroz taj

process (a,b)
begin
x <= a or b;
y <= x or b;
z <= x and y;
c <= z;
end process;

Booleova algebra. 89

blok x postaje 0, y ostaje U (naime, U or 0 = U), z ostaje U (U and U = U), te c ostaje
U. Kako se a ili b ovime nisu promijenili, izvoenje process bloka ovime zavrava, i
simulacija se nastavlja.

U trenutku t=5 ns signal a prelazi u 1, ime se ponovno pokree izvoenje process
bloka (jer je a u njegovoj listi osjetljivosti). U prvom prolazu signal x postavlja se na 1
(1 or 0 = 1), signal y postavlja se na 0 (0 or 0 = 0), signal z postavlja se na 0 (0 and U =
0), a signal c i dalje ostaje U. Kako se niti sada nije promijenila niti jedna varijabla iz
liste osjetljivosti process bloka, ne ulazi se ponovno u njegovo izraunavanje, i
simulacija se nastavlja.

Grafiki prikaz dat je u nastavku.




4.19. Zadatak

Digitalni sklop (slika 2) izveden je bipolarnom
tehnologijom. Napisati Booleovu funkciju
koju ostvaruje sklop:
a) u pozitivnoj logici,
b) u negativnoj logici.
Kakve su te dvije funkcije meusobno?




Prema naponskim razinama sklop obavlja sljedeu funkciju:

A B C f
L L L H
L L H H
L H L H
L H H H
H L L H
H L H H
H H L H
H H H L

+U
CC
U
ulA
U
ulB
+U
CC
U
ulC
U
f
90 Zbirka rijeenih zadataka

a) ako L tumaimo kao 0, a H kao 1 (pozitivna logika) imamo funkciju:

C B A f + + =

b) ako L tumaimo kao 1, a H kao 0 (negativna logika) imamo funkciju:

C B A f =

Funkcije su meusobno dualne.

4.20. Pismeni ispit, 25. 02. 2004, 8. zadatak

Koju funkciju obavlja sklop prikazan na slici u negativnoj
logici, a koju u pozitivnoj logici? U kakvom su odnosu te
dvije funkcije?









Zadatak moemo rijeiti na vie naina. Moda je najjednostavniji direktnim oitanjem.
Naime, u pozitivnoj logici A i B spojeni su na I sklop (dvije diode i otpor prema
napajanju). Izlaz tog I sklopa spojen je na invertor, pa se zapravo rauna NE ( A I B ),
tj. A NI B. Izlaz invertora zajedno s varijablom C spojeni su na ILI sklop (dvije diode i
otpor prema masi). Dakle, sklop ostvaruje funkciju (A NI B) ILI C:

C B A C B A f + + = + =

Funkcija koju sklop ostvaruje u negativnoj logici dualna je funkciji koju sklop ostvaruje
u pozitivnoj logici, i glasi:

C B A C B A f = + =

Drugi nain rjeavanja jest analiza izlaznog napona sklopa:

U
A
U
B
U
C
U
f

Nisko Nisko Nisko Visoko
Nisko Nisko Visoko Visoko
Nisko Visoko Nisko Visoko
Nisko Visoko Visoko Visoko
Visoko Nisko Nisko Visoko
Visoko Nisko Visoko Visoko
Visoko Visoko Nisko Nisko
Visoko Visoko Visoko Visoko
U
A
U
B
U
C
U
f
+U
CC
Booleova algebra. 91


U pozitivnoj logici niskoj naponskoj razini odgovara logika nula, a visokoj logika
jedinica. Primjenimo li to na naponsku tablicu, slijedi:


A B C f
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1

Funkcija se oito moe zapisati kao jednolani produkt maksterma:

C B A M f + + = =
6


U negativnoj logici niskoj naponskoj razini odgovara logika jedinica, a visokoj logika
nula. Primjenimo li to na naponsku tablicu, slijedi:

A B C f
1 1 1 0
1 1 0 0
1 0 1 0
1 0 0 0
0 1 1 0
0 1 0 0
0 0 1 1
0 0 0 0

Funkcija se oito moe zapisati kao jednolana suma minterma (u dobivenoj tablici
minterm m
0
nalazi se na dnu!):

C B A m f = =
1
,

ime smo potvrdili prethodno rjeenje.

Osim toga, pokazali smo i da su funkcije meusobno dualne (jer su minterm m
1
i
maksterm M
6
meusobno dualni).

92 Zbirka rijeenih zadataka

4.21. Zadatak

Dvorazinskom logikom projektirajte sklop koji usporeuje dva 4-bitna binarna broja, i kao
rezultat vraa 1 ako su oni jednaki, 0 inae. Komentirajte rjeenje za opi sluaj usporedbe k-
bitnih brojeva.


Budui da se kao rezultat oekuje rjeenje koje ima najvie dvije razine logike (suma
parcijalnih produkata ili produkt parcijalnih suma), rjeavanju zadatka pristupit emo
preko tablice istinitosti. Neka je prvi broj A=a
3
a
2
a
1
a
0
a drugi broj B=b
3
b
2
b
1
b
0
. Tablica
istinitosti funkcije e(a
3
,a
2
,a
1
,a
0
,b
3
,b
2
,b
1
,b
0
) tada e imati 2
8
=256 redaka. Meutim, nema
potrebe da ispisujemo cijelu tablicu: kratkim promiljanjem moemo zakljuiti da e
tablica istinitosti biti vrlo rijetko popunjena s 1! Zbog toga moemo napisati djelominu
tablicu istinitosti samo one retke u kojima funkcija poprima vrijednost 1:

A B
a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0
e m
0 0 0 0 0 0 0 0 1 m
0

0 0 0 1 0 0 0 1 1 m
17

0 0 1 0 0 0 1 0 1 m
34

0 0 1 1 0 0 1 1 1 m
51

0 1 0 0 0 1 0 0 1 m
68

0 1 0 1 0 1 0 1 1 m
85

0 1 1 0 0 1 1 0 1 m
102

0 1 1 1 0 1 1 1 1 m
119

1 0 0 0 1 0 0 0 1 m
136

1 0 0 1 1 0 0 1 1 m
153

1 0 1 0 1 0 1 0 1 m
170

1 0 1 1 1 0 1 1 1 m
187

1 1 0 0 1 1 0 0 1 m
204

1 1 0 1 1 1 0 1 1 m
221

1 1 1 0 1 1 1 0 1 m
238

1 1 1 1 1 1 1 1 1 m
255

inae 0 ostali

Funkcija dakle sadri sve minterme oblika ( ) 1 2 2 + = +
k k
n n n gdje je n neka
vrijednost broja a k broj bitova broja. U naem sluaju k=4, pa n moe poprimiti broj iz
intervala [0, 2
k
-1]=[0,15], i ukupno imamo upravo 2
k
=16 takvih minterma.

Traeno rjeenje tada glasi:

( )
255 238 221 204 187 170 153 136
119 102 85 68 51 34 17 0 0 1 2 3 0 1 2 3
, , , , , , ,
m m m m m m m m
m m m m m m m m b b b b a a a a e
+ + + + + + + +
+ + + + + + + + =


Komentirajmo jo i rjeenje. Za realizaciju jednog minterma trebamo jedan I sklop s
k 2 ulaza (u ovom sluaju 8 ulaza). Funkcija ukupno sadri 2
k
minterma (u ovom
sluaju to iznosi 16), pa trebamo jedan ILI sklop s 2
k
ulaza (dakle, s 16 ulaza).
Meutim, kako je broj razina logike ogranien na 2, sklop e relativno brzo izraunavati
Booleova algebra. 93

toan rezultat usporedbe. Negativna strana ovakve direktne realizacije jest problem
eksponencijalnog broja potrebnih ulaza, to takvu realizaciju ini neprimjerenom. Npr.
za usporedbu 32 bitnih brojeva trebali bismo za realizaciju minterma I sklopove s 64
ulaza, te jedan ILI sklop s 4294967296 ulaza jer bi funkcija sadravala upravo toliko
minterma.

4.22. Zadatak

Neka se funkcija e, iji su argumenti dva k-bitna broja A i B, realizira kao suma minterma.
Izraunati koliko e ta funkcija sadravati minterma, i kako e izgledati njezina direktna
realizacija, ako je funkcija definirana (i) e = (A>B), (ii) e = (AB).


Do rjeenja se dolazi jednostavnim razmatranjem. U prvom sluaju, funkcija poprima 1
ako je vrijednost broja A strogo vea od vrijednosti broja B. Svaki od tih brojeva moe
poprimiti vrijednost iz intervala [0, 2
k
-1]. Ako fiksiramo vrijednost broja A na
vrijednost n, tada broj B moe poprimiti tono n razliitih vrijednosti, a da vrijedi A>B.
Npr. ako je vrijednost broja A n=5, tada B moe poprimiti vrijednosti {0,1,2,3,4} pri
emu je zadovoljeno A>B. Kako n moe biti iz intervala [0, 2
k
-1], ukupan broj
kombinacija za koje vrijedi A>B, to predstavlja i broj minterma funkcije e, iznosi:

( )( ) ( )
2
1 2 2
2
1 1 2 1 2
1 2
0

=
+
=

=
k k k k
n
k
n

Npr. funkcija e=(A>B) za 4-bitne brojeve sadravala bi 120 minterma. Njezina direktna
realizacija zahtijevala bi 120 8-ulaznih I sklopova, te jedan 120 ulazni ILI sklop. to je
sa sluajem za k=32?

U drugom sluaju, gdje je e definiran s e = (AB), do rezultata moemo doi na dva
naina. Ako fiksiramo vrijednost broja A na n, tada B moe poprimiti n+1 vrijednost a
da vrijedi AB. Npr. za n=5 B moe poprimiti vrijednosti {0,1,2,3,4,5}. Sumiranjem po
svim vrijednostima broja A slijedi:

( )
( )
2
1 2 2
2 1 2
1 0
1
1
2
1
1 2
0
+
= =

= =
= =
+ =
= +

=

=
k k
t
k k
n
k k
t
t n
t n
n t
n

Alternativno, broj sluajeva za koje vrijedi (AB) moemo dobiti i kao sumu broja
sluajeva za koje vrijedi (A>B) i (A=B) jer su ti sluajevi meusobno disjunktni. Prvo
smo ve izraunali, a drugo iznosi upravo 2
k
, pa sumiranjem slijedi:

( ) ( )
2
1 2 2
2
2
1 2 2 +
= +

k k
k
k k


Npr. funkcija e=(AB) za 4-bitne brojeve sadravala bi 136 minterma. Njezina direktna
realizacija zahtijevala bi 136 8-ulaznih I sklopova, te jedan 136 ulazni ILI sklop. to je
sa sluajem za k=32?

94 Zbirka rijeenih zadataka

4.23. Zadatak

Projektirajte sklop koji usporeuje dva 4-bitna binarna broja, i kao rezultat vraa 1 ako su oni
jednaki, 0 inae. Broj razina logike nije bitan, ali dizajn mora raditi i za viebitne brojeve
(k>4). Komentirajte rjeenje za opi sluaj usporedbe k-bitnih brojeva.


Kako sada imamo potpunu slobodu u dizajnu sklopa, pogledajmo najprije kako bismo
rijeili analogan problem: napisati program koji usporeuje dva k-bitna broja i vraa 1
ako su oni jednaki!

Pseudokod rjeenja prikazan je u nastavku.

Usporedi(A, B): returns Jednaki
Jednaki = true
For i = 0 to k-1 begin
bitoviJednaki = (A(i) == B(i))
Jednaki = Jednaki AND bitoviJednaki
End For
End Usporedi

Promotrimo sada jednu iteraciju petlje: usporeuju se i-ti bitovi brojeva, i nova
vrijednost rezultata (Jednaki) definira se kao logiko I vrijednosti rezultata iz prole
iteracije, i trenutne usporedbe i-tih bitova. Za konaan, unaprijed poznat broj
ponavljanja, ovu petlju moemo "raspetljati" po indeksu k. Npr. za k=4 moemo pisati:

Usporedi(A, B): returns Jednaki(3)
Jednaki(-1) = true
// 0. iteracija
bitoviJednaki(0) = (A(0) == B(0))
Jednaki(0) = Jednaki(-1) AND bitoviJednaki(0)
// 1. iteracija
bitoviJednaki(1) = (A(1) == B(1))
Jednaki(1) = Jednaki(0) AND bitoviJednaki(1)
// 2. iteracija
bitoviJednaki(2) = (A(2) == B(2))
Jednaki(2) = Jednaki(1) AND bitoviJednaki(2)
// 3. iteracija
bitoviJednaki(3) = (A(3) == B(3))
Jednaki(3) = Jednaki(2) AND bitoviJednaki(3)
End Usporedi

No kakve ovo ima veze s dizajnom funkcije? I funkciju moemo dizajnirati iterativno!
Ako unutranjost For petlje gledamo kao crnu kutiju, tada su njeni ulazi Jednaki(i-1),
A(i), B(i) a izlaz Jednaki(i). To moemo modelirati sklopovski:

Booleova algebra. 95

&
1 =
&
A(i) B(i)
Jednaki(i-1)
Jednaki(i)
bitoviJednaki(i)


Naime, funkcija koja testira dva bita na jednakost upravo je EX-ILI (provjerite tablicom
istinitosti). Zapravo, dizajn unutranjosti crne kutije moe se shvatiti i kao poseban
zadatak: projektirajte funkciju Jednaki
(i)
(A
(i)
,B
(i)
,Jednaki
(i-1)
) koja poprima vrijednost 1
samo kada su ulazi A
(i)
i B
(i)
jednaki, pri emu jo i ulaz Jednaki
(i-1)
mora biti 1.

Mi emo u nastavku, radi kraeg zapisa, funkciju Jednako
(i)
oznaavati s E. Funkcija E
moe se algebarski zapisati:

E(A
i
, B
i
, E
i-1
)=E
i-1
AND (A
i
XOR B
i
)

Jednom kad smo dizajnirali unutranjost jednog stupnja, vrlo lagano moemo
projektirati k-bitni komparator. Za sluaj k=4 imamo:

&
1 =
&
A(3) B(3)
Jednaki(3)
&
1 =
&
A(2) B(2)
Jednaki(2)
&
1 =
&
A(1) B(1)
Jednaki(1)
&
1 =
&
A(0) B(0)
Jednaki(0)
1
Jednaki
4
-
b
i
t
n
i

k
o
m
p
a
r
a
t
o
r


Cijela funkcija tada se moe zapisati kao:

( )
( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( ) ( )
3 3 2 2 1 1 0 0
3 3 2 2 1 1 0 0 1
3 3 2 2 1 1 0
3 3 2 2 1
3 3 2
1 B XOR A AND B XOR A AND B XOR A AND B XOR A AND
B XOR A AND B XOR A AND B XOR A AND B XOR A AND E
B XOR A AND B XOR A AND B XOR A AND E
B XOR A AND B XOR A AND E
B XOR A AND E E
=
=
=
=
=


Komentirajmo dobiveno rjeenje. Neovisno o k, sklopovsko rjeenje uvijek koristi
dvoulazne I sklopove, i dvoulazne EX-ILI sklopove. Za k-bitni komparator, trebat emo
96 Zbirka rijeenih zadataka

k EX-ILI sklopova i k I sklopova. U usporedbi s realizacijom iste funkcije u
dvorazinskoj logici, sve navedeno ini se kao prednost. tovie, ak niti broj utroenih
sklopova ne raste eksponencijalno, ve linearno s faktorom 1. Moemo li tada rei da je
ovo najbolje rjeenje? Odgovor je, dakako, ne. Naime, ovaj dizajn je izgubio jedno vrlo
korisno svojstvo koje je realizacija dvorazinskom logikom garantirala: konstantno (i
malo!) vrijeme izrauna rezultata. Kod iterativnog dizajna, vrijeme do pojave tonog
rezultata funkcije ovisno je o broju stupnjeva (iteracija), a u naem primjeru trebamo
jedan stupanj za svaki bit. Dakle, za 32-bitni komparator, vrijeme potrebno za pojavu
tonog rezultata iznosit e 32 puta vrijeme potrebno za izraun rezultata jednog stupnja.
Openito, to je vei k, to emo due ekati na odgovor sklopa! U dananje doba izrade
brzih sklopova velika vremena reakcije sklopa nee se tolerirati, pa se za velike k
sklopovi nee realizirati niti direktnom primjenom iterativnog dizajna. Jedno od rjeenja
koje se danas koristi jest hibridni pristup problem se razbije na iterativni postupak, ali
ne do kraja. Umjesto da zavrimo na stupnju koji rauna rezultat nad jednim bitom,
zaustavit emo se na stupnju koji direktno dvorazinskom logikom rauna rezultat za
npr. 4-bita. Postoje jo neke modifikacije pristupa, o kojima e vie rijei biti u
poglavlju o Digitalnoj aritmetici.




Booleova algebra. 97


ZADACI ZA VJEBU

1. Prikazati tablicom kombinacija i logikim izrazom funkciju sklopa iji je ulaz 4-bitni
binarni broj, a izlaz je u logikoj jedinici ako je broj nula u broju a) paran, b) vei od
broja jedinica, c) jednak broju jedinica.
2. Prikazati tablicom kombinacija i logikim izrazom funkciju sklopa iji je ulaz 4-bitni
binarni broj, a izlaz je u logikoj nuli ako u broju: a) postoje tono dvije uzastopne nule,
b) postoje barem dvije uzastopne jedinice, c) ne postoje uzastopne nule niti jedinice.
3. Prikazati tablicom kombinacija i logikim izrazom funkciju sklopa iji je ulaz 3-bitni
binarni broj, a izlaz je u logikoj jedinici ako je vrijednost broja na ulazu a) iz intervala
[3, 6], b) nije iz skupa {1, 3, 7}.
4. Ulaz sklopa su dva dvobitna broja A i B. Izlaz sklopa je u logikoj jedinici ako je broj A
vei od broja B. Prikazati tablicom kombinacija i logikim izrazom funkciju ovog
sklopa.
5. Ulaz sklopa su dva dvobitna broja A i B. Izlaz sklopa je u logikoj jedinici ako je
rezultat zbrajanja ovih brojeva u intervalu [2,5]. Prikazati tablicom kombinacija i
logikim izrazom funkciju ovog sklopa.
6. Prikaite sklop koji samo uporabom NI sklopova realizira funkciju
( )
D C C A B A D C B A f + + = ) , , , (
.
7. Prikaite sklop koji samo uporabom NI sklopova realizira funkciju
D C A D B A C B A D C B A f + + = ) , , , (
.
8. Prikaite sklop koji samo uporabom NILI sklopova realizira funkciju
D C A D B A C B A D C B A f + + = ) , , , (
.
9. Prikaite sklop koji samo uporabom NI sklopova realizira funkciju
( ) ( ) ( )
D C A D B A C B A D C B A f + + + + + + = ) , , , (
.
10. Prikaite sklop koji samo uporabom NILI sklopova realizira funkciju
( ) ( ) ( )
D C A D B A C B A D C B A f + + + + + + = ) , , , (
.
11. Tablicom kombinacija provjeriti da su funkcije f i g jednake. Funkcije su zadane
sljedeim izrazima:
D C B C A D C A D C B A f + + = ) , , , (
,
( ) ( ) ( )
D C B D C A C A D C B A g + + + + + = ) , , , (
.
12. Zadana je funkcija
C B A C B A C B A C B A C B A f + + + = ) , , (
. Algebarskom
metodom pokaite da se ta funkcija moe zapisati kao
B A C A C B A f + = ) , , (
.
13. Algebarskom metodom pokaite da je
) ( ) ( ) ( B A C B C A + + +
jednako
) ( ) ( C B C A + +
. Navedite aksiome koji su pri tome koriteni.
14. Zadana je funkcija
B A C A C B A f + = ) , , (
. Algebarskom metodom pokaite da je to
ista funkcija kao i
( ) ( )
C A B A C B A g + + = ) , , (
.
98 Zbirka rijeenih zadataka

15. Uporabom dualne funkcije direktno zapiite komplement od
B A C A C B A f + = ) , , (
.
16. Projektirati kombinacijski sklop koji ispituje da li je na ulaz dovedena ispravna BCD
znamenka. Nacrtati shemu sklopa. Napisati ponaajni opis sklopa u VHDL-u.
17. Za Booleovu algebru definiranu na kraju dodatka 2 uporabom tablica istinitosti dokaite
da su operatori ILI (Def1) i KOMPLEMENT (Def2) ispravno definirani.
18. Koristei aksiome Booleove algebre definirane na kraju dodatka 2, pokaite da vrijedi:
a) svi aksiomi "nae" definicije Booleove algebre koji nisu aksiomi ove "nove"
Booleove algebre (npr. X X = + 0 , 1 = + X X , X Y Y X + = + ).
b) Idempotentnost ILI operatora: X X X = +
c) Asocijativnost ILI operatora: ) ( ) ( Z Y X Z Y X + + = + +
d) Veza izmeu 1 i 0: 0 1 = , te 1 0 =
e) 0 0 = X , 1 1= + X
f) Distributivnost: ) ( ) ( ) ( Z X Y X Z Y X + = + , ) ( ) ( ) ( Z X Y X Z Y X + + = +
g) Veza varijable i komplementa: 0 = X X , 1 = + X X
h) X X =
i) Drugi zapis ILI operatora: Y X Y X Y X + = , ) ( ) ( Y X Y X Y X + + =
j) DeMorganov zakon: Y X Y X + = , Y X Y X = +
k) Zakon simplifikacije: X Y X X = + ) ( , X Y X X = +
l) Y X Y X X = + ) ( , Y X Y X X + = + .
19. Pokazati da se samo uporabom sklopova sa slike (te logike nule i jedinice) mogu
ostvariti sve Booleove funkcije.


20. Projektirajte sklop koji obavlja funkciju e usporedbe dva 4-bitna binarna broja A i B:
e=(A>B). Odabran nain rjeavanja mora biti primjenjiv i na viebitne brojeve (k>4).
21. Projektirajte sklop koji obavlja funkciju e usporedbe dva 4-bitna binarna broja A i B:
e=(AB). Odabran nain rjeavanja mora biti primjenjiv i na viebitne brojeve (k>4).
22. Pismeni ispit 07. 02. 2005.
Zadana je Booleova funkcija ( ) ( ) ( ) ( ) ( ) ( ) = , , f .
Pronaite njezin minimalni oblik.

Minimizacija logikih funkcija. 99


5. Minimizacija logikih funkcija.

5.1. Zadatak

Prikaite funkciju ( )

= 2 , 0 f pomou K-tablice, i zatim odredite minimalni oblik funkcije.


Usporedite s analitikom minimizacijom.


A
0 1
B 0 1 1
1

A
B
B A
B A
B


B B A A B A B A f = + = + = ) (

5.2. Zadatak

Prikaite funkciju ( )

= 3 , 1 f pomou K-tablice, i zatim odredite minimalni oblik funkcije.


Usporedite s analitikom minimizacijom.


A
0 1
B 0
1 0 0

A
B
B A+
B A +
B


Direktno: upisati maksterme, minimizirati i proitati kao komplement od minimizacije
koja bi se radila da su upisane jedinice.

B B A A B A B A f = + = + + = ) ( ) )( (

Indirektno: upisati maksterme i "praviti se" da su mintermi (dakle, jedinice), odnosno
raditi sa komplementarnom funkcijom. Obaviti minimizaciju, pa kao rezultat vratiti
komplement dobivenoga!

100 Zbirka rijeenih zadataka

A
0 1
B 0
1 1 1

A
B
B A
AB
B

B f =

B f f = =

5.3. Zadatak

Minimizirajte funkciju ( )

= 15 , 13 , 11 , 9 , 4 , 0 f pomou K-tablice.


AB
00 01 11 10
CD 00 1 1
01 1 1
11
1 1
10


A
B
C
D
D C A
AD


AD D C A f + =
Minimizacija logikih funkcija. 101


5.4. Zadatak

Minimizirajte funkciju ( )

= 10 , 8 , 6 , 4 , 2 , 0 f pomou K-tablice.


AB
00 01 11 10
CD 00 1 1 1
01
11

10
1 1 1

A
B
C
D
D A
D B


D B D A f + =

5.5. Zadatak

Minimizirajte funkciju ( ) ( )

+ = 11 , 10 , 8 , 7 , 5 15 , 6 , 4 , 1 , 0 d m f pomou K-tablice.



AB
00 01 11 10
CD 00 1 1 x
01 1 x
11
x 1 x
10
1 x

A
B
C
D
C A
BCD
B A


BCD B A C A f + + =
102 Zbirka rijeenih zadataka


5.6. Zadatak

Minimizirajte funkciju ( )

= 7 , 3 , 2 , 0 f pomou K-tablice.


AB
00 01 11 10
C 0 0 0
1 0 0

C A
BC
A
B
C


BC C A f + =

) )( ( C B C A f f + + = =

5.7. Zadatak

Minimizirajte funkciju ( )

= 15 , 13 , 12 , 8 , 7 , 5 , 0 f pomou K-tablice.


AB
00 01 11 10
CD 00 0 0 0
01 0 0
11
0 0
10


A
B
C
D
D C A
BD
D C B

D C B D C A BD f + + =

) )( )( ( D C B D C A D B f f + + + + + = =
Minimizacija logikih funkcija. 103


5.8. Zadatak

Zadana je funkcija C B A C B A C AB AC C B A f + + + + = . Funkciju je potrebno
minimizirati:

a) algebarskom metodom
b) uporabom komplementa funkcije
c) uporabom dualne funkcije
d) K-tablicom
e) metodom Quine-McCluskey


a) algebarska metoda

( ) ( )
( )
( ) ( )
B A
B A A A
A B A
C C A B A
AC C A B A
AC B B C A C C B A
C B A C B A C AB AC C B A f
+ =
+ + =
+ =
+ + =
+ + =
+ + + + =
+ + + + =


b) uporaba komplementa: f f =

( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( )
( )
B A
A B A A
A B A
C C A B A
C A C A B A
C A B B C A C C B A
C A B C A B C A C B A C B A
C B A C B A C B A C A C B A
C B A C B A C AB AC C B A
C B A C B A C AB AC C B A f
=
+ =
+ =
+ + =
+ + + =
+ + + + + =
+ + + + + + + + + =
+ + + + + + + + + =
=
+ + + + =


B A
B A
f f
+ =
=
=


c) uporabom dualne funkcije [ ]
D D
f f =

104 Zbirka rijeenih zadataka

( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( )
( )
B A
B A A A
A B A
C C A B A
C A C A B A
C A B B C A C C B A
C A B C A B C A C B A C B A
C B A C B A C B A C A C B A f
D
=
+ =
+ =
+ + =
+ + + =
+ + + + + =
+ + + + + + + + + =
+ + + + + + + + + =


[ ]
B A
B A f
D
+ =
=


d) Ukoliko je funkcija zadana kao suma minterma, funkcija se moe direktno upisati u
K-tablicu. Ako to nije ispunjeno, funkciju moemo svesti na sumu minterma:

( )
( )

=
=
+ + + + + =
+ + + + + =
+ + + + =
7 , 6 , 5 , 4 , 1 , 0
4 , 1 , 6 , 5 , 7 , 0
) (
C B A C B A C AB C B A ABC C B A
C B A C B A C AB C B B A C B A
C B A C B A C AB AC C B A f


Drugi nain ako je funkcija zapisana kao suma produkata koji nisu nuno mintermi jer
analiza lan po lan. Jedini lan zadane funkcije koji nije minterm jest AC.
Zakljuujemo da je funkcija jednaka 1 kada su A i C jednaki 1, neovisno o ostalim
varijablama (u ovom sluaju o varijabli B). Pogledom u tablicu pronalazimo polja za
koja su A i C jednaka 1 i u njih upisujemo jedinice. Ostali lanovi su mintermi, pa njih
moemo upisati direktno.

Dobijemo sljedeu K-tablicu:
AB
00 01 11 10
C 0 1 1 1
1 1 1 1

A
B
C


U K-tablici potrebno je pronai to vea pravokutna podruja prekrivena jedinicama.
Vano je napomenuti da dimenzije stranica pravokutnika mogu biti iskljuivo potencije
broja dva. Pogledajmo u K-tablici polje ABC=110 (tu se nalazi upisana jedinica).
Susjedno polje na istoku (ili desno) takoer ima jedinicu. Zaokruimo li ova dva polja,
dobili smo pravokutnik dimenzija 12. Ta dva polja odgovaraju mintermima
C B A C AB + . Ovaj izraz moe se minimizirati: C A B B C A C B A C AB = + = + ) ( ! To
Minimizacija logikih funkcija. 105

takoer vidimo i u K-tablici. Naime, to zaokruenje cijelo se nalazi na podruju
varijable A, i na podruju od C , dok se dio nalazi na podruju od B a dio na podruju
od B . Dakle, moemo zakljuiti da B nema utjecaja i ostaje nam podruje odreeno
presjekom A i C , odnosno C A . No da li je to najbolje to smo mogli minimizirati?
Oito je da smo mogli cijelu desnu stranu tablice obuhvatiti pravokutnikom dimenzija
22, tj. polja ABC = 110, 111, 100 i 101, kao to to prikazuje sljedea tablica:

AB
00 01 11 10
C 0 1 1 1
1 1 1 1

A
B
C
A


Ovo zaokruenje nalazi se iskljuivo na podruju varijable A, dok o B i C ne ovisi jer se
protee i kroz njihove komplemente. Dakle, ovo zaokruenje odgovara funkciji f
1
=A.

Jo nismo gotovi jer je ostalo jo nezaokruenih jedinica. Npr. polje ABC = 000. Polje
juno takoer sadri jedinicu pa ih moemo prekriti pravokutnikom dimenzija 21.
Meutim, treba uoiti da ovo podruje ima susjede na istoku prekrivene jedinicama. To
su polja ABC=100 i 101, pa sve zajedno moemo obuhvatiti pravokutnikom dimenzija
22, kao na sljedeoj slici:

AB
00 01 11 10
C 0 1 1 1
1 1 1 1

A
B
C
A
B


To zaokruenje u potpunosti se nalazi na podruju od B , a ne ovisi o A i C, pa je:
B f =
2
. Time smo, preko f
1
i f
2
, pokrili sve jedinice u tablici, pa konana minimizirana
funkcija glasi:

B A f f f + = + =
2 1


e) Quine-McCluskey metoda

U d) dijelu zadatka raspisali smo funkciju f kao sumu minterma:

106 Zbirka rijeenih zadataka

( )

=
+ + + + =
7 , 6 , 5 , 4 , 1 , 0
C B A C B A C AB AC C B A f


Grupirajmo ove minterme prema broju jedinica (odgovara broju varijabli bez
komplementa u mintermu) i zapiimo to tablino:

Minterm
000 (0)
001
100
(1)
(4)
101
110
(5)
(6)
111 (7)

Minimizacija se provodi tako da se promatraju mintermi iz dviju susjednih grupa, te
kombiniraju, ako je to mogue. Tijekom cijelog postupka smiju se kombinirati samo oni
mintermi koji se razlikuju u jednom bitu. Kombiniranjem nastaje prikaz koji na mjestu
na kojem se pojavila razlika u bitu ima x (esto se umjesto x jo pie '-'). Npr.
Usporedimo prvi lan prve grupe sa prvim lanom druge grupe: 000 i 001. Razlikuju
se u jednom bitu, pa dobivamo 00x. Radimo novu tablicu u koju upisujemo dobivene
kombinacije kao i oznake minterma koje smo kombinirali. Budui da smo uspjeli
kombinirati minterme 000 i 001, to oznaavamo zvjezdicom:

Minterm
000 * (0) 00x (0,1)
001
100
* (1)
(4)

101
110
(5)
(6)

111 (7)

Prvi minterm prve grupe moemo jo kombinirati i s drugim mintermom druge grupe
(000 i 100 daju x00), pa i to zabiljeimo i oznaimo 100. Zatim ponovimo postupak
usporeujui svaki minterm iz druge grupe sa svakim mintermom iz tree grupe, itd.
Dobije se:

Minterm
000 * (0) 00x
x00
(0,1)
(0,4)
001
100
*
*
(1)
(4)
x01
10x
1x0
(1,5)
(4,5)
(4,6)
101
110
*
*
(5)
(6)
1x1
11x
(5,7)
(6,7)
111 * (7)

Sada ponavljamo postupak koristei novoizgraenu tablicu. Meutim, od sada na dalje
je potrebno upamtiti slijedee: kombiniranje je mogue samo ako postoji razlika u
jednom bitu (pri emu x-evi, ako postoje, moraju biti prisutni kod oba podatka koje
kombiniramo na istim mjestima, i tu ne moe biti razlike). Dodatno pravilo kae da ako
x koji smo umetnuli nije najljeviji u odnosu na ve postojee oznake x, tu kombinaciju
neemo zapisivati u novoj tablici (ali u staroj oznaavamo da smo napravili tu
Minimizacija logikih funkcija. 107

kombinaciju). Razlog za ovo pravilo je izbjegavanje duplikata. Naime, pokazuje se da
e se ista pokrata dobiti i na zahtijevani nain. Npr. 00x i x01 ne moemo kombinirati
jer postojei x-evi nisu na istim mjestima. 00x i 10x moemo kombinirati, i dobijemo
x0x, to biljeimo u novoj tablici, a u staroj uz 00x i 10x stavljamo zvjezdice. x00 i
x01 takoer moemo kombinirati, pri emu dobijemo x0x. Meutim, treba uoiti da
smo novi x stavili iza ve postojeeg, pa tu kombinaciju ne upisujemo u novu tablicu
(ve smo je dobili u prethodnom koraku), a u staroj tablici stavljamo zvjezdice uz x00 i
x01. Nastavimo li kombinirati do kraja, dobiti emo:

Minterm
000 * (0) 00x
x00
*
*
(0,1)
(0,4)
x0x (0,1,4,5)
001
100
*
*
(1)
(4)
x01
10x
1x0
*
*
*
(1,5)
(4,5)
(4,6)
1xx (4,5,6,7)
101
110
*
*
(5)
(6)
1x1
11x
*
*
(5,7)
(6,7)

111 * (7)

Pokuamo li ponovno kombinirati dobivene lanove, vidimo da to vie ne moemo, i tu
zaustavljamo postupak. Sada je potrebno pronai one lanove koje nismo koristili u
nekom od koraka (dakle, koji nemaju zvjezdicu). To su samo x0x i 1xx, odnosno B i A.

Iz ovih lanova kreiramo novu tablicu: stupci odgovaraju mintermima kojima je zadana
funkcija, a retci dobivenim lanovima iz prethodnog koraka. U tablici se ujedno oznai
koje minterme sadri (odnosno pokriva) koji lan.

0 1 4 5 6 7
B
(0,1,4,5)
9 9 9 9
A
(4,5,6,7) 9 9 9 9

Slijedei korak je pronalaenje onih lanova koji jedini pokrivaju neki minterm. Npr.
vidimo da B jedini pokriva minterm 0. To znai da je on primarni lan, i moramo ga
uzeti. No, ako smo uzeli njega, onda smo automatski pokrili i minterme 1, 4 i 5.
Oznaimo to:

0 1 4 5 6 7
B
(0,1,4,5)
9 9 9 9 8
A
(4,5,6,7) 9 9 9 9
8 8 8 8

Desno smo oznaili da smo uzeli B , a na dnu tablice smo oznaili koje smo sve
minterme pokrili. Ostali su nepokriveni mintermi 6 i 7, a njih sadri lan A. Kako je on
jedini koji ih sadri, on je takoer primaran lan. Uzmimo i njega, pa oznaimo to je
sve pokrio:

0 1 4 5 6 7
B
(0,1,4,5)
9 9 9 9 8
A
(4,5,6,7) 9 9 9 9 8
8 8 8 8 8 8
108 Zbirka rijeenih zadataka


Kako su svi mintermi pokriveni, zaustavljamo postupak, i oitavamo minimizirani oblik
funkcije:

B A f + =


5.9. Zadatak

Minimizirajte funkciju ( )

= 15 , 13 , 12 , 7 , 6 , 4 , 3 , 2 , 1 , 0 f pomou Quine-McCluskey metode.




Prvi dio postupka obuhvaa iterativnu primjenu zakona simplifikacije = + A A .

Minterm
0000 * (0) 000x
00x0
0x00
*
*
*
(0,1)
(0,2)
(0,4)
00xx
0xx0

(0,1,2,3)
(0,2,4,6)
0001
0010
0100
*
*
*
(1)
(2)
(4)
00x1
001x
0x10
01x0
x100
*
*
*
*

(1,3)
(2,3)
(2,6)
(4,6)
(4,12)
0x1x

(2,3,6,7)
0011
0110
1100
*
*
*
(3)
(6)
(12)
0x11
011x
110x
*
*

(3,7)
(6,7)
(12,13)


0111
1101
*
*
(7)
(13)
x111
11x1


(7,15)
(13,15)


1111 * (15)


Drugi dio postupka pronalazi primarne lanove (one koji jedini prekrivaju neki od
minterma), te zatim od preostalih lanova pronalazi najmanji broj onih koji pokrivaju
sve ostale minterme. Tablica preostalih lanova:

0 1 2 3 4 6 7 12 13 15
D C B
(4,12) 9 9 P
0

C AB
(12,13) 9 9 P
1

BCD
(7,15)
9 9 P
2

ABD
(13,15)
9 9 P
3

B A
(0,1,2,3) 9 9 9 9 8 P
4

D A
(0,2,4,6) 9 9 9 9 P
5

C A
(2,3,6,7) 9 9 9 9 P
6

8 8 8 8

Nepokriveni su mintermi: 4, 6, 7, 12, 13 i 15.
Minimizacija logikih funkcija. 109

Kako imamo nepokrivenih minterma, potrebno je odluiti koje jo produkte treba
ukljuiti kako bismo dobili potpuno pokrivanje. Naravno, pri tome treba paziti da se
odabere upravo minimalno potreban broj. Postoji vie naina za donoenje ove odluke,
a jedan od njih bit e opisan u nastavku, i poznat je pod nazivom Pyne-McCluskey
pristup. Kao to emo vidjeti, mogue je da u minimalnom obliku funkcija ima vie
moguih prikaza, koji su svi jednakovrijedni.
.
Pyne-McCluskey pristup

Svim lanovima dajemo imena P
i
, i=0, ..., 6. Definiramo funkciju pokrivenosti
minterma p, koja se izvodi iz zahtjeva da svi mintermi koji nisu pokriveni primarnim
lanovima budu pokriveni.


ostalo
p
+ + =
+ + =
=
5 2 1 6 3 0
2 1 3 5 2 6 5 1 0
3 2 3 1 1 0 6 2 6 5 5 0
P P P P P P
) P P )(P P P )(P P P + (P
) P + )(P P + )(P P + )(P P + )(P P + )(P P + (P


(ostalo su lanovi s etiri ili vie varijabli)

Dakle, dvije su mogunosti. Moemo ukljuiti jo lanove P
0
, P
3
i P
6
, ili lanove P
1
, P
2
i
P
5
. Ovisno o tome, dobiju se slijedee funkcije:

C A ABD D C B B A f + + + =

ili

D A BCD C AB B A f + + + =

Napomena: kod funkcije p traimo produkt koji sadri minimalni broj lanova. To je
opet minimizacijski problem jer e produkt sa minimalnim brojem lanova sigurno biti
dio minimalnog zapisa funkcije. Zbog toga prethodno opisani pristup gdje se sve
izmnoi ne mora uvijek odgovarati minimalnom skupu, ve se ovaj podproblem moe
ponovno napasti nekim od minimizacijskih postupaka (ak i Quinne-McCluskey
metodom).

Za vjebu.

Minimizirati ovu funkciju K-tablicom. Ako se rezultat ne slae, gdje je pogreka?

110 Zbirka rijeenih zadataka


5.10. Zadatak

Metodom Quine-McCluskey minimizirati funkciju ( )

= 5 10,11,12,1 4,5,7,8,9, f .


Minterm
0100
1000
*
*
(4)
(8)
010x
x100
100x
10x0
1x00


*
*

(4,5)
(4,12)
(8,9)
(8,10)
(8,12)
10xx (8,9,10,11)
0101
1001
1010
1100
*
*
*
*
(5)
(9)
(10)
(12)
01x1
10x1
101x

*
*
(5,7)
(9,11)
(10,11)

0111
1011
*
*
(7)
(11)
x111
1x11


(7,15)
(11,15)

1111 * (15)

Ostali su sljedei nekombinirani lanovi: 010x, x100, 1x00, 01x1, x111, 1x11 i 10xx,
to odgovara redom: C B A , D C B , D C A , BD A , BCD, ACD i B A . Napravimo
tablicu pokrivenosti minterma:
4 5 7 8 9 10 11 12 15
C B A
(4,5) 9 9
D C B
(4,12) 9 9
D C A
(8,12) 9 9
BD A
(5,7) 9 9
BCD
(7,15)
9 9
ACD
(11,15)
9 9
B A
(8,9,10,11) 9 9 9 9

Minterm 9 pokriven je samo s jednim lanom ( B A ), pa je taj lan primarni. Oznaimo
to je sve pokriveno tim lanom:

4 5 7 8 9 10 11 12 15
C B A
(4,5) 9 9 P
0

D C B
(4,12) 9 9 P
1

D C A
(8,12) 9 9 P
2

BD A
(5,7) 9 9 P
3

BCD
(7,15)
9 9 P
4

ACD
(11,15)
9 9 P
5

B A
(8,9,10,11) 9 9 9 9 8 P
6

8 8 8 8
Svi ostali nepokriveni mintermi pokriveni su s vie od jednog preostalog lana, pa se
postavlja pitanje koje jo lanove odabrati, tako da se pokriju svi mintermi, a zadri
minimalnost funkcije? Rjeenje nudi Pyne-McCluskeyev pristup: iskaz "potrebno je
pokriti preostale lanove" treba zapisati kao Booleovu funkciju, i pronai onaj produktni
Minimizacija logikih funkcija. 111

lan te funkcije koji sadri minimalni broj varijabli. U prethodnoj tablici svi su lanovi
imenovani (P
0
= C B A , P
1
=...). Da bismo pokrili minterm 4, trebamo uzeti P
0
ili P
1
, i da
bismo pokrili minterm 5, trebamo uzeti P
0
ili P
3
, i da bismo pokrili minterm 7, trebamo
uzeti P
3
ili P
4
, i da bismo pokrili minterm 12, trebamo uzeti P
1
ili P
2
, i da bismo pokrili
minterm 15, trebamo uzeti P
4
ili P
5
. Ovo moemo zapisati u obliku funkcije (obratiti
panju na podebljane 'i' i 'ili' u prethodnoj reenici):

( )( )( )( )( )
5 4 3 2 1 5 4 3 1 5 3 2 1 4 3 2 1
5 3 1 4 3 1 5 4 2 1 0 4 2 1 0 5 3 2 1 0
4 3 2 1 0 5 4 3 2 0 5 4 3 1 0 5 4 2 0 4 2 0
5 4 1 0 4 1 0 5 3 2 0 4 3 2 0 5 3 1 0 4 3 1 0
5 4 2 1 4 3 3 0 1 0
P P P P P + P P P P + P P P P + P P P P +
P P P + P P P + P P P P P + P P P P + P P P P P +
P P P P P + P P P P P + P P P P P + P P P P + P P P +
P P P P + P P P + P P P P + P P P P + P P P P + P P P P
P P P P P P P P P P
=
+ + + + + = p


Minimalni broj varijabli u produktima iznosi 3, i to u dva sluaja. Dakle, moemo uzeti
jo sljedee lanove:

P
0
, P
1
i P
4
, tj. C B A , D C B i BCD
P
0
, P
2
i P
4
, tj. C B A , D C A i BCD
P
1
, P
3
i P
4
, tj. D C B , BD A i BCD
P
1
, P
3
i P
5
, tj. D C B , BD A i ACD

Tada su minimalni oblici funkcije redom:

f = B A + C B A + D C B + BCD
f = B A + C B A + D C A + BCD
f = B A + D C B + BD A + BCD
f = B A + D C B + BD A + ACD

Svi ovi oblici su minimalni.

5.11. Zadatak

Metodom K-tablica minimizirati funkciju:

( ) ( )

+ = 23,24,25 ,16,19,20, 1,5,7,8,11 1 21,26,27,3 0,4,10,17, d m f .


Osim to imamo zadan popis minterma (za koje funkcija poprima 1), imamo zadan i
popis kombinacija za koje nam je vrijednost funkcije nebitna (npr. jer se takav ulaz
nikada nee niti dogoditi), to je oznaeno sumom d-lanova. Budui da nam na tim
mjestima vrijednost funkcije nije bitna, na nekim mjestima emo smatrati da funkcija
poprima 1, a na nekima 0, kako bismo dobili to minimalniji oblik. Minimizacija se
provodi na standardni nain, s time da zaokruenja smijemo iriti i na podruja
prekrivena x-evima (smatrajui da tamo pie 1). No, kao i uvijek, postupak je potrebno
provoditi tako dugo dok se ne pokriju sve jedinice. Ako neki od x-eva ostane
nepokriven, smatrati emo da je vrijednost funkcije na tom mjestu ba nula, pa to
neemo niti trebati pokrivati.
112 Zbirka rijeenih zadataka

ABC
000 001 011 010 100 101 111 110
DE 00 1 1 X X X X
01 X X 1 1 X
11
X X X X 1 1
10
1 1

D B
D C B
ADE
B
C
B
C
D
E
D
E


Koristili smo tablicu za 5 varijabli koja se temelji na 3D prikazu, a ne direktno na
Grayevom kodu (vidi dodatak K-tablice).

Npr. x-eve na 10000 i 10100 promatrali smo kao jedinice, kako bismo dobili to vee
zaokruenje kod jedinica 10001 i 10101, dok smo x-eve na 01000 i 00111 zanemarili.


5.12. Zadatak

Metodom K-tablica minimizirati funkciju:

( )

= 8,10,11 0,2,3,6,7, f .



AB
00 01 11 10
CD 00 0 0
01
11
0 0 0
10
0 0 0

A
B
C
D
C A
C B
D B


Prilikom minimizacije nule gledamo kao jedinice, i obavimo klasinu minimizaciju,
ime zapravo dobijemo minimizirani komplement funkcije:

Minimizacija logikih funkcija. 113

C B D B C A f + + =

pa je:

) )( )( ( C B D B C A f f + + + = =

Komentar: Zato su polja 0000, 1000, 0010 i 1010 susjedna? Sigurno znamo da su polja
0000 i njegovo zapadno polje 1000 susjedni. Meutim, ta dva polja imaju na sjeveru
polja 0010 i 1010 sa kojima su susjedna, pa se ta etiri polja mogu obuhvatiti
pravokutnikom dimenzija 22.

5.13. Zadatak

Metodom K-tablica minimizirati funkciju:

( ) ( )

+ = 3 2,7,8,10,1 5,9,12,15 d m f .



AB
00 01 11 10
CD 00 1 X
01 1 X 1
11
X 1
10
X X

A
B
C
D
C A
BD


BD C A f + =

5.14. Zadatak

Metodom K-tablica minimizirati funkciju ( )

= 15 , 13 , 11 , 10 , 9 , 8 , 7 , 4 , 2 , 0 ) , , , ( m D C B A f :
a) kao minimalnu sumu parcijalnih produkata,
b) kao minimalne produkte parcijalnih suma.


a) Pronalaenje minimalne sume parcijalnih produkata:
114 Zbirka rijeenih zadataka

AB
00 01 11 10
CD 00 1 1 1
01 1 1
11
1 1 1
10
1 1

AD
BCD
D C A
D B


D C A AD BCD D B f + + + =

b) Pronalaenje minimalog produkta parcijalnih suma:


AB
00 01 11 10
CD 00 0
01 0 0
11
0
10
0 0

D AB
D BC
D B A
D C A


D BC D C A D B A D AB f + + + =
( )( )( )( ) D C B D C A D B A D B A f + + + + + + + + =

5.15. Zadatak

K-tablicama minimizirati funkciju ( )

= 15 , 14 , 13 , 12 , 3 , 1 ) , , , ( m D C B A f ako je poznato da za
ulazne varijable uvijek vrijedi 1 = + D B .


Minimizacija logikih funkcija. 115

Iz injenice da e za ulazne varijable uvijek vrijediti izraz 1 = + D B , zakljuujemo da
se nikada nee dogoditi da na sklop koji realizira zadanu funkciju doe ulaz za koji
tvrdnja ne vrijedi, tj:

1 0 1 1 = + = + D B D B D B D B

Ovaj je umnoak jednak 1 kada su oba njegova elementa istovremeno jednaka 1, dakle
1 1 = = D B , odnosno 0 0 = = D B (neovisno o A i C), to daje minterme oblika
ABCD = 00, dakle minterme m
0
, m
2
, m
8
, m
10
. Kako se ti mintermi nikada nee
pojaviti, u svrhu minimizacije moemo ih tretirati kao don't care. Tada je postupak
minimizacije prikazan u nastavku.


AB
00 01 11 10
CD 00 X 1 X
01 1 1
11
1 1
10
X 1 X

AB
B A


B A AB f + =

5.16. Zadatak

Zadana je funkcija
( ) ( )

+ = 23,24,25 ,16,19,20, 1,5,7,8,11 1 21,26,27,3 0,4,10,17, ) , , , , ( d m E D C B A f
Minimizirati funkciju uporabom Quine-McCluskey metode.


Postupak rjeavanja slian je standardnom postupku, uz neke modifikacije:

1. Uz svaki se produkt vodi status produkta (u postupku e biti oznaen D:
zastavicom gdje e vrijednost bita 1 oznaavati da je cijeli produkt zanemariv, tj.
dontcare, a vrijednost 0 da je produkt nezanemariv, odnosno sadri barem jednu
jedinicu koja je bitna za funkciju).

2. Prilikom kombiniranja produkata u svrhu minimizacije, D: polje rezultata je
logika I operacija D: polja kombiniranih produkata (to je intuitivno jasno -
minimizirani produkt je i dalje zanemariv samo ako su oba produkta koja su se
minimizirala bili zanemarivi).

116 Zbirka rijeenih zadataka

Postupak zapoinje tako da se generira poetna tablica koja sadri sve navedene
minterme (bitne i zanemarive) naravno, oznaene D: zastavicom. Nakon to se
provede prvi korak do kraja, u drugom se koraku generira klasina tablica koja u
stupcima sadri samo one minterme koji nisu bili zanemarivi, a u retcima samo one
produkte koji nisu bili oznaeni, i dodatno, koji nemaju zastavicu D: postavljenu na 1.

Evo rjeenja:

00000 * D:0 (0)

00X00 * D:0 (0, 4)
0000X * D:0 (0, 1)
0X000 * D:0 (0, 8)
X0000 * D:0 (0, 16)

X0X00 * D:0 (0, 4, 16, 20)
00X0X * D:0 (0, 1, 4, 5)
X000X * D:0 (0, 1, 16, 17)
XX000 D:0 (0, 8, 16, 24)

X0X0X D:0
(0,1,4,5,16,17,20,
21)

00100 * D:0 (4)
00001 * D:1 (1)
01000 * D:1 (8)
10000 * D:1 (16)

0010X * D:0 (4, 5)
X0100 * D:0 (4, 20)
X0001 * D:0 (1, 17)
00X01 * D:1 (1, 5)
010X0 * D:0 (8, 10)
X1000 * D:1 (8, 24)
1000X * D:0 (16, 17)
10X00 * D:1 (16, 20)
1X000 * D:1 (16, 24)

X010X * D:0 (4, 5, 20, 21)
X0X01 * D:0 (1, 5, 17, 21)
X10X0 D:0 (8, 10, 24, 26)
10X0X * D:0 (16, 17, 20, 21)
1X00X D:0 (16, 17, 24, 25)


01010 * D:0 (10)
10001 * D:0 (17)
00101 * D:1 (5)
10100 * D:1 (20)
11000 * D:1 (24)

X1010 * D:0 (10, 26)
0101X * D:0 (10, 11)
10X01 * D:0 (17, 21)
100X1 * D:0 (17, 19)
1X001 * D:0 (17, 25)
X0101 * D:0 (5, 21)
001X1 * D:1 (5, 7)
1010X * D:0 (20, 21)
110X0 * D:0 (24, 26)
1100X * D:1 (24, 25)

X101X D:0 (10, 11, 26, 27)
10XX1 D:0 (17, 19, 21, 23)
1X0X1 D:0 (17, 19, 25, 27)
X01X1 D:0 (5, 7, 21, 23)
110XX D:0 (24, 25, 26, 27)


10101 * D:0 (21)
11010 * D:0 (26)
00111 * D:1 (7)
01011 * D:1 (11)
10011 * D:1 (19)
11001 * D:1 (25)

101X1 * D:0 (21, 23)
1101X * D:0 (26, 27)
X0111 * D:1 (7, 23)
X1011 * D:0 (11, 27)
1X011 * D:0 (19, 27)
10X11 * D:1 (19, 23)
110X1 * D:0 (25, 27)

1XX11 D:0 (19, 23, 27, 31)


11011 * D:0 (27)
10111 * D:1 (23)

11X11 * D:0 (27, 31)
1X111 * D:0 (23, 31)


11111 * D:0 (31)



Pogledajmo kako smo primjenjivali pojedina pravila. U prvoj koloni tablice nalaze se
samo mintermi (dakle, produkti s maksimalnim brojem varijabli) grupirani po broju
jedinica. Prvi minterm u prvoj grupi ima D: 0; to je zato to je taj minterm naveden u
popisu bitnih minterma (dakle, nije dontcare). Drugi minterm u drugoj grupi (00001)
ima D: 1 jer je to minterm 1 koji je naveden u listi dontcare funkcije f.

Pogledajmo sada drugi stupac. Kombiniranjem minterma 0 i 1 dobili smo minterm
0000X uz D: 0. To je zato to je u tu kombinaciju ukljuen implikant 0 koji je bitan za
funkciju pa je i cijeli produkt bitan za funkciju, odnosno nije dontcare. Meutim, kada
smo kombinirali minterme 1 i 5, dobili smo produkt 00X01 koji ima D: 1, tj. cijeli
produkt je zanemariv. Razlog lei u injenici da smo kombinirali minterme 1 i 5 koji su
oba zanemarivi, pa je i nastali produkt zanemariv. No zato su nam uope potpuno
zanemarivi produkti bitni? Postoji mogunost da e se u budunosti neki takav nebitni
produkt ipak spojiti s nekim bitnim to e pomoi u minimizaciji funkcije. Da je to
istina, pogledajmo upravo na nebitnom produktu (1,5). U treem stupcu taj smo produkt
Minimizacija logikih funkcija. 117

kombinirali s nezanemarivim produktom (0,4), i dobili produkt (0,1,4,5) koji je takoer
nezanemariv.
Pogledajmo sada i drugi korak.

0 4 10 17 21 26 27 31
c'd'e' (0, 8, 16, 24) 8 P0
bc'e' (8, 10, 24, 26)
8 8 P1
ac'd' (16, 17, 24, 25)
8 P2
bc'd (10, 11, 26, 27)
8 8 8 P3
ab'e (17, 19, 21, 23)
8 8 P4
ac'e (17, 19, 25, 27)
8 8 P5
b'ce (5, 7, 21, 23)
8 P6
abc' (24, 25, 26, 27)
8 8 P7
ade (19, 23, 27, 31)
8 8 9 P8
b'd' (0, 1, 4, 5, 16, 17, 20, 21) 8 8 8 8 9 P9
9 9 9 9 9 9


Uoavamo da postoje neoznaeni mintermi. Zbog toga primjenjujemo Pyne-McCluskey
pristup za pronalaenje minimalnog broja produkata koji ih pokriva.

Zahtjev:
( )( ) 7 3 1 3 1 P P P P P p + + + =

Rjeenje jednadbe:
7 3 3 7 1 3 1 1 P P P P P P P P p + + + + =

Rjeenja s minimalnim brojem lanova su:
P1
P3

Postoje dakle dva minimalna oblika funkcije f:

1. f = bc'e' + ade + b'd'
2. f = bc'd + ade + b'd'


5.17. Zadatak

Zadane su funkcije
( )

= 15 , 11 , 5 , 4 , 2 , 1 , 0
1
f , ( )

= 15 , 13 , 4 , 2 , 0
2
f , ( )

= 15 , 13 , 7 , 5 , 4 , 3 , 1 , 0
3
f .
Pronai minimalni oblik ovih funkcija takav da je ukupni broj produkata u svim funkcijama
minimalan.


Ovaj problem moe se rijeiti uporabom Quine-McCluskey postupka opisanog u
nastavku. Postupak je slian standardnom postupku, uz neke modifikacije:

118 Zbirka rijeenih zadataka

Uz svaki se produkt vodi popis pripadnosti tog produkta pojedinim funkcijama
(u postupku e biti oznaen F: poljem gdje e i-ti bit oznaavati pripadnost (1)
ili odsustvo (0) i-toj funkciji.
Prilikom kombiniranja produkata u svrhu minimizacije, F: polje rezultata je
logika I operacija F: polja kombiniranih produkata (to je intuitivno jasno -
minimizirani produkt pripada i-toj funkciji samo ako oba produkta koja su se
minimizirala pripadaju i-toj funkciji). Ukoliko je F: polje rezultata jednako 0,
tada se taj minimizirani produkt odbacuje.
Prilikom kombiniranja produkata u svrhu minimizacije oznaavaju se samo oni
produkti ije je F: polje jednako F: polju kombiniranog produkta! Inae se
produkt ne oznaava (iako je iskoriten za kombiniranje).

Uz ove napomene postupak je sljedei. U prvoj fazi pronalaze se primarni implikanti
(produkti). Zatim se konstruira tablica pokrivanja primarnih implikanata i minterma za
sve funkcije. Trae se bitni primarni implikanti. Ukoliko sve funkcije nakon
pronalaenja bitnih primarnih implikanata nisu pokrivene, provodi se Pyne-McCluskey
kako bi se dobilo potpuno pokrivanje s minimalnim brojem preostalih implikanata.
Konano se u zadnjem koraku trai minimalno pokrivanje za svaku funkciju posebno, a
ukoliko to nije odmah vidljivo, moe se ponoviti Pyne-McCluskey samo za odreenu
funkciju.

0000 * F:111 (0) 000X * F:101 (0, 1)
00X0 F:110 (0, 2)
0X00 F:111 (0, 4)
0X0X F:101 (0, 1, 4, 5)
0001 * F:101 (1)
0010 * F:110 (2)
0100 * F:111 (4)
0X01 * F:101 (1, 5)
00X1 * F:001 (1, 3)
010X * F:101 (4, 5)
0XX1 F:001 (1, 3, 5, 7)
0101 * F:101 (5)
0011 * F:001 (3)
X101 * F:001 (5, 13)
01X1 * F:001 (5, 7)
0X11 * F:001 (3, 7)
X1X1 F:001 (5, 7, 13, 15)
1011 * F:100 (11)
1101 * F:011 (13)
0111 * F:001 (7)
1X11 F:100 (11, 15)
11X1 F:011 (13, 15)
X111 * F:001 (7, 15)

1111 F:111 (15)


f
1
f
2
f
3

0 1 2 4 5 11 15 0 2 4 13 15 0 1 3 4 5 7 13 15
abcd 8 8 8 P0
a'b'd' 8 8 8 8 9 P1
a'c'd' 8 8 8 8 8 8 9 P2
acd 8 8 9 P3
abd 8 8 8 8 9 P4
a'c' 8 8 8 8 8 8 8 8 9 P5
a'd 8 8 8 8 9 P6
bd 8 8 8 8 P7
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9

Minimizacija logikih funkcija. 119

Pronaeni bitni primarni implikanti P1-P6 pokrivaju sve minterme i dovoljni su za
realizaciju svih funkcija (produkti P0 i P7 automatski se ne smiju koristiti elimo li
zaista minimalni zapis funkcija).

Sada treba samo uporabom dozvoljenih produkata (P1-P6) pokriti svaku funkciju, ali na
minimalan nain. Provedemo li postupak odabira bitnih primarnih implikanata u
prethodnoj tablici samo za f
1
, dobiti emo potpuno pokrivanje, i minimalni oblik:

f
1
= a'b'd' + acd + a'c'

Provjera za f
2
takoer daje jednoznaan rezultat:

f2 = a'b'd' + a'c'd' + abd

Meutim, kod f
3
nemamo potpuno pokrivanje. Ostanu nam mintermi 0, 4, 13 i 15 koje
treba pokriti. Primjenom Pyne-McCluskey metode dobijemo:
5 2 5 2 ) 5 2 )( 5 2 ( P P P P P P P P p + + = + + =

Rjeenja s minimalnim brojem lanova su P2 i P5, to vodi na dvije mogue minimalne
implementacije funkcije f
3
:

f3 = a'c'd' + abd + a'd

f3 = abd + a'c' + a'd

5.18. Zadatak

Minimizirati funkciju
( )
= 15 , 14 , 13 , 9 , 7 , 5 , 4 , 3 m f .


Na ovom primjeru pokazat emo jednu od estih pogreaka koje se dogaaju prilikom
minimizacije. Krenimo u minimizaciju tako da pronaemo najvee mogue zaokruenje
minterme 5, 7, 13 i 15, kao to je prikazano na slici.

AB
00 01 11 10
CD 00 1
01 1 1 1
11
1 1 1
10
1

A
B
C
D
BD


120 Zbirka rijeenih zadataka

Minimizirajmo i preostale lanove:

AB
00 01 11 10
CD 00 1
01 1 1 1
11
1 1 1
10
1

A
B
C
D
D C A
BD
ABC
CD A
C B A


Na prvi pogled izgleda da je rezultat minimizacije funkcija:

D C A C B A CD A ABC BD f + + + + =

No analizirajmo sada malo bolje prvo zaokruenje koje smo napravili. Osnovna ideja
minimizacije jest pokriti sve minterme, ali tako da se u svakom zaokruenju nalazi
barem jedan minterm kojeg ne pokriva niti jedno drugo zaokruenje to je uvjet
minimalnosti. No kao to vidimo, minterm 5 spojen je i s mintermom 4, minterm 7 i s
mintermom 3, minterm 13 i s mintermom 9 a minterm 15 i s mintermom 14. Dakle,
svaki od ta etiri minterma dodatno je pokriven nekim drugim zaokruenjem, te je stoga
redundantan. To veliko zaokruenje treba izbaciti iz dobivenog izraza, kako bismo
dobili minimalni oblik.

Konani rezultat minimizacije prikazan je slikom:

AB
00 01 11 10
CD 00 1
01 1 1 1
11
1 1 1
10
1

A
B
C
D
D C A
ABC
CD A
C B A


Minimalni oblik zadane funkcije tada je:

Minimizacija logikih funkcija. 121

D C A C B A CD A ABC f + + + =

Pokuajmo sada razmiljati na drugi nain. Izbacili smo najvee zaokruenje, a ostavili
manja (dakle, koja ovise o vie varijabli). Moemo li nekako ipak to najvee
zaokruenje ostaviti, a manja proglasiti redundantima? Npr. pokuajmo sa
zaokruenjem koje obuhvaa minterme 3 i 7. Kada bi veliko zaokruenje ostalo, ono bi
pokrivalo minterm 7. No minterm 3 nitko drugi ne pokriva! A budui da prilikom
minimizacije uvijek traimo najvea mogua zaokruenja, minterm 3 nuno emo
pokriti zaokruenjem koje se protee preko minterma 7. Dakle, zaokruenje 3 i 7 nuno
ostaje. Slinu analizu moemo provesti i za ostala dvolana zaokruenja. Svako od njih
pokriva jedan minterm koji nitko drugi ne pokriva. Konaan rezultat analize slae se,
dakle, s prethodnim rjeenjem potrebno je odbaciti veliko zaokruenje.

Ovakve pogreke vrlo su este u rjeavanju zadatka minimizacije. Zbog toga je nakon
postupka minimizacije uvijek potrebno provjeriti uvjet minimalnosti:

Uvjet minimalnosti svako zaokruenje koje ulazi u minimalni oblik funkcije mora
imati barem jedan minterm (ili maksterm) koji je pokriven iskljuivo njime.

Iz ovog pravila slijedi i uvjet redundantnosti:

Uvjet redundantnosti zaokruenje iji je svaki minterm (ili maksterm) pokriven jo
nekim zaokruenjem jest redundantno.

5.19. Zadatak

Minimizirati funkciju ( )

= 15 , 13 , 11 , 10 , 9 , 8 , 2 , 0 m f .


Pokaimo opet "toan" nain rjeavanja:

AB
00 01 11 10
CD 00 1 1
01 1 1
11
1 1
10
1 1

D B
AD
B A


122 Zbirka rijeenih zadataka

Dakle, imamo veliko zaokruenje skroz desno ( B A ), veliko zaokruenje u sredini
( AD), i veliko zaokruenje minterma u kutevima tablice ( D B ).

Rjeenje je, dakako, krivo! Paljivom analizom moe se uoiti da je prvo zaokruenje
( B A ) redundantno (moete li objasniti zato?). Ispravno rjeenje tada je:

AB
00 01 11 10
CD 00 1 1
01 1 1
11
1 1
10
1 1

D B
AD


Minimalni oblik funkcije glasi:

D A D B f + =


5.20. Zadatak

Zadana je funkcije f koja za ulazni trobitni binarno kodirano broj odreuje da li je broj djeljiv
sa 4.
a) pronai minimalni oblik funkcije f,
b) pronai minimalni oblik funkcije f, ako je poznato da e sklop koji obavlja ovu funkciju
ulaz dobivati sa sklopa koji obavlja kvadriranje.


a) prikaimo funkciju tablino:

n b
2
b
1
b
0
f
0 0 0 0 1
1 0 0 1 0
2 0 1 0 0
3 0 1 1 0
4 1 0 0 1
5 1 0 1 0
6 1 1 0 0
7 1 1 1 0
Minimizacija logikih funkcija. 123


b
1
b
0

00 01 11 10
b
2
0 1
1 1

0 1
b b
b
1
b
0
b
2


0 1
b b f =

b) ako je ulaz sklopa koji ostvaruje funkciju f spojen na izlaz sklopa koji obavlja
kvadriranje, tada se na njegovom izlazu mogu pojaviti samo brojevi 0, 1 i 4 jer su to
jedini kvadrati cijelih brojeva koji se mogu u binarnom zapisu zapisati pomou tri bita.
No to znai da nam je rezultat funkcije f bitan samo u ta tri sluaja, a ostalo nas nije
briga. Zbog toga tablini prikaz funkcije korigiramo kao to je prikazano u nastavku.

n b
2
b
1
b
0
f
0 0 0 0 1
1 0 0 1 0
2 0 1 0

3 0 1 1

4 1 0 0 1
5 1 0 1

6 1 1 0

7 1 1 1


b
1
b
0

00 01 11 10
b
2
0 1

1 1


0
b
b
1
b
0
b
2


0
b f =


124 Zbirka rijeenih zadataka

5.21. Pismeni ispit, 25. 02. 2004, 1. zadatak

Zadana je dvoizlazna funkcija f=[f
1
, f
2
] pri emu su izlazi definirani sljedeim izrazima:
( ) ( )

= 10 , 8 , 6 , 2 , 1 , 0 , , ,
1
m D C B A f i ( ) ( )

= 15 , 14 , 13 , 12 , 11 , 9 , 5 , 4 , 3 , 2 , 1 , 0 , , ,
2
M D C B A f .
Pronai njezin minimalni oblik koristei Quine-McCluskey metodu minimizacije za
vieizlazne funkcije.


Funkcija f
2
nije zadana u prikladnom obliku za Quinne-McCluskey metodu trebamo
njezin zapis u obliku sume minterma. Slijedi:

= ) 10 , 8 , 7 , 6 (
2
m f .

Dalje je postupak standardan.

0000 * F:10 (0) 000X F:10 (0, 1)
00X0 * F:10 (0, 2)
X000 * F:10 (0, 8)
X0X0 F:10 (0, 2, 8, 10)
0001 * F:10 (1)
0010 * F:10 (2)
1000 * F:11 (8)
0X10 F:10 (2, 6)
X010 * F:10 (2, 10)
10X0 F:11 (8, 10)

0110 F:11 (6)
1010 * F:11 (10)
011X F:01 (6, 7)
0111 * F:01 (7)

f
1
f
2

0 1 2 6 8 10 6 7 8 10
a'bcd' 8 8 P0
a'b'c' 8 8 9 P1
a'cd' 8 8 P2
ab'd' 8 8 8 8 9 P3
a'bc 8 8 9 P4
b'd' 8 8 8 8 P5
9 9 9 9 9 9 9 9

Iz tablice se vidi da postoje neki neoznaeni mintermi. Potrebno je primijeniti Pyne-
McCluskey pristup za pronalaenje minimalnog broja produkata koji ih pokriva, a jo
nisu oznaeni (P0, P2, P5).
( ) ( )
5 2 5 0 2 0 2 2 0 5 2 P P P P P P P P P P P p + + + = + + =

Minimalno pokrivanje postie se dodavanjem produkta P2. Produkte P0 i P5 tada se ne
smije koristiti, pa emo ih izbaciti iz tablice:

f
1
f
2

0 1 2 6 8 10 6 7 8 10
a'b'c' 8 8 P1
a'cd' 8 8 P2
ab'd' 8 8 8 8 P3
a'bc 8 8 P4

Minimizacija logikih funkcija. 125


Sada treba na temelju dobivene tablice minimizirati svaku funkciju posebno. Imamo:

f
1

0 1 2 6 8 10
a'b'c' 8 8 9 P1
a'cd' 8 8 9 P2
ab'd' 8 8 9 P3
a'bc P4
9 9 9 9 9 9

D B A D C A C B A f + + =
1


f
2

6 7 8 10
a'b'c' P1
a'cd' P2
ab'd' 8 8 9 P3
a'bc 8 8 9 P4
9 9 9 9

BC A D B A f + =
2


5.22. Pismeni ispit, 10. 10. 2003, 3. zadatak

Funkcije f(A,B,C,D) i g(A,B,C,D) zadane su
slikom. Metodom K-tablica izraunati
minimalni oblik funkcije
g f z =
, ako je
poznato da e uvijek vrijediti:
( ) ( ) 0 = + + D A B A D B
.


U sluaju da imamo tablini prikaz funkcija, zadatak moemo rjeavati na dva naina.
Prvi nain podrazumijeva oitavanje algebarskog oblika svake od funkcija f i g,
obavljanje zadane operacije nad njima kako je to definirano izrazom funkcije z, i zatim
zapis funkcije z natrag u tablini oblik kako bismo mogli obaviti minimizaciju.

Drugi nain (koji emo i koristiti u nastavku) prestavlja direktan rad s tablinim
oblikom funkcija (ime se izbjegava pretvorba u algebarski oblik i vraanje natrag).
Naime, vrijedi sljedee. Ako tablini zapis funkcije promatramo kao matricu, tada e
(uz zadan izraz za z) vrijediti:

) , ( ) , ( ) , ( j i g j i f j i z =

Dakle, definiranu operaciju treba jednostavno primijeniti za svaki par elemenata tablice.
Dobije se sljedei prikaz funkcije z:

f AB
1 0 0 0
0 1 1 0
1 0 0 1
CD
0 1 1 0

g AB
0 1 0 1
0 1 0 0
0 0 1 0
CD
0 1 1 1

126 Zbirka rijeenih zadataka

z:
AB
0 0 1 0
1 1 0 1
0 1 0 0
CD
1 1 1 0

Prije no to krenemo na minimizaciju, moramo jo iskoristiti sve to bi moglo dodatno
pridonijeti minimizaciji. Budui da znamo da e uvijek vrijediti izraz:

0 ) ( ) ( = + + D A B A D B

slijedi:

0 0 ) ( 0 ) ( ) ( = = + = + + D A B B D A D A B D A B

Odavde moemo oitati koje se kombinacije ulaznih varijabli nikada nee pojaviti kod
funkcije, te ih moemo proglasiti don't care vrijednostima. Ako to jo nije oito,
moemo si pomoi i dalje. Naime, ako e prethodni izraz uvijek vrijediti, tada njegov
komplement nikada nee vrijediti:

0 1 0 0 = + + = D A D A D A D A

Dakle, nikad nee biti A+D jednako 0, to znai da su oni mintermi kod koji su A i D
istovremeno jednaki 0 (jer je tada i A ILI D jednako 0) zapravo don't care mintermi. To
su redom m
0
, m
2
, m
4
i m
6
. Oznaimo te minterme u tablici, i krenimo na minimizaciju.

Minimizacijom tada slijedi:

z: AB
00 01 11 10
CD 00

1
01 1 1 1
11
1
10

1

A
B
C
D
D B
D C B
B A


D C B D B B A z + + =


Minimizacija logikih funkcija. 127

5.23. Zadatak

Zadana je funkcija
( )
= 7 , 6 , 5 , 1 ) , , ( C B A f . Funkciju je potrebno realizirati uporabom I, ILI i
NE logikih sklopova. Pri tome pretpostaviti da izlaz svakog od osnovnih logikih sklopova
kasni 10 ns.
a) Analizirati rad sklopa koji direktno realizira funkciju.
b) Minimizirati funkciju, prikazati sklopovsku realizaciju i opet analizirati rad.
c) Kako se moe ukloniti hazard u sklopu?


a) Raspiimo funkciju algebarski:

C AB ABC C B A C B A C B A f + + + = ) , , (

Direktna realizacija ove funkcije prikazana je na slici.

1
1
1
&
1
&
&
&
A
B
C
f
i
1
i
2
i
3
i
4


Za analizu rada posluit emo se Xilinx WebISE alatom. Svaki od osnovnih sklopova
opisan je kao komponenta u VHDL-u kod koje izlaz kasni za ulazom 10 ns, a opis
cijelog sklopa prikazan je u nastavku.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity sklop1 is
Port ( a : in std_logic;
b : in std_logic;
c : in std_logic;
f : out std_logic);
end sklop1;

architecture Behavioral of sklop1 is
component sklopNOT is
Port ( a : in std_logic;
z : out std_logic);
end component;
component sklopOR4 is
128 Zbirka rijeenih zadataka

Port ( a, b, c, d : in std_logic;
z : out std_logic);
end component;
component sklopAND3 is
Port ( a, b, c : in std_logic;
z : out std_logic);
end component;
signal ac, bc, cc, i1, i2, i3, i4: std_logic;
begin

ac1: sklopNOT PORT MAP (a,ac);
bc1: sklopNOT PORT MAP (b,bc);
cc1: sklopNOT PORT MAP (c,cc);
i11: sklopAND3 PORT MAP (ac,bc,c,i1);
i21: sklopAND3 PORT MAP (a,bc,c,i2);
i31: sklopAND3 PORT MAP (a,b,c,i3);
i41: sklopAND3 PORT MAP (a,b,cc,i4);
o11: sklopOR4 PORT MAP (i1, i2, i3, i4, f);

end Behavioral;

Kako se sklop ponaa, najbolje se vidi iz simulacije. Pri tome nisu simulirani svi
mogui ulazi, ve samo neki. Rezultat je prikazan na slici.



Da li je izlaz u skladu s oekivanjima? Oito nije jer se na mjestima gdje bi funkcija
trebala biti stalno u '1' pojavljuju kratkotrajni impulsi '0'. Pogledamo li jo malo bolje
valne oblike, vidimo ak da ne vrijedi jedan od temeljnih zakona Booleove algebre, tj.
ne vrijedi 1 = + A A (npr. prvi signal je A, drugi je njegov komplement; u odreenim
trenucima oba signala imaju iste vrijednosti)!

Analizirajmo sada detaljnije jedan konkretan sluaj. U trenutku t = 300 ns signali A, B i
C imaju vrijednost '1'. U trenutku t = 400 ns signal C pada na vrijednost '0'. Nedugo
nakon toga izlaz funkcije je pogrean. Krenimo analizirati sklop od samog izlaza. Izlaz
cijelog sklopa je ILI sklop koji e na svome izlazu dati '1' kada mu je barem jedan od
ulaza u '1'. No kako izlaz padne u '0' to oito u jednom trenutku nije bilo zadovoljeno. U
trenutku t = 400 ns izlaz je bio u '1' jer je sklop i3 na svom izlazu drao '1'. Promjenom
signala C na '0' u tom trenutku zapoinje propagacija novog izlaza i3, koji u ovom
sluaju iznosi '0'. Ta nula na izlaz sklopa i3 stigne u trenutku t = 410 ns (jer izlaz sklopa
kasni za ulazom 10 ns). Pogledamo li sada izlaze sklopova i1, i2, i3 i i4, svi su u '0'!
Zbog toga e se 10 ns kasnije, dakle u trenutku t = 420 ns pojaviti izlaz '0'. Meutim,
ovo dakako nije stabilno stanje. Pogledamo li to se dogaa s izlazom i4, vidimo da on
u trenutku t = 420 ns prijee u '1'. Time je ponovno na ulazu ILI sklopa prisutna
jedinica, te izlaz ILI sklopa 10 ns kasnije prelazi u '1', gdje i ostaje.

Iz ove analize vidimo da je vrijeme trajanja pogrenog izlaza jednako 10 ns, a pogreka
se je pojavila zbog toga to je jedinica na izlazu i3 nestala prije no to se je pojavila
jedinica na izlazu i4, pa je konani rezultat pojava hazarda. Hazard ovog tipa, gdje je
Minimizacija logikih funkcija. 129

izlaz stalno u '1' (osim kada kratkotrajno prijee u '0') naziva se statiki '1' hazard. No
zato je izlaz i4 kasnio? Analizirajmo to se dogaa s njegovim ulazima. Prva dva ulaza
spojena su na signale A i B. U trenutku t = 400 ns oni se ne mijenjaju. Na trei se ulaz
dovodi signal C . No on postaje '1' tek u trenutku t = 410 ns, a ne odmah kada C padne
na '0'! Zbog toga sklop i4 na svojim ulazima dobije sve '1' tek u trenutku t = 410 ns te se
njegov odziv '1' dobije 10 ns kasnije, dakle u trenutku t = 420 ns. Oito je glavni krivac
za cijeli dogaaj invertor! Naime, u trenutku t = 400 ns kad je C pao na '0' invertor koji
generira signal C ovu promjenu zakasni 10 ns, tako da na ulaz sklopa i4 signali A i B
dou odmah (u t = 400 ns), a ispravan signal C stigne tek u t = 410 ns. Razlog pojave
hazarda dakle je u razliitom vremenu potrebnom da svi signali prou kroz sklop do
izlaza (signali A, B i C to uine nakon dva sklopa, a njihovi komplementi tek nakon tri
sklopa).

Opisani hazard nastupio je pri prijelazu ABC="111" u ABC="110". Da li se dogaa
hazard na suprotnom prijelazu, tj. ako se iz ABC="110" vratimo natrag u ABC="111"?
Ova se promjena moe pogledati u trenutku t = 500 ns. Hazard se nije dogodio! Zato?
Pogledajmo kako su se sada mijenjali izlazi sklopova i3 i i4. Sklop i3 preao je u '1' ve
u trenutku t = 410 ns, dok je sklop i4 ostao na '1' sve do t = 420 ns, nakon ega je pao na
'0'. Oito je na ulazima ILI sklopa cijelo vrijeme bila prisutna jedinica i nije dolo do
pojave hazarda (iako se moe uoiti da je sklop i4 opet kasnio ak 20 ns s promjenom;
no, sada to kanjenje nije rezultiralo pogrenim radom sklopa).

Koji se zakljuak moe izvesti iz ove analize? Ako je sklop realiziran kao u zadatku (na
izlazu ILI koji dobiva izlaze I sklopova), hazard e se javiti prilikom one promjene
ulaza kod koje jedan od ulaznih signala iz '1' prelazi u '0'. Kako se ovdje svaki minterm
realizira jednim I sklopom, broj hazardnih prijelaza je relativno velik, to potvruju i
rezultati simulacije. Neki od prijelaza kod kojih se javlja hazard prikazani su u tablici,
kao i strelicama u K-tablici.

f: BC
00 01 11 10
A 0 1
1 1 1 1




Prijelaz Razlog hazarda Vidljivo gdje?
"101""001" A pada u '0' t = 200 ns
"111""110" C pada u '0' t = 400 ns
"111""101" B pada u '0' t = 600 ns
"111""001" A i B padaju u '0' t = 800 ns
"110""001" A i B padaju u '0' t = 1200 ns

b) Minimizirajmo funkciju. Dobije se:

AB C B f + =
130 Zbirka rijeenih zadataka


VHDL model sklopa koji realizira ovu funkciju prikazan je u nastavku.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity sklop2 is
Port ( a, b, c : in std_logic;
f : out std_logic);
end sklop2;

architecture Behavioral of sklop2 is

component sklopNOT is
Port ( a : in std_logic;
z : out std_logic);
end component;
component sklopOR2 is
Port ( a, b : in std_logic;
z : out std_logic);
end component;
component sklopAND2 is
Port ( a, b : in std_logic;
z : out std_logic);
end component;
signal bc, i1, i2: std_logic;

begin

bc1: sklopNOT PORT MAP (b,bc);
i11: sklopAND2 PORT MAP (bc,c,i1);
i21: sklopAND2 PORT MAP (a,b,i2);
o11: sklopOR2 PORT MAP (i1, i2, f);

end Behavioral;

Simulacijom ponaanja sklopa na istu pobudu kao u prvom sluaju dobivamo sljedei
rezultat:



Broj hazardnih impulsa manji je nego u prvom sluaju! Hazardi koji su ostali prikazani
su u tablici:

Prijelaz Razlog hazarda Vidljivo gdje?
"111""101" B pada u '0' t = 600 ns
"111""001" A i B padaju u '0' t = 800 ns
"110""001" A i B padaju u '0' t = 1200 ns

Nestali su hazardi pri prijelazu "101""001" kao i pri prijelazu "111""110".
Pogledamo li kako izgleda ova funkcija prikazana u K-tablici, razlog njihovog nestanka
odmah e biti jasan.
Minimizacija logikih funkcija. 131


f: BC
00 01 11 10
A 0 1
1 1 1 1



Sivim strelicama oznaeni su uklonjeni hazardi. Gdje se je to dogodilo? Odgovor je
unutar svakog produkta! Pogledajmo npr. produkt C B . Izvorno je hazard nastajao kada
je A prelazio iz '1' u '0', uz B='0' i C='1'. Kako sada ova oba minterma pokriva jedan
produkt C B (koji uope ne ovisi o A), ne dolazi do hazarda. Meutim, hazardi izmeu
pojedinih produkata ostali su i dalje.

c) to se jo moe uiniti kako bismo dodatno uklonili pojavu hazarda? esto se na
promjene ulaza funkcije moe postaviti sljedei uvjet (i): dozvoljena je istovremena
promjena samo jedne ulazne varijable. To u K-tablici znai da e se ulazi mijenjati
samo u susjedna polja. Na taj nain nestaju jo dva hazarda: "111""001" i
"110""001":

f: BC
00 01 11 10
A 0 1
1 1 1 1



Na ovaj su nain preostali jo samo hazardi koji nastaju kada ulazi prelazi iz jednog
produkta u susjedno polje koje pokriva neki drugi produkt. Takvi se hazardi mogu
ukloniti uvoenjem redundancije; naime, trebamo uvesti novi produkt koji e sadravati
susjedne minterme izmeu kojih nastaje hazard. U zadatku to konkretno znai da treba
uvesti redundantni produkt AC :

f: BC
00 01 11 10
A 0 1
1 1 1 1



Time funkcija poprima oblik AC AB C B f + + = i vie oito nije minimalna. No, ako
vrijedi prethodno uveden uvjet, tada ovako realizirana funkcija vie nema statikog '1'
hazarda. VHDL model sklopa koji realizira funkciju prikazan je u nastavku:

132 Zbirka rijeenih zadataka


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity sklop3 is
Port ( a, b, c : in std_logic;
f : out std_logic);
end sklop3;

architecture Behavioral of sklop3 is

component sklopNOT is
Port ( a : in std_logic;
z : out std_logic);
end component;
component sklopOR3 is
Port ( a, b, c : in std_logic;
z : out std_logic);
end component;
component sklopAND2 is
Port ( a, b : in std_logic;
z : out std_logic);
end component;
signal bc, i1, i2, i3: std_logic;

begin

bc1: sklopNOT PORT MAP (b,bc);
i11: sklopAND2 PORT MAP (bc,c,i1);
i21: sklopAND2 PORT MAP (a,b,i2);
i31: sklopAND2 PORT MAP (a,c,i3);
o11: sklopOR3 PORT MAP (i1, i2, i3, f);

end Behavioral;
Rezultat simulacije uz istu pobudu kao i u prethodnom primjeru prikazan je u nastavku.



Kao to se vidi iz simulacije, jedini preostali hazardi javljaju se pri promjenama ulaza
kod kojih se mijenja vie od jedne varijable istovremeno (ime uvjet (i) nije
zadovoljen). Za sve promjene ulaza koje zadovoljavaju uvjet (i) hazard se ne pojavljuje.

U ovom zadatku provedena je analiza rada sklopa koji funkciju realizira kao sumu
produkata. Pri tome se mogu razmatrati etiri razliita sluaja:

ulazne varijable mijenjaju se iz polja gdje funkcija poprima '0' u polje gdje
funkcija poprima '0',
ulazne varijable mijenjaju se iz polja gdje funkcija poprima '0' u polje gdje
funkcija poprima '1',
ulazne varijable mijenjaju se iz polja gdje funkcija poprima '1' u polje gdje
funkcija poprima '0' te
Minimizacija logikih funkcija. 133

ulazne varijable mijenjaju se iz polja gdje funkcija poprima '1' u polje gdje
funkcija poprima '1'.

Prilikom analize promatrali smo samo zadnji sluaj.

Za vjebu.

Funkcija f iz zadatka moe se takoer prikazati i realizirati kao produkt suma
( )

= 4 , 3 , 2 , 0 f . Sklopovska realizacija funkcije tada e na izlazu imati I sklop.


Analizirajte pri kojim se prijelazima u ovom sluaju javlja hazard (za sva etiri tipa
prijelaza), i to za sluaj kada se svaki maksterm realizira zasebnim sklopom, te za sluaj
kada se obavi minimizacija. Uklonite sve preostale hazarde, uz pretpostavku da e za
promjene ulaznih varijabli vrijediti uvjet (i).

5.24. Zadatak

Kada vrimo minimizaciju funkcije K-tablicom, traimo minimalni zapis funkcije prema
kojim kriterijima? Da li je dobiven prikaz funkcije najminimalniji?


Definirajmo (f,z) mjeru sloenosti implementacije funkcije f kao sumu broja
potroenih logikih sklopova i broja ulaza na svakom od tih sklopova, uz neki zapis z
funkcije f. K-tablicama se dobiva onaj zapis z' funkcije f za koji je (f) minimalno uz
dodatni uvjet da se funkcija implementira kroz maksimalno dvorazinsku logiku (ne
raunajui invertore).

Pogledajmo to na primjeru funkcije CD B A C AB ABCD ABC D C B A f + + + = ) , , , ( . Za
realizaciju ove funkcije (uz zadani zapis z) potroili bismo 4 I logika sklopa (2
troulazna i 2 etveroulazna) te jedan etveroulazni ILI sklop. Tada je oito mjera
sloenosti funkcije jednaka (f,z)=4+1+23+24=19.

Nakon minimizacije K-tablicom funkcija f poprima zapis z':
ACD AB D C B A f + = ) , , , ( . Mjera sloenosti funkcije sada je jednaka
(f,z')=2+1+22+13=10. Ovime je pronaen minimalni zapis funkcije u obliku sume
parcijalnih produkata.

No moe li se pronai zapis funkcije z'' za koji je mjera sloenosti jo manja? Generalno
govorei, potrebno je izbaciti dodatni uvjet koji postoji kod minimizacije K-tablicom:
funkcija vie ne mora biti izvedena kroz najvie dvije razine logike. Ako to uvaimo,
funkciju f moemo dalje zapisati kao z'':
( )
CD B A D C B A f + = ) , , , ( . Mjera sloenosti
funkcije sada je jednaka (f,z'')=2+1+22+12=9. Dakle, pronali smo zapis funkcije kod
kojega je mjera sloenosti jo manja. Meutim, treba napomenuti da dobiveno
rjeenje ima jednu manu u odnosu na rjeenje K-tablica: povean je broj razina logike,
to u isto logikom smislu nema nikakvog utjecaja, no prilikom realizacije funkcije
vei broj razina logike automatski znai i due vrijeme prolaska signala kroz logike
sklopove i time kasnija reakcija samog sklopa.

134 Zbirka rijeenih zadataka

5.25. Zadatak

Objasnite sljedee pojmove: implikant, primarni implikant, bitni primarni implikant na
primjeru funkcije
( )
= 7 , 6 , 3 , 1 ) , , ( m C B A f .


Prikaimo funkciju pomou K-tablice.

BC
00 01 11 10
A 0 1 1
1 1 1

C A
BC
B
C
A
AB
C B A
BC A
ABC
C AB


Implikant je svaki produkt koji povlai da je vrijednost funkcije 1 (u tablici to su sva
mogua zaokruenja). Npr. ova funkcija ima etiri implikanta (u tablici zasivljeno) koji
ujedno odgovaraju i mintermima: C B A , C B A , C B A i C B A . Naime, im
je npr. A=0, B=0 i C=1 (to odgovara mintermu C B A ) funkcija je u 1 (dakle, taj
produkt implicira vrijednost funkcije). Osim navedenih, ova funkcija ima jo i sljedee
implikante: C A , B A i C B . Od navedenih 7 implikanata, samo su tri primarna
implikanta: C A , B A i C B . Naime, primarni implikanti su oni implikanti koji nisu
u cijelosti sadrani niti u jednom drugom implikantu. Tako npr. implikant C B A nije
primarni jer je sadran u implikantu C A . Od navedena tri primarna implikanta zadana
funkcija ima samo dva bitna primarna implikanta: C A i B A . Naime, bitni primarni
implikant je primarni implikant koji sadri barem jedan minterm koji nije sadran niti u
jednom drugom primarnom implikantu. Tako npr. bitni primarni implikant C A sadri
minterm C B A koji nije sadran niti u jednom drugom primarnom implikantu. Sada
je jasno i zato C B jest primarni implikant, ali nije bitni primarni implikant: on sadri
minterme C B A i C B A , od kojih je prvi pokriven primarnim implikantom C A
a drugi primarnim implikantom B A .

Vano je uoiti da funkcija moe biti zadana tako da nema niti jedan bitni primarni
implikant! Vidi nerijeene zadatke za primjer.

ZADACI ZA VJEBU

1. Pronai sve implikante, primarne implikante te bitne primarne implikante funkcije
( )
= 14 , 13 , 10 , 5 , 4 , 1 , 0 ) , , , ( m D C B A f
.
Minimizacija logikih funkcija. 135

2. Pronai sve implikante, primarne implikante te bitne primarne implikante funkcije
( )
= 15 , 13 , 12 , 7 , 4 , 3 , 1 , 0 ) , , , ( m D C B A f . (Naputak: ne postoje bitni primarni implikanti!
Zato?)
3. Ako kao mjeru sloenosti sklopa definiramo sumu broja logikih sklopova i broja ulaza
koje ti sklopovi moraju imati potrebnih za realizaciju funkcije sklopa u zapisu z, u
kakvom su odnosu mjere sloenosti:
a) funkcije f zapisane u obliku minimalne sume parcijalnih produkata i funkcije f
zapisane u obliku minimalnog produkta parcijalnih suma?
b) funkcije f zapisane u obliku minimalne sume parcijalnih produkata i funkcije f
zapisane u obliku minimalnog produkta parcijalnih suma?
c) funkcije f zapisane u obliku minimalnog produkta parcijalnih suma i funkcije f
zapisane u obliku minimalne sume parcijalnih produkata?

4. Zadana je funkcija
( )
= 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 ) , , , ( m D C B A f . K-tablicom pronai
minimalni oblik funkcije. Naputak: budui da nije zadano treba li minimizirati nule ili
jedinice, potrebno je pronai onaj oblik funkcije koji troi minimalni broj logikih
sklopova.
5. Moe li se Quinne-McCluskey metoda (ili bolje reeno ideja) primijeniti na
pronalaenje minimalnog oblika funkcije u obliku produkta parcijalnih suma? Objasnite
to na primjeru pokuaja minimizacije funkcije ( ) ( )

= 15 , 11 , 10 , 8 , 5 , 4 , 1 , 0 , , , M D C B A f .
to biste trebali dobiti moete provjeriti tako da istu funkciju minimizirate K-tablicom.
6. Zadana je funkcija ( )

= 31 , 26 , 24 , 23 , 21 , 18 , 17 , 16 , 10 , 8 , 5 , 4 , 2 , 1 , 0 ) , , , , ( m E D C B A f .
Uporabom K-tablica pronai minimalni zapis funkcije:
a) u obliku sume parcijalnih produkata
b) u obliku produkta parcijalnih suma
7. Algebarski minimizirajte funkciju
( )

= 31 , 26 , 24 , 23 , 21 , 18 , 17 , 16 , 10 , 8 , 5 , 4 , 2 , 1 , 0 ) , , , , ( m E D C B A f .
8. Zadana je funkcija f. Dvorazinskom logikom ostvariti sklop koji realizira ovu funkciju.
Na raspolaganju su varijable, komplementi varijabli te osnovni logiki sklopovi (I, ILI).
Zadatak rijeiti tako da se ne koristi vie od 3 osnovna logika sklopa. Invertori nisu na
raspolaganju, a f glasi:
( )

= 31 , 29 , 27 , 26 , 25 , 24 , 21 , 20 , 17 , 16 , 15 , 13 , 11 , 10 , 9 , 8 , 5 , 4 , 1 , 0 ) , , , , ( E D C B A f
9. Projektirati kombinacijski sklop (tablicom) koji zbraja dva dvobitna binarna broja A i B
te generira dvobitni rezultat i bit preljeva: c
out
r
1
r
0
= a
1
a
0
+ b
1
b
0
. Quine-McCluskey
metodom pronai minimalni zapis funkcija c
out
i r
0
u obliku sume parcijalnih produkata.
Svaku funkciju minimizirati zasebno.
10. Pismeni ispit 13.09.2004.
Funkcija
D B A D C A D C B A D C B A f + + = ) , , , (
direktno je realizirana nekim
sklopom S. Provjeriti ima li funkcija statiki hazard, a ako ima, pronai sve prijelaze
gdje se on javlja, te nacrtati sklop S' koji nema statiki hazard. Pretpostaviti da e se
prilikom promjene ulaza uvijek mijenjati samo jedna varijabla.
Standardni kombinacijski moduli. 137


6. Standardni kombinacijski moduli.

6.1. Zadatak

Prikazati logiki simbol, tablicu istinitosti, logiku funkciju, shemu sklopa te VHDL
ponaajni model multipleksora 2/1.


Logiki simbol multipleksora:

y
d
0
d
1
s


Tablica istinitosti:

S D
1
D
0
Y
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

Logika funkcija:

( )
+ = =
1 0
7 , 6 , 3 , 1 ) 1 , 0 , ( 21 D S D S m D D S mux

Shema sklopa:

&
&
1
1
y
d
0
d
1
s


VHDL ponaajni model:

- Uporabom CASE naredbe

ENTITY mux21 IS PORT (
D0, D1: IN std_logic;
S: IN std_logic;
Y: OUT std_logic);
END ENTITY;
138 Zbirka rijeenih zadataka


ARCHITECTURE ponasajna OF mux21 IS
BEGIN

PROCESS (D0, D1, S)
BEGIN
CASE S IS
BEGIN
WHEN '0' => Y <= D0;
WHEN '1' => Y <= D1;
WHEN OTHERS => Y <= D0; -- zbog kompletnosti CASE naredbe
END CASE;
END PROCESS;

END ponasajna;

- direktno logikom funkcijom

ENTITY mux21 IS PORT (
D0, D1: IN std_logic;
S: IN std_logic;
Y: OUT std_logic);
END ENTITY;

ARCHITECTURE ponasajna2 OF mux21 IS
BEGIN

Y <= (NOT S AND D0) OR (S AND D1);

END ponasajna2;

- konkurentnim WHEN izrazom

ENTITY mux21 IS PORT (
D0, D1: IN std_logic;
S: IN std_logic;
Y: OUT std_logic);
END ENTITY;

ARCHITECTURE ponasajna2 OF mux21 IS
BEGIN

Y <= D0 WHEN S='0' ELSE D1;

END ponasajna2;

6.2. Zadatak

Prikazati logiki simbol, tablicu istinitosti, logiku funkciju, shemu sklopa te VHDL
ponaajni model dekodera 2/4.


Logiki simbol dekodera:

Standardni kombinacijski moduli. 139

a
0
a
1
y
0
y
1
y
2
y
3
DEKODER
2/4



Tablica istinitosti:

A
1
A
0
Y
3
Y
2
Y
1
Y
0

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



Logika funkcija:

( ) ( )
0 1 0 1 0
0 , A A m A A Y = =
( ) ( )
0 1 0 1 1
1 , A A m A A Y = =
( ) ( )
0 1 0 1 2
2 , A A m A A Y = =
( ) ( )
0 1 0 1 3
3 , A A m A A Y = =

Shema sklopa:

&
&
&
&
1 1
a
0
a
1
y
0
y
1
y
2
y
3



VHDL ponaajni model:

ENTITY dek24 IS PORT (
A0, A1: IN std_logic;
Y0, Y1, Y2, Y3: OUT std_logic);
END ENTITY;

ARCHITECTURE ponasajna OF dek24 IS
BEGIN

Y0 <= NOT A1 AND NOT A0;
Y1 <= NOT A1 AND A0;
Y2 <= A1 AND NOT A0;
Y3 <= A1 AND A0;

END ponasajna;

140 Zbirka rijeenih zadataka

VHDL ponaajni model uporabom WHEN izraza:

ENTITY dek24 IS PORT (
A: IN std_logic_vector(1 DOWNTO 0);
Y: OUT std_logic_vector(3 DOWNTO 0));
END ENTITY;

ARCHITECTURE ponasajna OF dek24 IS
BEGIN

Y <= "0001" WHEN A="00" ELSE
"0010" WHEN A="01" ELSE
"0100" WHEN A="10" ELSE
"1000";

END ponasajna;

6.3. Zadatak

Prikazati logiki simbol, tablicu istinitosti, logiku funkciju, shemu sklopa te VHDL
ponaajni model dekodera 1/2 s ulazom za omoguavanje.


Logiki simbol dekodera:

y
0
y
1
a
DEKODER
1/2
E


Tablica istinitosti:

E A Y
1
Y
0

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

Logika funkcija:

( ) ( )
A E m A E Y = = 3 ,
1

( ) ( )
A E m A E Y = = 2 ,
0


Shema sklopa:

&
&
1
a E
y
0
y
1


Standardni kombinacijski moduli. 141

VHDL ponaajni model:

ENTITY dek12E IS PORT (
A, E: IN std_logic;
Y0, Y1: OUT std_logic);
END ENTITY;

ARCHITECTURE ponasajna OF dek12E IS
BEGIN

Y0 = NOT A AND E;
Y1 = A AND E;

END ponasajna;



6.4. Zadatak

Prikazati logiki simbol, tablicu istinitosti te logiku funkciju prioritetnog kodera 4/2.


Koder 2
n
/n je sklop koji ima 2
n
ulaznih linija. Izlaz je n bitova ija binarna vrijednost
odgovara broju one ulazne linije na kojoj se nalazi logika jedinica (tada je dodatni izlaz
Z = '1'). Za sluaj da su svi ulazi u nuli, izlaz Z postavlja se u '0'. Kako se moe dogoditi
da je na vie ulaza istovremeno prisutna jedinica, tipino se izvodi prioritetni koder kod
kojega izlaz odgovara najviem ulazu na kojem se nalazi logika jedinica.

Logiki simbol kodera:

Y
0
Y
1
I
0
I
1
I
2
I
3
KODER
4/2
Z


Tablica istinitosti:

I
3
I
2
I
1
I
0
Y
1
Y
0
Z
0 0 0 1 0 0 1
0 0 1 0 1 1
0 1 1 0 1
1 1 1 1
0 0 0 0 0

U tablici vrijednost '' oznaava proizvoljnu vrijednost.

Logika funkcija kodera:

( ) ( )
3 2 3 0 1 2 3 1
15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , , , I I I m I I I I Y + = =
142 Zbirka rijeenih zadataka

( ) ( )
3 1 2 3 0 1 2 3 0
15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 3 , 2 , , , I I I I m I I I I Y + = =
( ) ( )
0 1 2 3 0 1 2 3
15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , , , I I I I m I I I I Z + + + = =


6.5. Zadatak

Uporabom multipleksora 4/1 i potrebnih osnovnih logikih sklopova ostvarite logiku
funkciju ( )

= 7 , 6 , 4 , 2 , 1 f .


Prikaimo funkciju tablino.

A B C f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Multipleksor 4/1 ima etiri podatkovna ulaza, odnosno dva selekcijska ulaza. Ako na
selekcijske ulaze dovedemo varijable A i B, podatkovni ulaz D
0
biti e proslijeen na
izlaz ako je A=0 i B=0; podatkovni ulaz D
1
biti e proslijeen na izlaz ako je A=0 i B=1;
podatkovni ulaz D
2
biti e proslijeen na izlaz ako je A=1 i B=0; podatkovni ulaz D
3
biti
e proslijeen na izlaz ako je A=1 i B=1.

Moemo li odrediti to se treba pojaviti na izlazu kada je A=0 i B=0, odnosno na ulazu
D
0
? Pogledajmo u tablicu. Kombinacija A=0 i B=0 selektira dva retka, dok se vrijednost
funkcije u oba retka mijenja. Meutim, usporedimo vrijednost funkcije s vrijednostima
koje poprimaju varijable koje nisu dovedene na selekcijske ulaze (u naem sluaju,
varijablom C). U prva dva retka, vrijednost funkcije f upravo je jednaka vrijednosti
varijable C! Zakljuujemo da na prvi ulaz (D
0
) treba dovesti upravo varijablu C.

Na slian nain moemo analizirati to trebamo dovesti na ulaz D
1
, koji je selektiran
kod kombinacije A=0 i B=1. Ovime su opet selektirana dva retka (trei i etvrti), i
vrijednost funkcije f opet se mijenja. Usporedimo li u ta dva retka vrijednost funkcije f i
varijable C, vidimo da su oni upravo komplementarni: kada je C=0, tada je f=1 i
obratno. Zakljuujemo na na ulaz D
1
moramo dovesti C .

Slinu analizu moemo ponoviti i za preostale dvije kombinacije varijabli A i B, pa
emo dobiti: C D =
2
i D
3
=1.

Ovaj postupak obino se provodi direktno oitavanjem iz tablice kombinacija. U tablici
se crtkanom linijom odvoje one varijable koje se dovode na selekcijske ulaze
multipleksora (u naem sluaju varijable A i B), te se naznae grupe redaka u kojima se
A i B ne mijenjaju. Zatim se proanalizira za svaku grupu posebno kakav je odnos
Standardni kombinacijski moduli. 143

izmeu preostalih varijabli, i vrijednosti funkcije, i utvrde se logiki izrazi koji opisuju
taj odnos. Postupak je prikazan na slijedeoj slici.
A B C f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

A B C f D
0

0 0 0 0
0 0 1 1
C f D
C f
= =
=
0


A B C f D
1

0 1 0 1
0 1 1 0
C f D
C f
= =
=
1


A B C f D
2

1 0 0 1
1 0 1 0
C f D
C f
= =
=
2


A B C f D
3

1 1 0 1
1 1 1 1
1
1
3
= =
=
f D
f






Konaan izgled sklopa je:



D
0
D
1
D
2
D
3
f
S
0
S
1
C
C
1
C
A B
MUX 4/1




144 Zbirka rijeenih zadataka


6.6. Zadatak

Uporabom multipleksora 8/1 ostvariti logiku funkciju:

( )

= 31 , 30 , 29 , 28 , 27 , 26 , 25 , 20 , 19 , 18 , 17 , 14 , 13 , 12 , 8 , 7 , 6 , 5 , 3 f


Ovaj multipleksor ima 8 podatkovnih ulaza, pa mora imati 3 selekcijska ulaza. Na njih
emo spojiti varijable A, B i C. Napravimo tablicu kombinacija i oznaimo ovisnosti
izlaza po grupama o preostalim varijablama (D i E).

A B C D E f Ulazi mux-a
0 0 0 0 0 0
0 0 0 0 1 0
0 0 0 1 0 0
0 0 0 1 1 1
E D D =
0

0 0 1 0 0 0
0 0 1 0 1 1
0 0 1 1 0 1
0 0 1 1 1 1
E D D + =
1

0 1 0 0 0 1
0 1 0 0 1 0
0 1 0 1 0 0
0 1 0 1 1 0
E D D + =
2

0 1 1 0 0 1
0 1 1 0 1 1
0 1 1 1 0 1
0 1 1 1 1 0
E D D =
3

1 0 0 0 0 0
1 0 0 0 1 1
1 0 0 1 0 1
1 0 0 1 1 1
E D D + =
4

1 0 1 0 0 1
1 0 1 0 1 0
1 0 1 1 0 0
1 0 1 1 1 0
E D D + =
5

1 1 0 0 0 0
1 1 0 0 1 1
1 1 0 1 0 1
1 1 0 1 1 1
E D D + =
6

1 1 1 0 0 1
1 1 1 0 1 1
1 1 1 1 0 1
1 1 1 1 1 1
1
7
= D




Standardni kombinacijski moduli. 145

D
0
D
1
D
2
D
3
f
S
0
S
1
1
A B
MUX 8/1
S
2
D
4
D
5
D
6
D
7
C
&
1
1
1
D
E



6.7. Zadatak

Na raspolaganju je proizvoljan broj multipleksora 2/1. Samo njihovom uporabom potrebno je
realizirati funkciju ( )

= 15 , 14 , 12 , 9 , 7 , 4 , 1 , 0 ) , , , ( m D C B A f . Na raspolaganju su varijable i
komplementi varijabli.


Uporabom multipleksora 2/1 (koji ima jednu adresnu liniju) potrebno je izgraditi
multipleksor koji ima tri adresne linije dakle, multipleksor 8/1. Tada se njegovom
uporabom moe direktno realizirati traena funkcija.

Prikaimo stoga funkciju tablino:


146 Zbirka rijeenih zadataka

A B C D f D
i

0 0 0 0 1
0 0 0 1 1
1
0
= D
0 0 1 0 0
0 0 1 1 0
0
1
= D
0 1 0 0 1
0 1 0 1 0
D D =
2

0 1 1 0 0
0 1 1 1 1
D D =
3

1 0 0 0 0
1 0 0 1 1
D D =
4

1 0 1 0 0
1 0 1 1 0
0
5
= D
1 1 0 0 1
1 1 0 1 0
D D =
6

1 1 1 0 1
1 1 1 1 1
1
7
= D

Shema spoja tada je:

d
0
d
1
a
0
z
d
0
d
1
a
0
z
d
0
d
1
a
0
z
d
0
d
1
a
0
z
d
0
d
1
a
0
z
d
0
d
1
a
0
z
d
0
d
1
a
0
z
C B A
D
D
0
1
D
0
D
1
f


Standardni kombinacijski moduli. 147

Zadatak se je mogao rijeiti i izgradnjom jo veeg multipleksora: multipleksora 16/1.
Tada bi svaki od adresnih ulaza dola jedna od varijabli, a na svaki od podatkovnih
ulaza vrijednost funkcije (dakle, 0 ili 1). No budui da na raspolaganju imamo sve
varijable i njihove komplemente, ekonominije je izgraditi minimalno velik
multipleksor.

6.8. Zadatak

Uporabom dekodera 3/8 ostvariti logike funkcije:
( )

= 7 , 6 , 4 , 3 , 0
1
f
( )

= 5 , 2 , 1 , 0
2
f


Kako izlazi iz dekodera direktno odgovaraju pojedinim mintermima, potrebno je samo
odgovarajue minterme "pokupiti" ILI sklopovima.

A
1
A
0
B C
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
A
2
A
1
1
1
f
2
f


6.9. Zadatak

Uporabom dekodera 3/8 iji su izlazi komplementirani ostvariti logike funkcije:

( )

= 7 , 6 , 4 , 3 , 0
1
f
( )

= 5 , 2 , 1 , 0
2
f


Ovakav dekoder na izlazu ima aktivnu nulu, tj. kada je onemoguen, svi su izlazi u
jedinici, a kada je omoguen, onaj izlaz koji je adresiran nalazi se u nuli dok su svi
ostali izlazi u jedinici.

Ako uoimo da su funkcije identine onima iz prethodnog zadatka, potrebno je samo
smisliti kako pomou ovakvog dekodera realizirati isto ponaanje.

148 Zbirka rijeenih zadataka

U prethodnom smo zadatku na izlazima multipleksora direktno imali minterme pa smo
ih samo pokupili ILI sklopom. U ovom sluaju na izlazima imamo komplemente od
minterma; kako sada trebamo pokupiti izlaze? Prisjetimo se DeMorgana:

( ) Y X NI Y X Y X , = = +

Dakle, komplementirane izlaze treba "pokupiti" NI sklopovima, pa emo opet imati
izvornu sumu minterma! Sklop je prikazan u nastavku:

A
1
A
0
B C
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
A
2
A
1
f
2
f
&
&



6.10. Zadatak

Realizirati sklop koji ostvaruje dvije funkcije: (i) generator parnog pariteta p
p
, (ii) generator
neparnog pariteta p
n
, trobitnog podatka b
2
b
1
b
0
.
a) uporabom dvostrukog dekodera/demultipleksora 2/4
b) uporabom dvostrukog multipleksora 4/1


a) uporaba dvostrukog dekodera 2/4

b
2
b
1
b
0
p
p
p
n

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

Dvostruki dekoder 2/4 prikazan je na slijedeoj slici. To su dva dekodera sa zasebnim
ulazima za omoguavanje, pri emu su im adresne linije zajednike.

Standardni kombinacijski moduli. 149

Dekoder 2/4 ima dva adresna bita (A
1
i A
0
). Da bismo
ostvarili funkciju od 3 varijable dvostrukim dekoderom,
varijablom b
2
(varijabla najvee teine u tablici) upravljat
emo ulazom za omoguavanje pojedinog dekodera, tako
da kada b
2
bude 0, prvi dekoder e biti aktivan, a kada b
2

bude 1, drugi dekoder e biti aktivan.

Na adresne linije dovest emo preostale varijable b
1
i b
0
.

Ako dvostruki dekoder spojimo na upravo opisani nain,
izlazi dekodera zapravo e predstavljati minterme triju
varijabli: b
2
, b
1
i b
0
.

Tada iz tablice moemo oitati da prva funkcija sadri
minterme 1, 2, 4 i 7 a druga minterme 0, 3, 5 i 6, to je i
prikazano na shemi sklopa.





A
1
A
0
0 1 2
b b b
E
E
0 1 2
b b b
0 1 2
b b b
0 1 2
b b b
0 1 2
b b b
0 1 2
b b b
0 1 2
b b b
0 1 2
b b b
2
b
1
b
0
b
1
1
1
p
p
n
p

Realizacija funkcija uporabom dvostrukog dekodera 2/4
A
1
A
0
0 1
A A
0 1
A A
0 1
A A
0 1
A A
0 1
A A
0 1
A A
0 1
A A
0 1
A A
E
E

Dvostruki dekoder 2/4
150 Zbirka rijeenih zadataka


b) Uporaba dvostrukog multipleksora 4/1

Dvostruki multipleksor 4/1 prikazan je na slici. Sastoji
se od dva multipleksora 4/1 koji imaju dijeljene
selekcijske bitove. Varijable b
2
i b
1
najvee teine
dovodit emo na selekcijske ulaze, a na podatkovne
ulaze dovodit emo rezidualne funkcije od varijable
b
0
.

Prvi multipleksor koristit emo za realizaciju funkcije
p
p
, a drugi za realizaciju funkcije p
n
. Analizom tablice
kombinacija lako se moe ustanoviti da na ulaze D
0
,
..., D
3
prvog multipleksora treba dovesti redom
0
b ,
0
b ,
0
b te
0
b , a na ulaze D
0
, ..., D
3
drugog
multipleksora treba dovesti redom
0
b ,
0
b ,
0
b te
0
b .







0
D
1
D
2
D
3
D
0
D
1
D
2
D
3
D
1
Sel
0
Sel
z
z
2
b
1
b
0
b
1
p
p
n
p

Realizacija funkcija uporabom dvostrukog demultipleksora 4/1


0
D
1
D
2
D
3
D
0
D
1
D
2
D
3
D
1
Sel
0
Sel
z
z

Dvostruki multipleksor 4/1
Standardni kombinacijski moduli. 151

6.11. Zadatak

Realizirati sklop koji ostvaruje funkciju r
3
r
2
r
1
r
0
=fibb(b
2
b
1
b
0
) koja vraa b-ti Fibbonacijev
broj:

a) uporabom jednog dekodera/demultipleksora 1/2 i dva dekodera/demultipleksora 2/4 te
potrebnog broja ILI sklopova,
b) u obliku ispisne memorije koja ima osam 4-bitnih rijei (tj. uporabom dekodera 3/8 i
diskretnog koderskog polja).


Fibbonacijevi brojevi definirani su slijedeim izrazom:
1 ) 1 ( , 0 ) 0 (
) 1 ( ) 2 ( ) (
= =
+ =
fibb fibb
n fibb n fibb n fibb


Prikaimo tablicu kombinacija:

n fibb(n) b
2
b
1
b
0
r
3
r
2
r
1
r
0

0 0 0 0 0 0 0 0 0
1 1 0 0 1 0 0 0 1
2 1 0 1 0 0 0 0 1
3 2 0 1 1 0 0 1 0
4 3 1 0 0 0 0 1 1
5 5 1 0 1 0 1 0 1
6 8 1 1 0 1 0 0 0
7 13 1 1 1 1 1 0 1

a) Uporabom dekodera

Da bismo ovu funkciju ostvarili uporabom samo navedenih elemenata, potrebno je
izgraditi dekoder 3/8 budui da imamo funkciju od 3 varijable. Ovo se moe obaviti
kaskadiranjem dekodera u stablo. Zatim se funkcija moe realizirati direktno,
"prikupljanjem" odgovarajuih izlaza ILI sklopom.

Prilikom kaskadiranja dekodera u prvu razinu dolaze najvie znaajne varijable, a u
zadnju najmanje znaajne (zapravo ovo vrijedi univerzalno: najvie znaajne varijable
dolaze uvijek na vrh stabla; kod dekoderskog stabla to je u prvoj razini, a kod
multipleksorskog stabla u zadnjoj).

152 Zbirka rijeenih zadataka

E
A
0
D
0
D
1
D
2
D
3
A
1
E
A
0
D
0
D
1
D
2
D
3
A
1
E
A
0
D
0
D
1
A
2
A
1
A
0
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
E
Dekoder / Demultipleksor 3/8
1
1
1
1
r
3
r
2
r
1
r
0
2
b
1
b
0
b
1


b) Ispisna memorija (permanentna memorija)

A
1
A
0
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
0 1 2
A A A
A
2
1 1 1 1
r
3
r
2
r
1
r
0
2
b
1
b
0
b
Kodersko polje Dekodersko polje


Standardni kombinacijski moduli. 153

Sastoji se od dva karakteristina polja:

ulazno dekodersko polje; obavlja potpuno dekodiranje adrese. Odreuje broj
rijei memorije. Sastoji se od I sklopova.
izlazno kodersko polje; obavlja generiranje bitova adresirane rijei. Odreuje
broj bitova u rijei. Sastoji se od ILI sklopova.

U ovom zadatku trebamo 8 memorijskih rijei potreban je dekoder s 8 izlaza, odnosno
3 adresne linije. Svaka rije ima po 4 bita kodersko polje e imati 4 ILI sklopa.

Na ovaj nain definirali smo fiksno dekodersko polje i fiksno kodersko polje. Vrlo
popularno poopenje ovog koncepta je uporaba programirljivog dekodera koji generira
samo one produkte koji su nam potrebni (uoiti, npr. da minterm 0 nismo koristili;
programirljivo I polje), kao i programirljivi koder (programirljivo ILI polje). Ukoliko su
oba polja programirljiva, radi se o PLA Programirljivo logiko polje (Programmable
Logic Array), a ako je programirljivo samo I polje, tj. dekoder, radi se o PAL
poluprogramirljivo logiko polje (Programmable Logic Array).

Simbol za permanentnu memoriju iz zadatka:

2
a
1
a
0
a
E
2
d
1
d
0
d
3
d
ROM
8x4



6.12. Zadatak

Uporabom programirljive ispisne memorije 88 i dvostrukog multipleksora 4/1 realizirati
vieizlaznu funkciju:

( )

= 30 , 27 , 22 , 17 , 16 , 13 , 12 , 11 , 7 , 6 , 1
1
f
( )

= 29 , 24 , 21 , 15 , 12 , 10 , 8 , 6 , 5 , 4 , 2 , 1
2
f


Funkcije f
1
i f
2
su funkcije od 5 varijabli. Dakle, njihova tablica kombinacija ima 32
retka. Meutim, ispisna memorija moe generirati samo 8 redaka! S druge strane,
ispisna memorija u jednom retku generira 8 bitova, a ako u nju pohranjujemo
vrijednosti funkcija f
1
i f
2
, trebamo po retku samo dva bita jer imamo dvije funkcije.
Zbog ovoga emo u ispisnu memoriju u jednom retku pohranjivati po etiri uzastopne
154 Zbirka rijeenih zadataka

vrijednosti funkcije f
1
i etiri uzastopne vrijednosti funkcije f
2
, a koju tono vrijednost
treba dati na izlazu iz sklopa odrediti emo multipleksorom!

Na adresne linije memorije dovoditi emo varijable A, B i C (varijable najvee teine) a
na selekcijske bitove multipleksora varijable D i E (varijable najmanje teine).

A B C D E f
2
f
1

0 0 0 0 0 0 D
4
0 D
0

0 0 0 0 1 1 D
5
1 D
1

0 0 0 1 0 1 D
6
0 D
2

0 0 0 1 1 0 D
7
0 D
3

0 0 1 0 0 1 D
4
0 D
0

0 0 1 0 1 1 D
5
0 D
1

0 0 1 1 0 1 D
6
1 D
2

0 0 1 1 1 0 D
7
1 D
3

0 1 0 0 0 1 D
4
0 D
0

0 1 0 0 1 0 D
5
0 D
1

0 1 0 1 0 1 D
6
0 D
2

0 1 0 1 1 0 D
7
1 D
3

0 1 1 0 0 1 D
4
1 D
0

0 1 1 0 1 0 D
5
1 D
1

0 1 1 1 0 0 D
6
0 D
2

0 1 1 1 1 1 D
7
0 D
3

1 0 0 0 0 0 D
4
1 D
0

1 0 0 0 1 0 D
5
1 D
1

1 0 0 1 0 0 D
6
0 D
2

1 0 0 1 1 0 D
7
0 D
3

1 0 1 0 0 0 D
4
0 D
0

1 0 1 0 1 1 D
5
0 D
1

1 0 1 1 0 0 D
6
1 D
2

1 0 1 1 1 0 D
7
0 D
3

1 1 0 0 0 1 D
4
0 D
0

1 1 0 0 1 0 D
5
0 D
1

1 1 0 1 0 0 D
6
0 D
2

1 1 0 1 1 0 D
7
1 D
3

1 1 1 0 0 0 D
4
0 D
0

1 1 1 0 1 1 D
5
0 D
1

1 1 1 1 0 0 D
6
1 D
2

1 1 1 1 1 0 D
7
0 D
3


Shema sklopa prikazana je u nastavku.

Standardni kombinacijski moduli. 155

D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
2
A
1
A
0
PROM 8x8
I
0
I
1
I
2
I
3
I
0
I
1
I
2
I
3
MUX 4/1
a)
MUX 4/1
b)
f
1
f
2
Sel
1
Sel
0
A
B
C
D
E


Funkciju f
2
realiziramo prvom polovicom multipleksora. Kada je D=E=0, na izlazu je
bit D
4
permanentne memorije. Za D=0, E=1 na izlazu je D
5
itd.

Sada samo iz tablice kombinacija treba oitati vrijednosti bitova pojedinih rijei
pohranjenih u memoriji, to je prikazano sljedeom tablicom.

A
2
=A A
1
=B A
0
=C D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
D
0 0 0 0 1 1 0 0 0 1 0 62
0 0 1 0 1 1 1 1 1 0 0 7C
0 1 0 0 1 0 1 1 0 0 0 58
0 1 1 1 0 0 1 0 0 1 1 93
1 0 0 0 0 0 0 0 0 1 1 03
1 0 1 0 0 1 0 0 1 0 0 24
1 1 0 0 0 0 1 1 0 0 0 18
1 1 1 0 0 1 0 0 1 0 0 24

156 Zbirka rijeenih zadataka


6.13. Zadatak

Permanentna memorija realizirana MOSFET tehnologijom prikazana je na slici. O koliko se
memorije radi, i to je zapisano na pojedinim memorijskim lokacijama?

+U
DD
+U
DD
+U
DD
+U
DD
+U
DD
dekoder
rije 0
rije 1
rije 2
rije 3
A
0
A
1
d
4
d
3
d
2
d
1
d
0
a
1
a
0


Memorija ima etiri memorijske rijei, svaka po pet bitova. Dakle, radi se o memoriji
45. Vrijednost pohranjenu na pojedinim memorijskim lokacijama oitati emo na
slijedei nain. Neka adresna rije a
1
a
0
adresira i-tu memorijsku rije (tj. i=2a
1
+a
0
).
Tada je vodoravna linija koja odgovara toj rijei na visokoj naponskoj razini, a sve
ostale su na niskoj (to je funkcija dekodera). Sada treba provjeriti za svaku okomitu
liniju (koja odgovara pojedinom bitu). Ako je G tranzistora koji spaja vodoravnu i
okomitu liniju spojen na vodoravnu liniju (veza nije prekinuta), tada taj tranzistor vodi, i
spaja okomitu liniju na masu, ime dotini bit postavlja u logiku nulu. Ako je veza
prekinuta, tranzistor ne vodi, i okomita linija je spojena na +U
DD
, ime je dotini bit
postavljen na logiku jedinicu. Dakle, u memoriji je zapisan sadraj:

a
1
a
0
d
4
d
3
d
2
d
1
d
0

0 0 0 1 0 1 0
0 1 1 0 1 0 1
1 0 0 0 1 0 0
1 1 0 1 0 1 1
Standardni kombinacijski moduli. 157


6.14. Zadatak

Realizirati permanentnu memoriju uporabom dekodera 2/4 i koderskog polja izvedenog
MOSFET-om. Pohraniti na memorijske lokacije redom sljedee oktalne brojeve: 1, 3, 5, 2.


Prikaimo u tablici koji se podatak nalazi na kojom memorijskoj lokaciji, i to po
bitovima:

a
1
a
0
d
2
d
1
d
0
n
(3)

0 0 0 0 1 1
0 1 0 1 1 3
1 0 1 0 1 5
1 1 0 1 0 2

Tada traeni sklop izgleda:

+U
DD
+U
DD
+U
DD
dekoder
rije 0
rije 1
rije 2
rije 3
A
0
A
1
d
2
d
1
d
0
a
1
a
0


158 Zbirka rijeenih zadataka


6.15. Zadatak

Definirana je sljedea komponenta:
ENTITY pNAND IS PORT (a,b: IN std_logic; z: OUT std_logic); END pNAND;
Samo njezinom uporabom napisati strukturni VHDL model multipleksora 2/1 (bez ulaza za
omoguavanje). Nacrtati shemu sklopa i oznaiti nazive koritenih signala i primjeraka
komponente.


Funkcija multipleksora 2/1 odreena je izrazom:

1 0
d sel d sel z + =

Ovaj izraz definira sljedei sklop:


Shema sklopa:

&
&
1
1
d
0
d
1
sel
z


Shema sklopa s NAND sklopovima:
d
0
d
1
sel
z
&
&
&
& c
0
c
1
c
2
c
3
s
0
s
1
s
2


Strukturni VHDL model tada je:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY pmux21 IS
PORT ( d0 : IN std_logic;
d1 : IN std_logic;
sel : IN std_logic;
z: OUT std_logic);
END pmux21;

ARCHITECTURE Structural OF pmux21 IS

COMPONENT pNAND IS
PORT ( a : IN std_logic;
b : IN std_logic;
z : OUT std_logic);
END COMPONENT;

SIGNAL s0, s1, s2: std_logic;
Standardni kombinacijski moduli. 159


BEGIN

c0: pNAND PORT MAP(sel, sel, s0);
c1: pNAND PORT MAP(d0, s0, s1);
c2: pNAND PORT MAP(d1, sel, s2);
c3: pNAND PORT MAP(s1, s2, z);

END Structural;


ZADACI ZA VJEBU

3. Napisati strukturni model multipleksora 2/1. Pretpostaviti da su modeli osnovnih
logikih sklopova ve napisani.
4. Napisati ponaajni model multipleksora 2/1 s ulazom za omoguavanje E. Kad je E='0'
izlaz treba biti postavljen u '0'. Kad je E='1' multipleksor obavlja svoju funkciju.
5. Izvesti funkciju multipleksora 4/1 pomou minimalnog broja osnovnih logikih
sklopova.
6. Multipleksorima 2/1 nacrtati multipleksorsko stablo koje obavlja funkciju multipleksora
16/1.
7. Napisati strukturni VHDL model multipleksora 8/1 s ulazom za omoguavanje
izvedenog multipleksorima 2/1 s ulazom za omoguavanje.
8. Napisati strukturni model dekodera 2/4. Pretpostaviti da su modeli osnovnih logikih
sklopova ve napisani.
9. Nacrtati shemu dekodera 4/16 s ulazom za omoguavanje realiziranog kao dekodersko
stablo dekodera 2/4 s ulazima za omoguavanje.
10. Tablicom istinitosti prikazati funkciju dekadskog dekodera (tj. dekoder 4/10). Napisati
logike izraze koji opisuju funkciju dekodera.
11. Uporabom osnovnih logikih sklopova nacrtati dekadski dekoder.
12. Uporabom dva dekadska dekodera s ulazom za omoguavanje i minimalnim brojem
osnovnih logikih sklopova nacrtati shemu dekodera 4/16.
13. Uporabom dekodera 3/8 i potrebnog broja ILI logikih sklopova realizirati funkciju
= ) 7 , 5 , 2 , 1 ( ) , , ( m C B A f i = ) 4 , 3 , 2 , 1 ( ) , , ( m C B A g .
14. Uporabom dekodera 3/8 i jednog ILI logikog sklopa realizirati multipleksor 2/1 bez
ulaza za omoguavanje.
15. Uporabom dekodera 4/16 i jednog ILI logikog sklopa realizirati multipleksor 2/1 s
ulazom za omoguavanje.
16. Na raspolaganju su dva dekadska dekodera s ulazima za omoguavanje te jedan ILI
sklop. Napisati strukturni VHDL model multipleksora 4/1 bez ulaza za omoguavanje.
Pretpostaviti da su potrebne komponente ve opisane.
17. Uporabom dvostrukog dekodera 2/4 s ulazima za omoguavanje realizirati funkciju
( )
Z Y X Z Y X f + = ) , , (
.
160 Zbirka rijeenih zadataka

18. Uporabom samo 4 multipleksora 2/1 ostvariti sklop koji na ulaz dobiva 4-bitni binarni
broj i upravljaki signal S, a na izlaz proputa broj s ulaza (ako je S=0), ili dvostruku
vrijednost broja (ako je S=1).
19. Uporabom samo 4 multipleksora 4/1 ostvariti sklop koji na ulaz dobiva 4-bitni binarni
broj i upravljake signale S
1
S
0
. Operacija koju sklop obavlja odreena je tablicom u
nastavku.
S
1
S
0
Operacija
0 0
Posmak u desno, punjenje s 0
0 1
Rotacija u desno
1 0
Posmak u lijevo, punjenje s 1
1 1
Rotacija u lijevo
20. Nacrtati shemu multipleksora 4/1 izvedenog pomou dekodera 2/4 i minimalnog broja
osnovnih logikih sklopova.
21. U VHDL-u napisati ponaajni model prioritetnog kodera 4/2.
22. Samo multipleksorom 2/1 realizirati funkciju
A A f = ) (
. Na raspolaganju su jo logika
'0' i logika '1'.
23. Samo multipleksorom 2/1 realizirati funkciju
B A B A f + = ) , (
. Na raspolaganju su jo
logika '0' i logika '1'.
24. Samo multipleksorom 2/1 realizirati funkciju
B A B A f = ) , (
. Na raspolaganju su jo
logika '0' i logika '1'.
25. Pomou dva multipleksora 2/1 realizirati funkciju
B A B A f = ) , (
. Na raspolaganju su
jo logika '0' i logika '1'.
26. Pomou dva multipleksora 2/1 realizirati funkciju
B A B A f = ) , (
. Na raspolaganju su
jo logika '0' i logika '1'.
27. Pomou dva multipleksora 2/1 realizirati funkciju
B A B A f + = ) , (
. Na raspolaganju su
jo logika '0' i logika '1'.
28. Pomou dva multipleksora 2/1 realizirati funkciju B A B A f = ) , ( . Na raspolaganju su
jo logika '0' i logika '1'.
29. Multipleksorom 4/1 realizirati funkciju
( ) ( )
= 7 , 6 , 4 , 3 , , m C B A f
. Na raspolaganju je
jo jedan invertor, te logika '0' i logika '1'.
30. Multipleksorom 4/1 realizirati funkciju
( ) ( )
= 7 , 5 , 4 , 3 , 2 , 1 , , m C B A f
. Pri tome se ne
smije koristiti niti jedan logiki sklop, niti logika '0' ili logika '1'.
31. Multipleksorom 4/1 realizirati funkciju
( )
AC B A C B A f + = , , . Na raspolaganju su jo
samo logika '0' i logika '1'.
32. Komparator dvobitnih binarnih brojeva je sklop koji ima etiri ulaza (a
1
, a
0
, b
1
, b
0
) te
jedan izlaz (y). Izlaz y postavljen je u logiku jedinicu samo kada su binarni brojevi
A=a
1
a
0(2)
i B=b
1
b
0(2)
jednaki.
a. Napiite algebarski izraz kojim je odreena funkcija ovog sklopa.
Standardni kombinacijski moduli. 161

b. Napiite ponaajni VHDL model ovog sklopa.
c. Pokaite da se samo uporabom potrebnog broja ovih sklopova (na raspolaganju su
jo i logika jedinica i logika nula) mogu ostvariti sve Booleove funkcije.
d. Uporabom ovih sklopova realizirajte multipleksor 2/1 i napiite njegov strukturni
model u VHDL-u.
33. Projektirajte sklop koji obavlja funkciju e usporedbe dva 4-bitna binarna broja A i B
ovisno o upravljakom signalu sel: ako je sel=00, sklop rauna e=(AB). Za sel=01
sklop rauna e=(A<B). Za sel=10 sklop rauna e=(A!=B) a za sel=11 sklop rauna
e=(A==0). Odabran nain rjeavanja mora biti primjenjiv i na viebitne brojeve (k>4).
34. (Pismeni ispit 30. 09. 2004.)
Algebarski odrediti minimalni oblik funkcije f(A,B,C) koju obavlja sklop sa slike.
B
DEK
y
0
y
1
y
2
y
3
a
0
a
1
I
0
I
1
a
f
f
I
0
I
1
a A
C


Standardni programirljivi moduli. 163


7. Standardni programirljivi moduli.


7.1. Zadatak

Uporabom PLA ostvariti funkciju ostatka dijeljenja trobitnog broja sa 3. Broj je kodiran
Grayevim kodom. Ostatak treba biti prikazan prirodnim binarnim kodom.


Prikaimo tablino funkcije koje treba ostvariti.

Broj kodiran Grayevim kodom Ostatak dijeljenja s 3 Vrijednost
broja b
2
b
1
b
0
r
1
r
0

0 0 0 0 0 0
1 0 0 1 0 1
2 0 1 1 1 0
3 0 1 0 0 0
4 1 1 0 0 1
5 1 1 1 1 0
6 1 0 1 0 0
7 1 0 0 0 1

Iz tablice moemo oitati r
1
i r
0
:

0 1 2 0 1 2 1
b b b b b b r + =
0 1 2 0 1 2 0 1 2 0
b b b b b b b b b r + + =

Ukoliko imamo dovoljno veliki PLA (odnosno dovoljno malu funkciju) sve produkte
moemo direktno realizirati bez potrebe za prethodnom minimizacijom. Budui da
ovdje nije bilo postavljenih uvjeta na karakteristike PLA, pretpostaviti emo da je
minimizacija nepotrebna. Rjeenje je prikazano na prvoj slici u nastavku.

Radi jednostavnijeg prikaza PLA (a i PAL kasnije) koristit emo pojednostavljeni nain
crtanja ovih struktura prikazan na drugoj slici. Snopovi ulaza u pojedine logike
sklopove crtaju se kao samo jedna ica, pri emu treba imati na umu da to nije stvarno
samo jedna ica (pa tako ne radi kratki spoj izmeu npr. b
2
', b
1
i b
0
).

164 Zbirka rijeenih zadataka

1
1
1
& & & & &
1
1
r
1
r
0
b
1
b
0
b
2
I polje
ILI polje

1
1
1
& & & & &
1
1
b
1
b
0
b
2
r
1
r
0
jedna "ica"
snop "ica"
jedna "ica"
snop "ica"

Standardni programirljivi moduli. 165


7.2. Zadatak

Zadane su funkcije ABC B A B A f + + =
1
i C B A C A C A f + + =
2
. Prikazati (F)PLA
temeljen na NILI sklopovima koji implementira ove funkcije.


1
1
1
B
C
A
f
1
f
2
1
1
1
1
1 1 1 1 1 1


Objanjenje: s prvom razinom NILI sklopova potrebno je realizirati produkte, a s
drugim slojem NILI sklopova te produkte sumirati. Produkte pomou NILI sklopova
moemo ostvariti tako da na ulaze dovedemo komplementirane vrijednosti. Naime,
prema DeMorganu:

( ) E D C B A NILI E D C B A E D C B A , , , , = + + + + =

Dakle, ako je u produktu varijabla u nekomplementiranom obliku, u NILI treba dovesti
komplement, i obratno.

Prvi produkt u
1
f je B A . Zbog toga na prvi NILI sklop dovodimo A i B . Drugi
produkt B A , pa na drugi NILI dovodimo A i B , itd.

Kada ostvarimo sve produkte prvom razinom NILI sklopova, drugom razinom ih treba
sumirati. To meutim nije mogue direktno, jer na izlazu NILI sklopa imamo
komplementiranu sumu. Zbog toga je na izlazu NILI sklopova jo potrebno staviti jedan
invertor (to se moe ostvariti bez dodatnih elemenata jer su PLA-ovi obino
"opskrbljeni" programirljivim invertorom na izlazu).
166 Zbirka rijeenih zadataka


7.3. Zadatak

PLA strukturom temeljenom na MOSFETu realizirane su funkcije, kako je prikazano na slici.
O kojim se funkcijama radi, i od kojih polja je sastavljen prikazani PLA? Nacrtati
nadomjesnu PLA shemu temeljenu na NILI logikim sklopovima.

1
+U
DD
+U
DD
+U
DD
+U
DD
+U
DD
x
1
1
x
2
1
x
3
+U
DD
+U
DD
f
1
f
2



Ova struktura temelji se na paralelnom radu tranzistora i ostvarena je pomou NILI
sklopova. Sastoji se od dvije NILI ravnine. Izlazi NILI sklopova prve razine oznaeni su
sa O
1
do O
5
(u prvoj ravnini imamo 5 NILI sklopova; prisjetimo se kako izgleda NILI
sklop: otpornik na +U
DD
, a s druge strane paralelno spojeni tranzistori i izlaz sklopa). Ti
izlazi vode se na NILI sklopove druge razine koji generiraju konane rezultate.


Standardni programirljivi moduli. 167

1
+U
DD
+U
DD
+U
DD
+U
DD
+U
DD
x
1
1
x
2
1
x
3
+U
DD
+U
DD
f
1
f
2
NILI
ravnina
NILI
ravnina
O
1
O
2
O
3
O
4
O
5


( )
2 1 2 1 1
, x x x x NILI O + = =
( )
3 1 3 1 2
, x x x x NILI O + = =
( )
3 2 1 3 2 1 3
, , x x x x x x NILI O + + = =
( )
2 1 2 1 4
, x x x x NILI O + = =
( )
3 2 3 2 5
, x x x x NILI O + = =

( )
( )( )( )
3 2 1 3 1 2 1
3 2 1 3 2 1 3 2 1 1
, ,
x x x x x x x
O O O O O O O O O NILI f
+ + + + =
= + + = =

( )
( )( )( )
3 2 2 1 3 1
5 4 2 5 4 2 5 4 2 2
, ,
x x x x x x
O O O O O O O O O NILI f
+ + + =
= + + = =

PLA sklop prikazan pomou logikih NILI sklopova:

168 Zbirka rijeenih zadataka

1
1
1
x
2
x
3
x
1
f
1
f
2
1
1
1 1 1 1 1



7.4. Zadatak

Realizirati funkcije:

( )

= 15 , 11 , 5 , 3 , 1 , 0
1
f i ( )

= 14 , 12 , 8 , 4 , 2 , 0
2
f

a) PLA-om tipa ILI-od-I,
b) PLA-om tipa NILI-od-NILI s mogunou komplementiranja izlaza.


a) ILI-od-I tip
1
1
1
C
D
B
f
1
f
2
1
A
1
1
& & & & & & & & & & &

Objanjenje: svaki od I sklopova u prvom sloju realizira jedan od minterma prisutnog u
funkcijama. Drugi sloj sumira potrebne minterme i time ostvaruje zadane funkcije.

b) NILI-od-NILI tip

Standardni programirljivi moduli. 169

Pogledati 2. zadatak za detaljno objanjenje kako se funkcije realiziraju ovim tipom. Na
prvu razinu sklopova NILI umjesto varijabli koje sudjeluju u nekom produktu dovodi se
njihovi komplementi kako bi NILI sklop izraunao taj produkt (DeMorgan).


1
1
1
C
D
B
f
1
f
2
1
1
1 1 1 1 1
1
A
1 1 1 1 1 1
1
1


7.5. Zadatak

Na raspolaganju je PAL sljedeih karakteristika: 3 ulaza, 3 izlaza, ILI sklopovi imaju po dva
ulaza, izlazi ILI sklopova i njihovi komplementi dovode se natrag u I ravninu.
Realizirati funkciju:

AB BC AC AB f + + + =


Shema ovakvog PALa prikazana je u nastavku, zajedno s rjeenjem.

Objanjenje:

Zadanu funkciju moemo minimizirati:

C B A AB BC AC AB f + + = + + + =

Meutim, kako imamo na raspolaganju samo dvoulazne ILI sklopove u PALu, direktno
ne moemo realizirati ovu funkciju. Zapiimo zato funkciju malo drugaije:

2 1
f f AB BC AC AB f + = + + + =
AC AB f + =
1

AB BC f + =
2


Sada funkcije f
1
i f
2
moemo realizirati pomou dvoulaznih ILI sklopova, a kako te
rezultate ponovno dobivamo u I polju, moemo ih koristiti za generiranje konanog
rezultata, kao to je i napravljeno.
170 Zbirka rijeenih zadataka


1
1
C
B
f
1
f
2
1
A
1
1
& & & & & &
f
1
1
1
1



7.6. Zadatak

Na raspolaganju je programirljivo logiko polje dimenzija (3,5,2) izvedeno NILI sklopovima.
Izlazi su izvedeni upravljanim EX-ILI sklopovima. Nacrtati ovu strukturu i pomou nje
ostvariti funkcije C A C A B A f + + =
1
i B A C B B A f + + =
2
.


Umnoak dviju (ili vie) varijabli moe se NILI sklopom ostvariti tako da se na njega
dovedu komplementi, tj:

)) ( ), ( ( B NE A NE NILI B A AB = + =

Zbroj dviju (ili vie) varijabli moe se ostvariti tako da se dovedu na NILI sklop iza
kojeg se rezultat komplementira:

)) , ( ( B A NILI NE B A B A = + = +

Invertor na izlazu ostvarit emo EX-ILI sklopom tako da na slobodan ulaz dovedemo 1.


Standardni programirljivi moduli. 171

1
1
1
B
C
A
f
1
f
2
1
1
=1
=1
1 1 1 1 1
1


Napomena: upravljani EX-ILI sklop esto se naziva i upravljivi invertor, jer ovisno o
vrijednosti na jednom ulazu na izlaz proputa drugi ulaz ili njegov komplement.


7.7. Zadatak

Na raspolaganju je logiki blok s 2 ulaza realiziran multipleksorima 2/1 i LUT-om. Nacrtajte
blok i programirajte ga da obavlja logiku funkciju XOR.


Multipleksor 2/1 u nastavku e se
oznaavati simbolom:



pri emu e znaenje pojedinih prikljuaka
biti:

d
0
d
1
a
0
y



Izgradnjom multipleksorskog stabla dobije se sljedei logiki blok:



172 Zbirka rijeenih zadataka

Jo je samo potrebno odrediti to treba pohraniti u LUT, kako bi element obavljao
zadanu logiku funkciju. Moemo pisati:

( )

= + = = 2 , 1
2 1 2 1 2 1
X X X X X X f

Dakle, funkcija se moe izraziti kao suma minterma 1 i 2, pa na ulaze d
1
i d
2
treba
dovesti 1, a na preostale ulaze d
0
i d
3
treba dovesti 0. Programiran logiki blok prikazan
je na slici:

0
1
1
0
X
1
X
2
f


7.8. Zadatak

Na raspolaganju je logiki blok s 3 ulaza realiziran multipleksorima 2/1 i LUT-om. Nacrtajte
blok i programirajte ga da obavlja logiku funkciju:

BC AB f + = .


( )

= + + = + + + = + = 7 , 6 , 3 ) ( ) ( BC A C AB ABC BC A A C C AB BC AB f

Logiki blok koji obavlja ovu funkciju prikazan je u nastavku.

0
0
0
1
0
0
1
1
A
B
C
f




Standardni programirljivi moduli. 173

7.9. Zadatak

Na raspolaganju je FPGA s dvoulaznim logikim blokovima temeljenim na LUTovima.
Prikazati strukturu sklopa. Programirati sklop tako da ostvaruje logiku funkciju f.

3 2
f f f =
B A f =
1

B A f + =
2

C f f + =
1 3



a
1
a
0
0
1
1
0
f
1
a
1
a
0
1
1
0
1
f
3
a
1
a
0
1
1
0
1
f
2
a
1
a
0
0
0
0
1
f
C
A
B
f



Objanjenje: podebljani X oznaava ostvareni spoj dok tanki X oznaava mogunost
spoja koja nije iskoritena. Varijabla A dovodi se na prvu okomitu liniju i zatim na ulaz
a
1
prvog logikog bloka. Varijabla B dovodi se na drugu okomitu liniju i zatim na ulaz
a
0
prvog logikog bloka. Ovaj logiki blok treba ostvariti funkciju f
1
, pa LUT treba
programirati na sljedei nain:

( )

= + = = = 2 , 1 ) , (
1
B A B A B A B A f f

U LUT treba upisati uzorak 0110 (na 1. i 2. ulaz dekodera dovodi se 1, a na 0. i 3. ulaz
dekodera dovodi se 0).

174 Zbirka rijeenih zadataka

Istovremeno se s prve okomite linije varijabla A dovodi i na a
1
ulaz logikog bloka
dolje-lijevo, a varijabla B sa druge okomite linije na ulaz a
0
. Kako ovaj logiki blok
treba ostvariti funkciju f
2
:

( )

= + + = + + + = + = = 3 , 1 , 0 ) ( ) ( ) , (
2
AB B A B A B A A B B A B A B A f f

u LUT treba upisati uzorak 1101.

Izlaz f
1
se preko zadnje okomite linije srednjeg snopa dovodi na ulaz a
1
logikog bloka
gore-desno. Istovremeno se na a
0
ulaz tog bloka dovodi varijabla C (treom
vodoravnom linijom gornjeg vodoravnog snopa, pa zatim treom okomitom linijom
srednjeg okomitog snopa). Taj sklop obavlja funkciju f
3
(koja ovisi o f
1
i C):

( )

= + + = + + + = + = = 3 , 1 , 0 ) ( ) ( ) , (
1 1 1 1 1 1 1 1 3
C f C f C f C f f C C f C f C f f f

pa LUT popunjavamo uzorkom 1101.

Konano se na ulaz a
1
logikog bloka dolje-desno dovodi f
2
preko druge okomite linije
srednjeg okomitog snopa, a na ulaz a
0
dovodi se f
3
(prvom okomitom linijom desnog
okomitog snopa, pa prvom vodoravnom linijom srednjeg vodoravnog snopa, i konano
prvom okomitom linijom srednjeg okomitog snopa). Taj sklop ostvaruje logiku I
funkciju:

( )

= = = 3 ) , (
3 2 3 2
f f f f f f

pa LUT popunjavamo uzorkom 0001.

Rezultat f vodi se preko etvrte okomite linije desnog okomitog snopa i etvrte
vodoravne linije gornjeg vodoravnog snopa na izlazni konektor f.

7.10. Zadatak

Uporabom logikih blokova s 2 ulaza realiziranih multipleksorima 2/1 i LUT-om realizirati
funkciju

= ) 15 , 14 , 13 , 12 , 10 , 9 , 6 , 5 , 2 , 1 ( ) , , , ( m D C B A f . Nije potrebno crtati shemu samog


logikog bloka.


Zadana je funkcije od etiri varijable, a na raspolaganju imamo dvoulazne LUT-ove.
Direktno, dakle, funkciju ne moemo realizirati. Pronaimo zato algebarski oblik
zadane funkcije. Upiemo li funkciju u K-tablicu, nakon minimizacije dobivamo:

D C D C AB D C B A f + + = ) , , , (

Ovaj izraz moramo raspisati na takav nain koji e u sebi sadravati samo funkcije od
dvije varijable. Npr. uvedimo sljedee supstitucije:

= = = ) 3 ( ) , ( ) , , , (
1 1
m B A f AB D C B A f
Standardni programirljivi moduli. 175

= = + = ) 2 , 1 ( ) , ( ) , , , (
2 2
m D C f D C D C D C B A f

Za funkciju f tada vrijedi:

= + + = = + = ) 3 , 2 , 1 ( ) , ( ) , , , (
2 1 2 1 2 1 2 1 2 1
m f f f f f f f f f f f D C B A f

Sada moemo iskoristiti jedan logiki blok za realizaciju funkcije f
1
, jedan logiki blok
za realizaciju funkcije f
2
te jedan logiki blok za realizaciju funkcije f koji rauna
logiku ILI operaciju.

Rjeenje je prikazano na slici:



7.11. Zadatak

Potpuno zbrajalo ostvariti:

a) dvostrukim multipleksorom 4/1
b) dekoderom 3/8


Napravimo najprije tablicu kombinacija.

A B Cin R Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

176 Zbirka rijeenih zadataka



a) dvostrukim multipleksorom 4/1

0
D
1
D
2
D
3
D
0
D
1
D
2
D
3
D
1
Sel
0
Sel
z
z
in
C
in
C
in
C
in
C
in
C
in
C
0
1
R
C
out
A B


b) dekoderom 3/8

A
1
A
0
B
in
C
A
2
A
1
1
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
R
C
out




Standardni programirljivi moduli. 177

7.12. Pismeni ispit, 09. 02. 2004, 4. zadatak

Na raspolaganju je programirljivo logiko polje PLA tipa NI-NI veliine 332. Njegovom
uporabom ostvariti etverobitni prioritetni koder (sklop s n ulaza, te izlazima koji poprimaju
binarno kodiran najvei redni broj ulaza koji je u stanju 1; npr. uz ulaze I
0
I
1
I
2
I
3
=0101 izlaz je
3
(2)
; pretpostaviti da e uvijek barem jedan ulaz biti u 1).


Napiimo tablini prikaz funkcije koju obavlja sklop:

I
3
I
2
I
1
I
0
O
1
O
0

0 0 0 0

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

Mimimizacijom dalje slijedi:

O
1
: I
3
I
2

00 01 11 10
I
1
I
0
00

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

I
3
I
2
I
1
I
0
3
I
2
I


178 Zbirka rijeenih zadataka

O
0
: I
3
I
2

00 01 11 10
I
1
I
0
00

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

I
3
I
2
I
1
I
0
3
I
1 2
I I


3 2 1
I I O + =
3 1 2 0
I I I O + =

PLA struktura koja obavlja ovu funkciju tada je prikazana na slici:

1
1
1
I
2
I
1
I
3
O
1
O
0
& & &
&
&


ZADACI ZA VJEBU

1. Na raspolaganju je PLA tipa NI-NI dimenzija 452 s upravljivim invertorima na
izlazima (slino zadatku 7.6). Nacrtati ovu strukturu i pomou nje ostvariti funkcije:

( ) ( ) C A D C B A D C B A f + + = , , ,
1

( ) ( ) AD A C B D C B A f + + = , , ,
2





Bistabil. 179


8. Bistabil.

8.1. Zadatak

Prikaite tablice stanja, simbole i dijagrame stanja za:
a) SR bistabil (prikazati i izvedbu NI sklopovima te objasniti rad),
b) JK bistabil,
c) T bistabil,
d) D bistabil.


Bistabil je osnovni memorijski element.

a) SR bistabil

Najjednostavniji bistabil je SR bistabil (bez ulaza Cp). Moe se izvesti pomou npr. dva
NI sklopa kako je prikazano u nastavku:

&
&
S
R
Q
Q


Ako ovakav sklop realiziramo uporabom diskretnih komponenti, u trenutku ukljuenja
napajanja stanje bistabila biti e nepoznato. Pod pojmom stanje bistabila podrazumijeva
se vrijednost Q. Kaemo da je bistabil postavljen ako je Q=1, a resetiran ako je Q=0.

Npr. neka je Q=0 i Q =1. Ulazi S i R neka su 1. Provjerom utvrujemo da je stanje
stabilno. Ako sada S pree s 1 u 0, stanje bistabila se mijenja u Q=1 i Q =0, i takoer
je stabilno. povratkom S natrag u 1 stanje ostaje stabilno. Ako sada R pree s 1 u 0,
stanje bistabila se mijenja u Q=0 i Q =1, i takoer je stabilno. povratkom R natrag u 1
stanje ostaje stabilno. Ako S i R istovremeno preu iz 1 u 0, Q i Q su oba 1, to je
nekonzistentno stanje prema Booleovoj algebri. Ta pobuda zato je zabranjena kod SR
bistabila. Iz ovog razmatranja vidimo da ulaz S ostvaruje funkciju postavljanja bistabila
(engl. Set), a ulaz R ostvaruje funkciju resetiranja bistabila (engl. Reset). Tablica stanja,
simbol i dijagram stanja prikazani su u nastavku.
180 Zbirka rijeenih zadataka


S R
1 + n
Q
0 0
n
Q
0 1 0
1 0 1
1 1 ?

Tablica stanja
S
R Q
Q
CP


Simbol bistabila
0 1
00
01
11
10
01
00
10
11
?
?
S,R

Dijagram stanja

Ukoliko bistabil ima Cp ulaz, tada ulazi za pobudu imaju utjecaja samo kada je Cp=1,
dok za sluaj Cp=0 bistabil ne reagira na pobudu.

b) JK bistabil



J K
1 + n
Q
0 0
n
Q
0 1 0
1 0 1
1 1
n
Q

Tablica stanja
J
K Q
Q
CP


Simbol bistabila
0 1
00
01
10,11
01,11
00
10
J,K

Dijagram stanja

c) T bistabil


Bistabil. 181


T
1 + n
Q
0
n
Q
1
n
Q

Tablica stanja
T
Q
Q
CP


Simbol bistabila
0 1 0
1
1
0
T

Dijagram stanja

d) D bistabil



D
1 + n
Q
0 0
1 1

Tablica stanja
D
Q
Q
CP


Simbol bistabila
0 1 0
1
0
1
D

Dijagram stanja


182 Zbirka rijeenih zadataka

8.2. Zadatak

Ostvarite sljedee bistabile uporabom zadanog bistabila i minimalnog broja dodatnih logikih
sklopova:

a) uporabom T bistabila ostvariti JK bistabil
b) uporabom JK bistabila ostvariti T bistabil


Postupak rjeavanja uvijek se provodi u etiri koraka:

1. Napisati tablicu stanja (tablica 1) traenog bistabila (bistabila kojeg treba
realizirati).
2. Napisati tablicu stanja (tablica 2) zadanog bistabila (ili nacrtati dijagram stanja),
tj. bistabila koji nam stoji na raspolaganju.
3. Proiriti tablicu 1 ulazima zadanog bistabila, i postaviti im vrijednost koja
osigurava promjenu stanja Q
n
Q
n+1
kako je navedeno u tablici.
4. Ulaze zadanog bistabila u tablici 1 promatrati kao funkcije od stanja bistabila i
ulaza traenog bistabila te ih izraunati (po mogunosti u minimalnom obliku).

a) JK bistabil pomou T bistabila

Tablica 1.


n
Q J K
1 + n
Q T
0 0 0 0 0
0 0 1 0 0
0 1 0 1 1
0 1 1 1 1
1 0 0 1 0
1 0 1 0 1
1 1 0 1 0
1 1 1 0 1

Ovisnost novog stanja traenog
bistabila o trenutnom stanju i
ulazima u bistabil.
Proirenje ulazima bistabila
koji imamo, i vrijednosti koje
je potrebno dovesti na ulaze
kako bi se osigurala promjena
stanja navedena u tablici.
Bistabil. 183

Tablica 2. Tablica stanja T bistabila.

n
Q T
1 + n
Q
0 0 0
0 1 1
1 0 1
1 1 0

Objanjenje tablice 1

Pogledajmo prvi redak tablice 1. Ako se je bistabil nalazio u stanju 0, i na ulaze je
dovedeno 00, novo stanje e biti 0 ovo nam govori tablica stanja JK bistabila. No, mi
zapravo imamo T bistabil koji e "glumiti" JK bistabil. Da bi T bistabil promijenio
stanje iz 0 =
n
Q u 0
1
=
+ n
Q (odnosno ostao u istom stanju), na ulaz T mora biti
dovedena 0 (vidimo iz tablice stanja T bistabila; tablica 2).
Pogledajmo sada trei redak tablice 1. Ako se je bistabil nalazio u stanju 0, i na ulaze je
dovedeno 10, novo stanje e biti 1 ovo nam govori tablica stanja JK bistabila. Da bi T
bistabil promijenio stanje iz 0 =
n
Q u 1
1
=
+ n
Q , na ulaz T mora biti dovedena 1 (vidimo
iz tablice stanja T bistabila; tablica 2).

Sada jo treba pronai logiki izraz koji opisuje T kao funkciju od
n
Q , J i K. Iz tablice 1
to moemo direktno oitati:

( )

= 7 , 5 , 3 , 2 ) , , ( K J Q T
n


Izraz moemo minimizirati pa dobijemo:

T JK
00 01 11 10
Q
n

0
1 1

1
1 1




n n
Q K Q J T + =


184 Zbirka rijeenih zadataka

T
Q
Q
CP
1
&
&
J
K
JK bistabil
CP
Q
Q


b) T bistabil pomou JK bistabila

Tablica 1.

n
Q T
1 + n
Q J K
0 0 0 0

0 1 1 1

1 0 1

0
1 1 0

1

Dijagram 2. Dijagram stanja JK bistabila

0 1
00
01
10,11
01,11
00
10
J,K


Objanjenje tablice 1

Pogledajmo prvi redak tablice 1. Ako se T bistabil nalazi u stanju 0, i na ulaz T se
dovede 0, novo stanje biti e 0. Da bi JK bistabil promijenio stanje iz 0 =
n
Q u 0
1
=
+ n
Q
(odnosno ostao u istom stanju), na ulaz JK mora biti dovedeno 0 (vidimo iz dijagrama
stanja JK bistabila; dijagram 2). Naime, ostajemo u stanju 0 ako dovedemo na ulaze 00,
ili 01, to krae zapisujemo s 0. Ovo se je takoer moglo oitati i iz tablice stanja JK
bistabila, meutim lake je oitavati direktno iz dijagrama stanja. Ostale retke
popunjavamo slino.

Sada jo moramo oitati J i K kao funkcije od
n
Q i T. Iz tablice 1 to moemo direktno
oitati:

( ) ( )

+ = 3 , 2 1 ) , ( d m T Q J
n

( ) ( )

+ = 1 , 0 3 ) , ( d m T Q K
n


Bistabil. 185

J T
0 1
Q
n

0 1

1


T J =
K T
0 1
Q
n

0

1 1


T K =

J
K Q
Q
CP
T
CP
Q
Q
T bistabil


8.3. Zadatak

Napisati strukturni opis SR bistabila izvedenog NI sklopovima, te ponaajni opis D bistabila
sa sinkronim ulazom za reset, koji reagira na padajui brid signala takta. Neka kanjenje
koritenih logikih sklopova (SR bistabil) odnosno samog bistabila (D bistabil) iznosi 5 ns.


SR bistabil

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY SRbistabil IS PORT (
S, R: IN std_logic;
Q, Qn: OUT std_logic
);
END SRbistabil;

ARCHITECTURE Structural OF SRbistabil IS
SIGNAL Qint, Qnint: std_logic;
BEGIN

-- Izraun internih izlaza
Qint <= S NAND Qnint AFTER 5 ns;
Qnint <= R NAND Qint AFTER 5 ns;

-- Preslikavanje na izlaze bistabila
Q <= Qint;
Qn <= Qnint;

END Structural;


186 Zbirka rijeenih zadataka

D bistabil

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY Dbistabil IS PORT (
D, Reset: IN std_logic;
Q, Qn: OUT std_logic;
Clock: IN std_logic
);
END Dbistabil;

ARCHITECTURE Behavioral OF Dbistabil IS
BEGIN

PROCESS(Clock)
VARIABLE Qint: std_logic;
BEGIN
IF falling_edge(Clock) THEN
IF Reset = '1' THEN
Qint := '0';
ELSE
Qint := D;
END IF;
END IF;
Q <= Qint AFTER 5 ns;
Qn <= NOT Qint AFTER 5 ns;
END PROCESS;

END BEHAVIORAL;

8.4. Zadatak

Na izlaz logikog bloka s tri ulaza ostvarenog multipleksorima 2/1 i LUT-om direktno je
spojen D bistabil. Nacrtati ovu strukturu. Programirati LUT i projektirati sklop tako da djeluje
kao JK bistabil. Ulaze logikog bloka oznaiti s A
2
A
1
A
0
, gdje je A
2
ulaz najvee teine. Neka
A
2
odgovara ulazu J, a ulaz A
1
ulazu K.


Napiimo tablicu promjene stanja bistabila JK, i ulaz bistabila koji doista imamo:

J K Q
n
Q
n+1
D
0 0 0 0 0
0 0 1 1 1
0 1 0 0 0
0 1 1 0 0
1 0 0 1 1
1 0 1 1 1
1 1 0 1 1
1 1 1 0 0

Programirani logiki blok je tada:

Bistabil. 187

0
1
0
0
1
1
1
0
A
2
A
1
A
0
f
D
Q
Q
CP
J
K
Q


8.5. Zadatak

Uporabom potrebnom broja multipleksora 2/1 prikazati principijelnu shemu:
a) sinkronog D bistabila okidanog razinom signala vremenskog voenja,
b) sinkronog D bistabila okidanog bridom signala vremenskog voenja (master slave D
registar).
Objasniti funkciju D bistabila.


a) Sinkroni D bistabil okidan razinom signala vremenskog voenja:

Simbol:

D
Q
Q
CP

Funkcija:

D bistabil pamti podatak s ulaza D kroz
vrijeme dok je CP neaktivan.
Implementacija:

d
0
d
1
a
y
D
CP
Q


188 Zbirka rijeenih zadataka

Kada je CP = 1, adresiran je ulaz d
1
, pa se podatak D prenosi na izlaz Q, ali i povratnom
vezom vraa na ulaz d
0
. Sve promjene podatka D za vrijeme trajanja CP=1 prenose se i
na izlaz. Kada CP prijee u 0, adresiran je ulaz d
0
, no kako je na taj ulaz direktno spojen
izlaz sklopa, podatak koji je bio na izlazu u trenutku kada je CP preao u 0 ostaje
zarobljen u sklopu. Ovo je takoer stabilno stanje.

b) sinkroni D bistabil okidan bridom signala vremenskog voenja (master slave D
registar).

Simbol:

D
Q
Q
CP

Izvedba bistabilima:

D
Q
Q
CP
D
Q
Q
CP
D
CP


Implementacija multipleksorima:

d
0
d
1
a
y
D
CP
d
0
d
1
a
y Q


Sklop je napravljen analogno dvostrukom JK bistabilu objanjenom na predavanjima.
Glavni nedostatak je podvostruenje dijelova ime se poveava povrina koju sklop
zauzima na ploici silicija, meutim, glavni dobitak je okidanje na brid CP-a.

U trenutku kada je CP = 0, ulaz D prenosi se na izlaz prvog multipleksora, ali ne i dalje.
Potencijalne promjene ulaza D prolaze samo do polovice sklopa. U trenutku kada CP
prelazi u 1 (dakle na rastui brid) prvi bistabil (multipleksor) se otpaja od ulaza D, a
trenutni njegov izlaz se prosljeuje kroz drugi bistabil (multipleksor). Stanje ostaje
stabilno, i eventualne promjene ulaza D vie nemaju utjecaja na izlaz.

Bistabil. 189


8.6. Zadatak

U realnim sklopovima postoji kanjenje. Objasniti utjecaj kanjenja na izvedbu bridom
okidanog bistabila prema principijelnoj shemi iz prethodnog zadatka.


U prethodnom zadatku prikazana je principijelna shema bridom okidanog bistabila
uporabom dva multipleksora. Meutim, pokua li se prema toj shemi izvesti konkretan
bistabil, sklop vrlo vjerojatno nee raditi, jer njegov rad ovisi o istovremenom
preklapanju prvog i drugog bistabila. Nacrtajmo tu shemu jo jednom, na neto
modificirani nain:

d
0
d
1
a
y
D
d
0
d
1
a
y
CP
CP
2
Q
1
Q


Prikazan je padajuim bridom okidan dvostruki D bistabil, gdje je Q
2
izlaz. Uz
pretpostavku da uvijek vrijedi

1 = + CP CP ,

analiza rada odgovara analizi iz prethodnog zadatka. Meutim, prilikom implementacije
ovog sklopa koristit e se realne komponente te e na temelju signala CP trebati
generirati njegov komplement (ili obrnuto) zbog ega vie nee vrijediti:

1 = + CP CP .

Naime, jedan od ta dva signala kasnit e za onim drugim. Zbog toga treba provesti
analizu utjecaja vremena kanjenja na rad sklopa. Radi jednostavnosti pretpostavimo da
su multipleksori komponente koje rade trenutno (dakle, ne kasne). Jedino mjesto gdje
postoji kanjenje jest izmeu signala CP i CP . Zbog toga emo signale oznaene s CP
i CP promatrati kao dva nezavisna signala. Pretpostavimo najprije da signal CP kasni
za signalom CP odreeno vrijeme (to je i razumna pretpostavka ako se signal CP
generira proputanjem signala CP kroz invertor). Tada je ponaanje sklopa prikazano
sljedeim vremenskim dijagramom (dijagram 1).

U poetnom trenutku Q
1
i Q
2
nalaze se u nekom nepoznatom (ali konkretnom stanju;
moemo pretpostaviti da je to npr. '1'). Ta dva stanja su ista, jer je CP =1, to znai da
drugi multipleksor na svoj izlaz direktno proputa Q
1
. Na prvi rastui brid CP-a, prvi
multipleksor na svoj izlaz proputa ulaz D, a kako se drugi multipleksor jo nije
prebacio na ulaz d
0
(jer je CP jo uvijek 1), stanje s ulaza D preslikava se na izlaz
190 Zbirka rijeenih zadataka

bistabila! Sklop je, dakle, reagirao i na rastui brid CP-a, to svakako nije eljeno
ponaanje (sklop bi trebao reagirati samo na padajui brid!). Malo detaljnijom analizom
moe se uoiti da ovaj sklop zapravo reagira na svaki brid (i rastui i padajui)!
D
CP
CP
2
Q
1
Q
t
t
t
t
t

Dijagram 1. Ponaanje sklopa za sluaj da komplement kasni.

Analizirajmo sada drugi sluaj: neka signal CP rani pred signalom CP (o konkretnoj
implementaciji bit e rijei u nastavku). Ponaanje sklopa tada je opisano vremenskim
dijagramom 2.

D
CP
CP
2
Q
1
Q
t
t
t
t
t

Dijagram 2. Ponaanje sklopa za sluaj da komplement rani.

U ovom sluaju sklop radi ispravno. Naime, promjena izlaza dogaa se na rastui brid
signala CP to okvirno odgovara padajuem bridu signala CP . Kako sklop radi? Oko
padajueg brida signala CP najprije se izlazni multipleksor prebacuje tako da na izlaz
preslikava Q
1
(koji je do tog trenutka pratio ulaz D), a zatim se ulazni multipleksor
Bistabil. 191

zatvara u petlju u kojoj je zakljuan Q
1
(i time se otpaja od ulaza D). Oko rastueg brida
CP -a dogaa se upravo suprotno: najprije se izlazni multipleksor zatvara u petlju u
kojoj uva Q
2
, a tek se potom ulazni multipleksor prebacuje tako da na svoj izlaz
preslikava trenutni ulaz (to u tom trenutku vie nema utjecaja na izlazni multipleksor).
Prethodni sluaj kada je CP kasnio za CP -om nije radio upravo zbog pogrenog
redoslijeda promjena na multipleksorima; naime, u tom sluaju prilikom rastueg brida
CP -a najprije je ulazni multipleksor na svoj izlaz (Q
1
) propusti trenutni ulaz D (koji je
odmah bio proslijeen i na izlaz Q
2
unitavajui time trenutni Q
2
), a tek je zatim izlazni
multipleksor zakljuao na svom izlazu trenutni Q
2
(koji je tada zapravo odgovarao
podatku s ulaza D).

Ostaje jo samo problem realizacije: kako napraviti sklop koji e predviati
komplement signala CP prije no to se sam CP promijeni? Rjeenje je prikazano u
nastavku:

d
0
d
1
a
y
D
d
0
d
1
a
y
CLK CP = CLK CP =
2
Q
1
Q
1 1
CLK


Sklop zapravo reagira na padajui brid signala CLK. Signali CP i CP generiraju se na
temelju signala CLK, te je oito da e na ovaj nain signal CP uvijek raniti pred
signalom CP .

Slian nain realizacije bistabila (i generiranja signala CP i CP ) danas se koristi kod
vrlo popularne porodice integriranih logikih sklopova CMOSa!

ZADACI ZA VJEBU

1. Uporabom dva NILI sklopa ostvariti osnovni SR bistabil. Ako je kanjenje svakog NILI
sklopa 10 ns, nacrtati vremenske dijagrame izlaza Q i Q za pobudu zadanu slikom. Da
li se u odzivu sklopa pojavljuju oscilacije? Zato? Da li bi SR bistabil izveden realnim
komponentama oscilirao? Zato? Prilikom rjeavanja zadatka pretpostavite da je u
poetnom trenutku izlaz Q u logikoj nuli, a izlaz Q u logikoj jedinici.

192 Zbirka rijeenih zadataka


Pobuda bistabila
2. Napiite strukturni VHDL model JK bistabila uporabom komponente SRbistabil
opisane u zadatku 8.3 i osnovnih logikih sklopova (koristiti VHDL operatore AND,
OR, NOT i sl.).
3. (Pismeni ispit 12. 11. 2004.)
Ponaajnim VHDL-om opisati JK bistabil (ulazi J, K, CP, izlazi Q i Q'). Koristei taj
sklop kao komponentu, strukturnim VHDL-om opisati sklop temeljen na dva JK
bistabila s dijeljenim ulazima J i CP, zasebnim ulazima K1 i K2 te izlazima Q1 i Q2.


Povijesna crtica

Svi do sada obraeni bistabili ime su dobili prema funkciji. SR od Set/Reset, D od
Delay, T od Toggle a JK od ?

Pria ide ovako. U srpnju 1958. godine, kada je veina zaposlenika Texas Instruments-
a otila na tradicionalni dvotjedni odmor, Jack Kilby, kao novi zaposlenik bez prava na
odmor ostao je na poslu, i rjeavao problem poznat pod nazivom "tiranija brojeva".
Bilo je to vrijeme elektronskih cijevi koje su bile relativno velike i nepouzdane. 1947.
godine izmiljen je tranzistor (Bell Telephone Laboratories) ime su rijeeni neki od
problema elektronici. Meutim, za izgradnju kompliciranijih sklopova ipak je trebalo
runo povezivati veliki broj diskretnih elektronikih komponenti.

Kilby je razmiljao o nainu kako rijeiti ovaj problem. Zakljuio je da je jedina stvar
koju proizvoa poluvodia moe jeftino i efikasno proizvoditi upravo poluvodii.
"Daljnja razmiljanja dovela su me zakljuka da je poluvodi zapravo i sve to mi je
potrebno" napisao je Kilby 1976. u lanku "Invention of the IC." U srpnju 1958.
godine Kilby je zapoeo sa zapisivanjem svojih ideja i izradom skica. 12. rujna 1958.
pred elnicima Texas Instrumentsa Kilby je napravio demonstraciju. Pokazao je
komadi srebra na germaniju, a u trenutku kada je pritisnuo sklopku, na osciloskopu se
je pojavila beskonano ponavljajua sinusoida. Njegov izum je radio - rijeio je
problem.

Prema inicijalima Jacka Kilbyja, izumitelja integriranih sklopova, JK bistabil je dobio
ime



Digitalna aritmetika. 193


9. Digitalna aritmetika.


9.1. Zadatak

Za brojeve 10010
(2)
, 10111
(2)
, 00000
(2)
, 12012
(3)
te 22001
(3)
izraunati (B-1)-vi te B-ti
komplement.


Prvi broj zapisan je u binarnom brojevnom sustavu. Slijedi da je baza brojevnog sustava
B=2. Zbog toga se (B-1)-vi komplement kod ovog brojevnog sustava jo i zove
jedinini komplement (B-1=2-1=1), a B-ti komplement naziva se dvojni komplement.
Tada je (B-1)-vi komplement broja X broj X' koji ima isti broj znamenaka kao i X, a i-ta
znamenka od X' dobije se tako da se od (B-1) oduzme i-ta znamenka od broja X.
Konkretno, slijedi da je (B-1)-vi komplement od broja 10010
(2)
:

1 0 0 1 0

(B-1)-1
=1-1=0
(B-1)-0
=1-0=1
(B-1)-0
=1-0=1
(B-1)-1
=1-1=0
(B-1)-0
=1-0=1

0 1 1 0 1

Dakle, (B-1)-vi komplement od broja 10010
(2)
je 01101
(2)
. Uoiti koje svojstvo ima (B-
1)-vi komplement: zbrajanjem broja i njegovog (B-1)-vog komplementa dobiva se broj
ije su sve znamenke upravo B-1! Naime:

1 0 0 1 0
+ 0 1 1 0 1
1 1 1 1 1

B-ti komplement od broja X dobiva se pribrajanjem jedinice (B-1)-vom komplementu
broja (uz ogradu da broj znamenaka ostaje nepromijenjen u sluaju generiranja
vodeeg preljeva, preljev se zanemaruje). Dakle, B-ti komplement od broja 10010
(2)

iznosi:

) 2 ( ) 2 ( ) 2 (
01110 1 01101 1 ) 1 ( = + = + =
K K
B B

Zbrajanjem broja X i njegovog B-tog komplementa dobit e se broj kod kojeg su na
mjestima znamenaka pribrojnika nule, i generira se vodea jedinica kao preljev:

1 0 0 1 0
+ 0 1 1 1 0
1 0 0 0 0 0

194 Zbirka rijeenih zadataka

Istim nainom izrauna slijedi da je (B-1)-vi komplement od 10111
(2)
jednak 01000
(2)
, a
B-ti komplement 01001
(2)
.

(B-1)-vi komplement od broja 00000
(2)
je 11111
(2)
, a B-ti komplement iznosi 00000
(2)
.

Sljedei broj zapisan je u ternarnom brojevnom sustavu. Slijedi da je baza brojevnog
sustava B=3. (B-1)-vi komplement broja 12012
(3)
tada je:

1 2 0 1 2

(B-1)-1
=2-1=1
(B-1)-2
=2-2=0
(B-1)-0
=2-0=2
(B-1)-1
=2-1=1
(B-1)-2
=2-2=0

1 0 2 1 0

Dakle, (B-1)-vi komplement od broja 12012
(3)
je 10210
(3)
. Njihovim zbrajanjem dobije
se (oekivano): 22222
(3)
; dakle, broj ije su sve znamenke upravo (B-1).

B-ti komplement broja 12012
(3)
tada je:

) 3 ( ) 3 ( ) 3 (
10211 1 10210 1 ) 1 ( = + = + =
K K
B B

Zbrajanjem broja 12012
(3)
i njegovog B-tog komplementa (10211
(3)
) dobiva se upravo
00000
(3)
(uz odbacivanje preljeva).

Istim nainom izrauna slijedi da je (B-1)-vi komplement od 22001
(3)
jednak 00221
(3)
, a
B-ti komplement iznosi 00222
(3)
.


9.2. Zadatak

Izvesti poluzbrajalo - napisati logike izraze, prikazati simbol.


A
i
B
i
S
i
C
i

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

i i i i i i i
B A B A B A S = + =

i i i
B A C =

S
i
C
i
B
i
A
i
H


Simbol poluzbrajala

Digitalna aritmetika. 195


9.3. Zadatak

Izvesti potpuno zbrajalo poluzbrajalima - napisati logike izraze, prikazati simbol.


A
i
B
i
C
i-1
S
i
C
i

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

( ) ( )
( ) ( )
1
1 1
1 1
1 1 1 1




=
+ =
+ + + =
+ + + =
i i i
i i i i i i
i i i i i i i i i i
i i i i i i i i i i i i i
C B A
C B A C B A
C B A B A C B A B A
C B A C B A C B A C B A S


( )
( )
i i i i i
i i i i i i i
i i i i i i i i i i i i i
B A C B A
B A C B A B A
C B A C B A C B A C B A C
+ =
+ + =
+ + + =


1
1
1 1 1 1


S
i
C
i
C
i-1
A
i
F
B
i


Simbol potpunog zbrajala
S
i
C
i
B
i
A
i
H
S
i
C
i
B
i
A
i
H
S
i
C
i
B
i
A
i
C
i-1
1


Izvedba uporabom poluzbrajala


9.4. Zadatak

Realizirati etiri-bitno zbrajalo uporabom potpunih zbrajala i bez dodatnih sklopova.


Potpuna zbrajala povezati emo tako da paralelno obavljaju zbrajanje odgovarajuih
bitova, a prijenos koji nastaje iriti e se serijski. Sklop je prikazan na sljedeoj slici.
S
i
C
i-1
C
i
A
i
F
B
i
S
i
C
i-1
C
i
A
i
F
B
i
S
i
C
i-1
C
i
A
i
F
B
i
a
0
b
0
a
1
b
1
a
2
b
2
a
3
b
3
s
3
s
2
s
1
s
0
c
S
i
C
i-1
C
i
A
i
F
B
i
0


Zbrajaju se brojevi a=a
3
a
2
a
1
a
0
b=b
3
b
2
b
1
b
0
. Rezultat je s=s
3
s
2
s
1
s
0
, a preljev se uva u c.

196 Zbirka rijeenih zadataka

9.5. Zadatak

Realizirati sklop za etiri-bitno zbrajanje/oduzimanje uporabom sklopa za etiri-bitno
zbrajanje iz prethodnog zadatka. Ulaz op neka odreuje operaciju koju treba obaviti, i to na
ako je op=0, sklop radi zbrajanje (S=A+B), a ako je op=1, sklop radi oduzimanje (D=A-B).


Budui da moramo koristiti sklop za zbrajanje kao osnovu, oduzimanje je potrebno
izraziti kao zbrajanje. To je mogue jer se oduzimanje moe prikazati kao zbrajanje
broja s dvojnim komplementom, to je pak jednako jedininom komplementu uveanom
za 1. Rjeenje je prikazano na slici.
S
i
C
i-1
C
i
A
i
F
B
i
S
i
C
i-1
C
i
A
i
F
B
i
S
i
C
i-1
C
i
A
i
F
B
i
a
0
b
0
a
1
b
1
a
2
b
2
a
3
b
3
s/d
3
s/d
2
s/d
1
s/d
0
c/p
S
i
C
i-1
C
i
A
i
F
B
i
1 = 1 = 1 = 1 =
op

A se dovodi direktno na zbrajalo, dok se u ovisnosti o op na zbrajalo dovodi B (kada je
op=0 jer b b = 0 ), odnosno B (kada je op=1 jer b b = 1 ). U sluaju zbrajanja na
ulaz za preljev dovodi se 0 i sklop obavlja operaciju zbrajanja. U sluaju oduzimanja na
sklop se dovodi jedinini komplement od B, ali se na ulaz za podljev takoer dovodi
jedinica, pa sklop zapravo sumira A s jedininim komplementom od B i sa 1, to
zapravo odgovara sumiranju A i dvojnog komplementa od B.


9.6. Zadatak

Izvesti sklop za izdvojeno generiranje prijenosa i njegovom uporabom realizirati etiri-bitno
zbrajalo.


Kao to je poznato, bit preljeva kod potpunog zbrajala iznosi (vidi zadatak 9.3):

( )
i i i i i i
B A C B A C + =
1


Ako uvedemo supstitucije
i i i
B A P = i
i i i
B A G = , jednadba prelazi u:

i i i i
G C P C + =
1


Prisjetimo se, P
i
je propagirajui lan, a G
i
generirajui lan. Kako je ovo iterativna
formula, pogledajmo za sluaj etiri-bitnog zbrajala:

1 0 0 0
+ = C P G C
Digitalna aritmetika. 197

1 0 1 1 0 1 1 0 1 1
G G P C P P G C P C + + = + =


2 1 2 0 1 2 1 0 1 2 2 1 2 2
G G P G P P C P P P G C P C + + + = + =


3 2 3 1 2 3 0 1 2 3 1 0 1 2 3 3 2 3 3
G G P G P P G P P P C P P P P G C P C + + + + = + =



Zastavicu C
-1
tumaimo kao prijenos iz prethodnog stupnja etiri-bitnog zbrajala (kada
bismo npr. realizirali 8-bitno zbrajalo pomou dva 4-bitna); za sluaj da se radi o
jedinom sklopu (ili o prvom u nizu), C
-1
postavlja se za operaciju zbrajanja na vrijednost
0. Sklop za izdvojeno generiranje prijenosa (engl. carry look-ahead) upravo realizira
funkciju generiranja svih C
i
. Simbol ovog sklopa je:

G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-1
C
3
C
2
C
1
C
0
CLA


Shema spajanja CLA i 4 potpuna zbrajala:

G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-1
C
3
C
2
C
1
C
0
A
i
B
i
C
i-1
S
i
G
i
C
i
P
i

A
i
B
i
C
i-1
S
i
G
i
C
i
P
i

A
i
B
i
C
i-1
S
i
G
i
C
i
P
i

A
i
B
i
C
i-1
S
i
G
i
C
i
P
i

CLA
A
0
A
3
A
2
A
1
B
0
B
3
B
2
B
1
C
in
C
out
S
0
S
1
S
2
S
3



9.7. Zadatak

Realizirati sklop za mnoenje 4-bitnih brojeva.


Pogledajmo kako izgleda postupak mnoenja 4-bitnih brojeva runo:

198 Zbirka rijeenih zadataka

a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0


a
3
b
0
a
2
b
0
a
1
b
0
a
0
b
0

a
3
b
1
a
2
b
1
a
1
b
1
a
0
b
1

a
3
b
2
a
2
b
2
a
1
b
2
a
0
b
2

a
3
b
3
a
2
b
3
a
1
b
3
a
0
b
3



= r
7
r
6
r
5
r
4
r
3
r
2
r
1
r
0


Mnoimo li 4-bitne brojeve, dobijemo etiri retka meusobno pomaknuta za 1 bit koje
treba zbrojiti. Ovo se moe rijeiti tako da se odjednom zbrajaju samo dva retka pa
postupak ponovi tri puta, kao to je prikazano u tablici u nastavku.

Zbrajanjem prva dva retka dobije se broj x. Zbrajanjem x i treeg retka dobije se y, a
zbrajanjem y i etvrtog retka dobije se z.

Bitno je za uoiti da iskljuivo prvi redak odreuje zadnji bit rezultata, tj. r
0
=a
0
b
0
. To je
u tablici naznaeno okomitom strelicom. Bit r
1
odreen je bitom x
0
, tj. zadnjim bitom
rezultata prvog zbrajanja. Slino vrijedi i dalje.
a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0


0 a
3
b
0
a
2
b
0
a
1
b
0
a
0
b
0

+ a
3
b
1
a
2
b
1
a
1
b
1
a
0
b
1

= x
4
x
3
x
2
x
1
x
0

+ a
3
b
2
a
2
b
2
a
1
b
2
a
0
b
2

= y
4
y
3
y
2
y
1
y
0

+ a
3
b
3
a
2
b
3
a
1
b
3
a
0
b
3

= z
4
z
3
z
2
z
1
z
0




= r
7
r
6
r
5
r
4
r
3
r
2
r
1
r
0


Elementi koje zbrajamo nisu bitovi, ve su umnoci. Meutim, umnoak dvaju bitova (a
to jedino imamo) moe se ostvariti upravo logikom operacijom I. Sklop za mnoenje
prikazan je u nastavku.

Digitalna aritmetika. 199

&
&
&
&
&
&
&
&
A
3
A
2
A
1
A
0
B
3
B
2
B
1
B
0
C
out
S
3
S
2
S
1
S
0

&
&
&
&
A
3
A
2
A
1
A
0
B
3
B
2
B
1
B
0
C
out
S
3
S
2
S
1
S
0

&
&
&
&
A
3
A
2
A
1
A
0
B
3
B
2
B
1
B
0
C
out
S
3
S
2
S
1
S
0

a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0
r
0
r
1
r
2
r
3
r
4
r
5
r
6
r
7
0


9.8. Zadatak

Povezati dva 4-bitna CLA sklopa tako da se ostvari CLA za 8-bitno zbrajalo.


Kako nam je broj CLA sklopova ogranien na 2, jedini nain na koji moemo povezati
ove sklopove jest u seriju, ime se dobiva efekt ripple-carry-ja, ali ne izmeu pojedinih
potpunih zbrajala, ve izmeu CLA sklopova, to, obzirom da njih ima puno manje u
odnosu na broj potpunih zbrajala i ne predstavlja veliki vremenski gubitak (barem za
relativno krae brojeve).

Rjeenje je prikazano na slici.

G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-1
C
3
C
2
C
1
C
0
CLA
P'
3
G'
3
G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-1
C
3
C
2
C
1
C
0
CLA
P'
3
G'
3
C
in
G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
G
4
P
7
G
7
G
6
G
5
P
6
P
5
P
4
C
out



200 Zbirka rijeenih zadataka

9.9. Zadatak

Povezati 4-bitne CLA sklopove tako da se ostvari CLA za 16-bitno zbrajalo. Na raspolaganju
je 5 4-bitnih CLA sklopova.


Kada bismo CLA sklopove povezali u seriju (kao u prethodnom zadatku) vrijeme
propagacije ispravnog prijenosa kroz CLA sklopove ve bi bilo zamjetno. Budui da
imamo 5 CLA sklopova, moemo ih povezati hijerarhijski, ime se moe dobiti na
brzini. Ideja je da peti CLA sklop "predvia" bitove prijenosa za etiri CLA sklopa nie
razine, ba kao to svaki od tih CLA sklopova "predvia" bitove prijenosa za potpuna
zbrajala koja su na najnioj razini.

Standardni CLA sklop osim izlaza C
0
, C
1
, C
2
i C
3
ima jo i izlaze P
4
i G
4
, koji nam slue
za hijerarhijsko povezivanje CLA sklopova. U nastavku emo izvesti izraze za svaki od
tih izlaza.

Kao to je poznato, bit preljeva kod potpunog zbrajala iznosi ( )
i i i i i i
B A C B A C + =
1
,
pri emu uz
i i i
B A P = i
i i i
B A G = dobivamo izraz
i i i i
G C P C + =
1
, pa slijedi:

1 0 0 0
+ = C P G C
1 0 1 1 0 1 1 0 1 1
G G P C P P G C P C + + = + =


2 1 2 0 1 2 1 0 1 2 2 1 2 2
G G P G P P C P P P G C P C + + + = + =


3 2 3 1 2 3 0 1 2 3 1 0 1 2 3 3 2 3 3
G G P G P P G P P P C P P P P G C P C + + + + = + =



Ostavimo prve tri jednadbe, a etvrtu zapiimo kao:

3 1 3 3
' ' G C P C + =



gdje su (apostrof u ovom sluaju ne oznaava komplement):

0 1 2 3 3
' P P P P P = ,
3 2 3 1 2 3 0 1 2 3 3
' G G P G P P G P P P G + + + = .

Ako to napiemo na ovaj nain, vidimo da je C
3
identinog oblika kao i bilo koji drugi
preljev! CLA sklop tada je oblika:


G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-1
C
3
C
2
C
1
C
0
CLA
P'
3
G'
3



Uporabom ovih jedinica vrlo se jednostavno dobije hijerarhijsko generiranje prijenosa.
Digitalna aritmetika. 201


Nain povezivanja ovih sklopova prikazan je u nastavku.

G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-
1
C
3
C
2
C
1
C
0
C
L
A
P
'
3
G
'
3
G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-
1
C
3
C
2
C
1
C
0
C
L
A
P
'
3
G
'
3
G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-
1
C
3
C
2
C
1
C
0
C
L
A
P
'
3
G
'
3
G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-
1
C
3
C
2
C
1
C
0
C
L
A
P
'
3
G
'
3
G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
C
-
1
C
3
C
2
C
1
C
0
C
L
A
P
'
3
G
'
3
C
in
G
0
P
3
G
3
G
2
G
1
P
2
P
1
P
0
G
4
P
7
G
7
G
6
G
5
P
6
P
5
P
4
G
8
P
1
1
G
1
1
G
1
0
G
9
P
1
0
P
9
P
8
G
1
2
P
1
5
G
1
5
G
1
4
G
1
3
P
1
4
P
1
3
P
1
2
C
o
u
t

202 Zbirka rijeenih zadataka


9.10. Zadatak

Uporabom 3 potpuna zbrajala, 3 poluzbrajala te potrebnog broja osnovnih logikih sklopova
ostvariti sklop za mnoenje trobitnih binarnih brojeva.


Prikaimo tablino kako bismo pomnoili dva trobitna broja.

x
2
x
1
x
0
y
2
y
1
y
0


0 x
2
y
0
x
1
y
0
x
0
y
0

+ x
2
y
1
x
1
y
1
x
0
y
1

= p
3
p
2
p
1
p
0

+ x
2
y
2
x
1
y
2
x
0
y
2

= r
5
r
4
r
3
r
2
r
1
r
0



S
i
C
i
B
i
A
i
H
S
i
C
i
C
i-1
A
i
F
B
i
S
i
C
i
C
i-1
A
i
F
B
i
S
i
C
i
B
i
A
i
H
S
i
C
i
C
i-1
A
i
F
B
i
S
i
C
i
B
i
A
i
H
0 1
y x
1 0
y x
0 2
y x
1 1
y x
1 2
y x
2 0
y x
2 1
y x
2 2
y x
0 0
y x
0
r
1
r
2
r
3
r
4
r
5
r



Svaki od produkata bitova moe se ostvariti jednim I sklopom, pa je izostavljeno sa
prikazane sheme.

Digitalna aritmetika. 203

9.11. Zadatak

Prikazati izvedbu potpunog zbrajala pogodnog za uporabu CLA sklopova. Proraunati
vrijeme stabilizacije izlaza uz pretpostavku da svaki logiki sklop kasni jednako.


Potpuno zbrajalo u ovom sluaju mora imati sljedee izlaze: S
i
, C
i
, P
i
te G
i
. Svaka od tih
etiriju funkcija Booleove su funkcije koje se mogu izvesti dvorazinskom logikom (npr.
kao suma minterma ili pak produkt maksterma). Meutim, paljivijom analizom moe
se uoiti da te funkcije imaju dosta zajednikoga, te se u praksi ovaj sklop izvodi
pomou dva poluzbrajala (vidi zadatak 9.2). Kako su pri tome pojedini izlazi definirani
izrazima:

1
=
i i i i
C B A S

( )
i i i i i i
B A C B A C + =
1


i i i
B A P =

i i i
B A G =

direktnom realizacijom poluzbrajalima slijedi:

1


Realiziramo li poluzbrajala osnovnim logikim sklopovima, slijedi:

1
1 =
&
1 =
&


204 Zbirka rijeenih zadataka

Oznaimo kanjenje jednog logikog sklopa s
dls
t . Tada e se nakon istovremene
promjene ulaza A
i
, B
i
i C
i-1
ispravni izlazi P
i
i G
i
dobiti nakon
dls
t , ispravan izlaz S
i

nakon
dls
t 2 a ispravan izlaz C
i
nakon
dls
t 3 .


9.12. Zadatak

Izraunati i objasniti koliko iznosi vrijeme stabilizacije rezultata kod sljedeih sklopova:
a) poluzbrajalo
b) potpuno zbrajalo izvedeno pomou dva poluzbrajala
c) sklopa za paralelno zbrajanje 32-bitnih binarnih brojeva (RCA izvedba; engl. Ripple Carry
Adder, tj. sklop za paralelno zbrajanje)
d) sklopa za paralelno zbrajanje 32-bitnih binarnih brojeva uporabom jedne razine 4-bitnih
CLA sklopova
e) sklopa za paralelno zbrajanje 32-bitnih binarnih brojeva uporabom potrebnog broja razina
4-bitnih CLA sklopova (broj razina odrediti tako da se dobije minimalno vrijeme)


Pretpostavimo da sklopove realiziramo uporabom potrebnih osnovnih logikih
sklopova, u koje emo ubrojiti i sklop iskljuivo-ili (te da sve potrebne komplemente
imamo trenutno). Pretpostavimo takoer da je kanjenje svakog od osnovnih logikih
sklopova isto te iznosi
dls
t .

a) Poluzbrajalo ima sljedee izlaze:
i
S i
i
C . Izlazi
i
S i
i
C kasnit e
dls
t .

b) Potpuno zbrajalo ima sljedee izlaze:
i
S i
i
C . Ako bi se oba izlaza realizirala kroz
dvije razine osnovnih logikih sklopova, tada bi oba kasnili
dls
t 2 Meutim, kako je
zadano potpuno zbrajalo realizirano uporabom poluzbrajala, tada treba otkriti koji je
najdui put kojim signal mora proi prije no to se pojavi ispravan rezultat na svim
izlazima. Ako se A
i
, B
i
i C
i-1
pojave u trenutku t=0 ns, ispravan S
i
prvog poluzbrajala
pojavit e se u trenutku
dls dls
t t t = + = 1 1 0 , nakon ega drugo poluzbrajalo generira
svoj S
i
jo
dls
t 1 kasnije, odnosno u trenutku
dls dls dls
t t t t = + = 2 1 1 . U trenutku
dls
t t =1 zapoinje izraunavanje i C
i
-a drugog poluzbrajala koje zavrava u trenutku
dls dls dls
t t t t = + = 2 1 1 (jer se C
i
rauna jednom razinom logikih sklopova). Ispravan
C
i
cijelog sklopa pojavit e se kada izraunati C
i
drugog poluzbrajala proe jo kroz
izlazni ILI sklop, pa e se C
i
cijelog sklopa dobiti u trenutku
dls dls dls
t t t t = + = 3 1 2 .
Dakle, kod ove izvedbe rezultat kasni
dls
t 2 , a prijenos
dls
t 3 .

c) Sklop za paralelno zbrajanje dva 32-bitna binarna broja u ovom se sluaju izvodi
uporabom 32 potpuna zbrajala kod kojih se prijenos spaja serijski (vidi npr. zadatak
9.3). Koji je najgori sluaj koji moe nastupiti? Pretpostavimo da u trenutku t=0 ns na
sve ulaze dovodimo paralelno bitove pribrojnika i ulazni bit prijenosa. Ukoliko niti
jedan sklop ne generira bit prijenosa, tada e se kompletan zbroj pojaviti na izlazu
nakon
dls
t 2 (jer toliko kasni svako potpuno zbrajalo, a zbrajanje se izvodi paralelno), a
prijenos nakon
dls
t 3 . No promotrimo sluaj u kojem zbrajamo npr. brojeve
Digitalna aritmetika. 205

A=000000
(2)
, B=111111
(2)
i C
in
=1. Sklop koji obavlja zbrajanje bitova najmanje
teine (0-ti bit) nakon
dls
t 2 generirat e rezultat 0, a nakon
dls
t 3 prijenos 1. Zbog tog
prijenosa sklop koji rauna sumu prvog bita morat e ponovno preraunati rezultat i
prijenos (jer se je promijenio njegov C
in
). Za rezultat e trebati
dls
t 2 a za prijenos
dls
t 3 . Rezultat e opet biti 0 i generiranje prijenosa zbog ega e sklop koji rauna
sumu drugog bita nanovo morati preraunati rezultat, itd. Na ovaj e se nain ispravan
rezultat kod n-bitnog zbrajala pojaviti tek u trenutku ( )
dls dls
t t n t + = 2 3 1 , gdje je
( )
dls
t n 3 1 vrijeme potrebno da ispravni prijenos stigne na ulaz zbrajala najvie teine,
a
dls
t 2 vrijeme potrebno da se s tim prijenosom izrauna ispravan rezultat. Ispravan
prijenos pojavit e se na izlazu zbrajala najvie teine nakon
dls
t n t = 3 . U naem
konkretnom sluaju to znai da e se ispravan rezultat pojaviti nakon
dls
t 95 a ispravan
prijenos nakon
dls
t 96 .

d) Prilikom koritenja CLA sklopova umjesto klasinih potpunih zbrajala koristimo
potpuna zbrajala koja osim izlaza R i prijenosa generiraju i izlaze P (engl. propagate) i
G (engl. generate) (vidi prethodni zadatak). Pri tome su izlazi P i G dostupni uz vrijeme
kanjenja od
dls
t 1 .
Kako imamo na raspolaganju 4-bitne CLA sklopove, potpuna zbrajala treba grupirati u
grupe od 4 zbrajala koja svoje P i G izlaze dovode na ulaze jednog CLA sklopa. Time
imamo 8 grupa od po 4 potpuna zbrajala. CLA sklopovi bit e povezani u seriju.
Neka se na ulaze A i B u trenutku t=0 ns dovedu svi bitovi pribrojnika, te na ulaz Cin
valjani poetni prijenos. Nakon
dls
t 1 , tj. u trenutku
dls dls
t t t = + = 1 1 0 na izlazima svih
potpunih zbrajala nalaze se izraunati P i G. Na temelju tih ulaza svi CLA-ovi
izraunaju bitove prijenosa nakon jo
dls
t 2 (ovo se rauna dvorazinskom logikom), tj.
u trenutku
dls dls dls
t t t t = + = 3 2 1 . Meutim, nakon to je CLA koji rauna prijenos
kod sumiranja najnia etiri bita izraunao ispravan rezultat, bit prijenosa izmeu prvog
i drugog CLA sklopa moe se promijeniti, pa drugi CLA sklop mora nanovo izraunati
svoje izlaze (ime moe pokrenuti ponovno raunanje izlaza sljedeeg CLA sklopa, itd).
Budui da imamo u seriju povezane CLA sklopove, vrijeme potrebno za stabilizaciju
njihovih izlaza gledano od trenutka pojave svih P
i
i G
i
ulaza tada je
dls
t k 2 (gdje je k
broj CLA sklopova u seriji), to znai da dolazimo do trenutka
dls dls
t k t t + = 2 1 . U
naem konkretnom sluaju 8 CLA sklopa spojena su u seriju, te smo doli do trenutka
dls
t t =17 . Konano, nakon to su svi prijenosi u sklopu ispravni, nanovo se mora
izraunati rezultat samog zbrajanja, a to potpuna zbrajala obave paralelno, uz kanjenje
od
dls
t 2 , tj. u trenutku
dls dls dls
t t t t = + = 19 2 17 . Ispravan prijenos najvieg bita pri
tome se ne uzima sa zbrajala, ve s zadnjeg CLA sklopa, gdje je dostupan ve u
trenutku
dls
t t =17 . U odnosu na prethodni sluaj, vidimo da je dolo do bitnog
ubrzavanja rada sklopa.

e) Prilikom realizacije ovakvog sklopa i potpuna zbrajala i CLA sklopovi generiraju
izlaze P i G (vidi npr. zadatak 9.8). Bitno je uoiti da se G kod CLA sklopa rauna
dvorazinskom logikom, te je dostupan tek nakon
dls
t 2 . Na ovaj se nain po etiri
potpuna zbrajala grupiraju uz jedan CLA sklop, a prijenos izmeu etiri CLA sklopa
rjeava se jo jednom razinom CLA sklopova (u kojoj se u ovom sluaju nalaze dva
206 Zbirka rijeenih zadataka

CLA sklopa; time ukupno trebamo 6 4-bitnih CLA sklopova). Budui da se na dnu
nalaze samo dva CLA sklopa, prijenos izmeu njih rijeit emo direktnim povezivanjem
(a ne novom razinom CLA sklopova). Postupak izraunavanja tada je sljedei. U
trenutku t = 0 ns na sklop se dovode svi ulazi. Nakon
dls
t 1 , tj. u trenutku
dls dls
t t t = + = 1 1 0 izraunati su svi P i G izlazi potpunih zbrajala. Nakon jo
dls
t 2 , tj.
u trenutku
dls dls dls
t t t t = + = 3 2 1 sve CLA jedinice u prvoj razini izraunavaju svoje P
i G izlaze (zapravo, P se dobije
dls dls dls
t t t t = + = 2 1 1 ). Na temelju tih izlaza CLA
sklop najvie razine nakon jo
dls
t 2 , tj. u trenutku
dls dls dls
t t t t = + = 5 2 3 izraunava
ispravne bitove prijenosa. Prijenos se vodi do CLA sklopa koji rauna prijenose za
gornjih 16 bitova rezultata, to se izrauna nakon jo
dls
t 2 , tj. u trenutku
dls dls dls
t t t t = + = 7 2 5 . Ovi prijenosi vode se na ulaze CLA sklopova prve razine.
Nakon jo
dls
t 2 , tj. u trenutku
dls dls dls
t t t t = + = 9 2 7 CLA sklopovi prve razine imaju
izraunate ispravne prijenose za sva potpuna zbrajala, te se ispravni rezultat pojavljuje
jo
dls
t 2 kasnije, tj. u trenutku
dls dls dls
t t t t = + = 11 2 9 . Ispravan prijenos najvieg bita
pri tome se uzima s hijerarhijski najnieg CLA sklopa, gdje je bio dostupan ve u
trenutku
dls
t t = 7 . Hijerarhijskim povezivanjem CLA sklopova dobili smo, dakle, jo
bri rad sklopova.


ZADACI ZA VJEBU

1. Prikazati sklop koji se temelji na 9-bitnom binarnom zbrajalu, a koji moe, ovisno o
signalu X obaviti binarno zbrajanje (X=1) ili binarno oduzimanje (X=0) dva 9-bitna
binarna broja zapisana u dvojnom komplementu. Ako se takvom sklopu na ulaz dovedu
sljedei binarni brojevi:
a) A = 135, B = 100
b) A = 57, B = 212
c) A = -34, B = 133
d) A = -250, B = 230
napisati rezultate operacija zbrajanja i oduzimanja, kao i oekivane rezultate (izraun
provesti "runo").
2. Napiite u VHDL-u ponaajni model 5-bitnog CLA sklopa koji dodatno generira svoje
P i G lanove (emu oni slue?)
3. Sljedee brojeve prikazati binarnim zapisom u dvojnom komplementu: 110, 13, -25, -
78, -128, 212, -130. Za prikaz brojeva u dvojnom komplementu koristiti 8 bitova (mogu
li se svi zadani brojevi uope zapisati u 8 bita?). Dodatno, utvrditi o kojim se brojevima
radi, ako je njihov binarni prikaz dvojnim komplementom jednak: (a) 11001101, (b)
00101111, (c) 00000000, (d) 11111111, (e) 01011010. Obaviti zbrajanje 3 i -3, 114 i -
17, -28 i -43, -100 i -113; koji je rezultat?
4. Izraunati (B-1)-vi komplement i B-ti komplement sljedeih brojeva: 11111
(2)
, 01110
(2)
,
22211
(3)
, 11221
(3)
, 57251
(8)
, 10772
(8)
, 19357
(10)
, 99832
(10)
, A7EFF
(16)
, 2EE739
(16)
.
5. Neka se za kodiranje dekadskih brojeva koristi Excess-3 kod. Projektirati sklop koji
rauna sumu dva jednoznamenkasta broja. Uporabom tog sklopa projektirati sklop koji
rauna sumu dva troznamenkasta broja.
Digitalna aritmetika. 207

6. Neka se za kodiranje dekadskih brojeva koristi Excess-3 kod. Projektirati sklop koji
rauna (B-1)-vi komplement jednoznamenkastog broja. Projektirati sklop koji rauna B-
ti komplement troznamenkastog broja.
7. Neka se za kodiranje dekadskih brojeva koristi BCD kod. Projektirati sklop koji rauna
sumu dva jednoznamenkasta broja. Uporabom tog sklopa projektirati sklop koji rauna
sumu dva troznamenkasta broja.
8. Neka se za kodiranje dekadskih brojeva koristi BCD kod. Projektirati sklop koji rauna
(B-1)-vi komplement jednoznamenkastog broja. Projektirati sklop koji rauna B-ti
komplement troznamenkastog broja.

MINI-PROJEKTI ZA VJEBU

1. etveroznamenkasti dekadski broj pamti se u sljedeem formatu: jedan bit predstavlja
predznak (0 pozitivan, 1 negativan), slijede etiri grupe po etiri bita, pri emu
svaka grupa predstavlja jednu znamenku broja kodiranu BCD kodom. Projektirati
kombinacijski sklop koji na ulaz dobiva dva takva broja A i B, te upravljaki ulaz OP.
Kada je OP=0, sklop treba izraunati R=A+B, a za OP=1 sklop rauna R=A-B. Sklop
ima dva izlaza: R je rezultat operacije definirane preko zastavice OP (zapisan u istom
formatu kao i ulazni brojevi), te zastavicu ERR. ERR treba postaviti na 1 u sluaju da se
rezultat ne moe zapisati u etiri znamenke (kolika je irina izlaza; tada R nije bitan), a
inae treba biti 0. Nacrtati strukturu ovog sklopa, te njegov VHDL opis. Provjeriti
ispravnost rada sklopa u simulatoru.
2. etveroznamenkasti dekadski broj pamti se u sljedeem formatu: jedan bit predstavlja
predznak (0 pozitivan, 1 negativan), slijede etiri grupe po etiri bita, pri emu
svaka grupa predstavlja jednu znamenku broja kodiranu Excess-3 kodom. Projektirati
kombinacijski sklop koji na ulaz dobiva dva takva broja A i B, te upravljaki ulaz OP.
Kada je OP=0, sklop treba izraunati R=A+B, a za OP=1 sklop rauna R=A-B. Sklop
ima dva izlaza: R je rezultat operacije definirane preko zastavice OP (zapisan u istom
formatu kao i ulazni brojevi), te zastavicu ERR. ERR treba postaviti na 1 u sluaju da se
rezultat ne moe zapisati u etiri znamenke (kolika je irina izlaza; tada R nije bitan), a
inae treba biti 0. Nacrtati strukturu ovog sklopa, te njegov VHDL opis. Provjeriti
ispravnost rada sklopa u simulatoru.

Registri. 209


10. Registri.

10.1. Zadatak

Uporabom D bistabila nacrtati shemu 4-bitnog registra s paralelnim ulazima i paralelnim
izlazima.


D
Q
Q
CP
D
Q
Q
CP
D
Q
Q
CP
D
Q
Q
CP
Q
3
Q
2
Q
1
Q
0
D
3
D
2
D
1
D
0
CP


10.2. Zadatak

Uporabom D bistabila nacrtati shemu 4-bitnog posmanog registra sa serijskim ulazom i
paralelnim izlazima.


D
Q
Q
CP
D
Q
Q
CP
D
Q
Q
CP
D
Q
Q
CP
D
Q
3
Q
2
Q
1
Q
0
CP


10.3. Zadatak

Projektirati trobitni posmani registar uporabom bridom okidanih D bistabila i potrebnog
broja multipleksora 4/1. Mogunosti sklopa su sljedee:

210 Zbirka rijeenih zadataka

S
1
S
0
Funkcija
0 0 Posmak udesno; punjenje bitom S
in

0 1 Posmak ulijevo; punjenje bitom S
in

1 0 Paralelni upis
1 1 Kruni posmak udesno


D
Q
Q
CP
D
Q
Q
CP
D
Q
Q
CP
S
in
P
in0
P
in1
P
in2
S
0
S
1
CP
P
out0
P
out1
P
out2
d
0
d
1
d
2
d
3
a
0
a
1
y
d
0
d
1
d
2
d
3
a
0
a
1
y
d
0
d
1
d
2
d
3
a
0
a
1
y

10.4. Zadatak

Projektirati sklop koji e prolaziti kroz
sljedea stanja: 0 8 4 10 5 2
9 12 14 7 3 1 0 ...
Sklop je potrebno ostvariti uporabom
strukture prikazane na slici (posmani
registar + multipleksor). Nespecificirana
stanja treba tako rijeiti da sklop u
minimalnom broju koraka doe u stanje 0.

















Napiimo tablicu promjene stanja:
A D C B
CP
S
in

d
0
d
1
d
7
d
6
d
5
d
4
d
3
d
2
1
a
0
a
1
a
2
y
mux 8/1
CP
Registri. 211


A B C D A' B' C' D' S
in
=A'
0 0 0 0

1 0 0 0
0 0 0 1

0 0 0 0
D
0 0 1 0

1 0 0 1
0 0 1 1

0 0 0 1
D
0 1 0 0

1 0 1 0
0 1 0 1

0 0 1 0
D
0 1 1 0

0 0 1 1
0 1 1 1

0 0 1 1
0
1 0 0 0

0 1 0 0
1 0 0 1

1 1 0 0
D
1 0 1 0

0 1 0 1
1 0 1 1

1 1 0 1
D
1 1 0 0

1 1 1 0
1 1 0 1

0 1 1 0
D
1 1 1 0

0 1 1 1
1 1 1 1

0 1 1 1
0

Objanjenje:

U svakom retku ABCD predstavlja poetno stanje a A'B'C'D' predstavlja novo stanje.
Zbog naina na koji je sklop izveden (uporabom posmanog registra) vrijedi: B'=A,
C'=B, D'=C. A' je odreen tako da preemo u ispravno stanje. Meutim, kako odrediti u
koja stanja treba prijei iz stanja koja nisu zadana (6, 11, 13, 15)? Zadan je kriterij da se
u tom sluaju kroz minimalni broj stanja treba prijei u stanje 0. Pogledajmo redom
kako smo primjenjivali taj kriterij.

Stanje 15

Iz stanja 15 = 1111 moemo prijei u stanje S
in
111
(vidi sliku). Za S
in
=0 to je 7, a za S
in
=1 to je 15. Ako smo
doli u stanje 7, to stanje je definirano i do nule nam
treba jo 3 koraka (oznaeno u zagradi). Uz vor 7
podvueno se nalazi i ukupni broj koraka do nule 3
plus 1 za prijelaz 15 u 7. Ako smo doli u stanje 15,
vrtimo se cikliki u krug to nije put prema stanju 0 u
minimalnom broju koraka.

15
7 (3) 15
4


Stanje 13

Na isti nain kao u prethodnom razmatranju (vidi sliku ispod) moemo utvrditi da iz
stanja 13 treba prijei u stanje 6 (neovisno o tome to to stanje takoer nije definirano, a
alternativno stanje 14 jest).

Stanje 11

212 Zbirka rijeenih zadataka

Iz stanja 11 potrebno je prijei u stanje 13 (vidi sliku ispod). Prilikom crtanja stabla
odluke moemo se zaustaviti na voru 13 bez da ga ralanjujemo jer smo to napravili u
prethodnom koraku, i ve smo utvrdili da je najkrai put iz stanja 13 do stanja 0
dugaak 4.

Stanje 6

Iz stanja 6 potrebno je prijei u stanje 3 (vidi sliku ispod).
13
14 (4)
5
6
3 (2)
4
11
5 (8)
11
13

11
5 (8)
9
13 (4)
5


6
3 (2)
3
11 (5)
6


Shema traenog sklopa je dakle:

A D C B
CP
S
in

d
0
d
1
d
7
d
6
d
5
d
4
d
3
d
2
1
a
0
a
1
a
2
y
mux 8/1
CP
0
0


Registri. 213


10.5. Zadatak

Uporabom potpunog zbrajala i potrebnog broja sinkronih bridom okidanih D registara
realizirati sklop koji obavlja serijsko zbrajanje dvaju binarnih brojeva. Objasniti rad sklopa.
Prikazati na vremenskom dijagramu proces zbrajanja 4-bitnih brojeva 5 i 9.


Sklop je prikazan na slici.

S
i
C
i
C
i-1
A
i
F
B
i
D
Q
Q
CP
D
Q
Q
CP
A
in
B
in
Reset
CP
R
out
C
out


Bitovi brojeva dovode se serijski na ulaze A
in
i B
in
pri emu se najprije dovodi najmanje
znaajni bit. Signalom Reset najprije je potrebno resetirati D bistabile. Prvi D bistabil
uva bit rezultata, dok drugi D bistabil uva bit preljeva potreban za zbrajanje sljedeih
znaajnijih bitova.

R
out
uva rezultat zbrajanja trenutnih bitova a C
out
je preljev nastao zbrajanjem bitova
koji su u trenutku rastueg brida CP-a bili na ulazu potpunog zbrajala.

Vremenski dijagram prikazan je u nastavku.

Uoiti da signal Reset djeluje asinkrono.
214 Zbirka rijeenih zadataka

t
A
in
B
in
Reset
CP
R
out
C
out
1 0
1 1 0 0
1 0
5 = 0101
(2)
9 = 1001
(2)
0
0 0 0 1
1 1 1
14 = 1110
(2)
t
t
t
t
t


10.6. Zadatak

Uporabom potrebnog broja D bistabila i multipleksora 2/1 ostvariti 3-bitni registar s
mogunou paralelnog upisa podataka. Rad registra definiran je signalom L na nain:

Signal L Akcija
0 Ostaviti prethodno stanje registra
1 Upisati stanje s paralelnih ulaza


D
i
su paralelni ulazi, a Q
i
su izlazi registra.

Registri. 215

D
Q
Q
CP
0
1
a
0
y D
Q
Q
CP
0
1
a
0
y D
Q
Q
CP
0
1
a
0
y
D
0
D
1
Q
0
D
2
Q
1
Q
2
CP
L



10.7. Zadatak

Uporabom dva 4-bitna posmana registra ija je funkcionalnost prikazana tablicom ostvariti
8-bitni posmani registar iste funkcionalnosti. Dozvoljeno je jo koristiti multipleksor te
potreban broj osnovnih logikih sklopova.

S
1
S
0
Funkcija
0 0 Posmak udesno; punjenje bitom S
Rin

0 1 Posmak ulijevo; punjenje bitom S
Lin

1 0 Paralelni upis
1 1 Resetiranje registra


Za ovaj jednostavan sluaj zadanih operacija sklopovi se mogu spojiti direktno, kao to
je prikazano na shemi.
A D C B
CP
S
Lin

S
Rin
S
Lout
S
Rout
A D C B
CP
S
Lin

S
Rin
S
Lout
S
Rout
A D C B E H G F
S
Lin
S
Rout
S
Rin
S
Lout
CP
S
0
S
1
S
0
S
1
S
0
S
1


10.8. Zadatak

Uporabom dva 4-bitna posmana registra ija je funkcionalnost prikazana tablicom ostvariti
8-bitni posmani registar iste funkcionalnosti. Dozvoljeno je jo koristiti multipleksor 2/1 te
dekoder 2/4.

216 Zbirka rijeenih zadataka

S
1
S
0
Funkcija
0 0 Posmak udesno; punjenje bitom S
Rin

0 1 Posmak ulijevo; punjenje bitom S
Lin

1 0 Paralelni upis
1 1 Kruni posmak udesno


Kao osnova za rjeavanje ovog zadatka moe nam posluiti prethodni zadatak.
Meutim, potrebno je uoiti bitnu razliku: funkcioniranje sklopa za vrijednost 11
upravljakih signala. Tada registar interno obavlja kruni pomak u desno, pri emu se
ne koriste izlaz S
Rout
i ulaz S
Rin
. Ako bismo na predloeni nain spojili registre, za
kombinaciju 11 ne bismo dobili kruni pomak u desno 8-bitnog podatka, ve podatak u
kojem su prva etiri bita i druga etiri bita kruno pomaknuta u desno. Problem
moemo rijeiti tako da kruni pomak u desno 8-bitnog podatka obavimo "obinim"
pomakom u desno, a izvana zadnji bit podatka vratimo na ulaz prvog registra. Dakle,
upravljake signale ne smijemo direktno dovoditi na ulaze S
i
. Uvedimo pomone
signale S
0x
i S
1x
(koje emo stvarmo dovoditi na upravljake ulaze) i pomoni signal K
(koji e oznaavati da se radi o krunom pomaku).

S
1
S
0
S
1x
S
0x
K
0 0 0 0 0
0 1 0 1 0
1 0 1 0 0
1 1 0 0 1

Iz tablice moemo oitati traene funkcije (odnosno minterme):

2 0 1 1
m S S S
x
= = ,
1 0 1 0
m S S S
x
= = ,
3 0 1
m S S K = = .

Konani sklop tada je prikazan na sljedeoj slici:

A D C B
CP
S
Lin

S
Rin
S
Lout
S
Rout
A D C B
CP
S
Lin

S
Rin
S
Lout
S
Rout
A D C B E H G F
S
Lin
S
Rout
S
Rin
S
Lout
CP
S
0
S
1
S
0
S
1
d
0
d
1
a
y
a
0
a
1
d
0
d
1
d
2
d
3
dek 2/4
S
0
S
1

Registri. 217


10.9. Zadatak

Napisati strukturni model 4-bitnog posmanog registra sa serijskim ulazom i paralelnim
izlazima, te ulazom za reset. Kao osnovu za opis registra koristiti komponentu Dbistabil
opisanu u zadatku 8.3.


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY Reg4bit IS PORT (
Sin, Reset: IN std_logic;
Q: OUT std_logic_vector( 3 DOWNTO 0);
Clock: IN std_logic
);
END Reg4bit;

ARCHITECTURE Structural OF Reg4bit IS
COMPONENT Dbistabil IS PORT (
D, Reset: IN std_logic;
Q, Qn: OUT std_logic;
Clock: IN std_logic
);
END COmponent;
SIGNAL Qint: std_logic_vector( 3 DOWNTO 0);
BEGIN

-- povezivanje pojedinih D bistabila u 4-bitni registar

D3: Dbistabil PORT map (Sin, Reset, Qint(3), open, Clock);
D2: Dbistabil PORT map (Qint(3), Reset, Qint(2), open, Clock);
D1: Dbistabil PORT map (Qint(2), Reset, Qint(1), open, Clock);
D0: Dbistabil PORT map (Qint(1), Reset, Qint(0), open, Clock);

-- preslikavanje izlaza bistabila na izlaz 4-bitnog registra

Q <= Qint;

END BEHAVIORAL;

10.10. Zadatak

Ponaajnim VHDL-om modelirati registar prikazan slikom. Registar
nailaskom impulsa CP pohranjuje vrijednost narinutu na njegovom
ulazu. Upravljaki ulazi S i C (postavljanje i brisanje) moraju biti
sinkroni. Svi signali moraju biti iskljuivo ulazni odnosno izlazni.



library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;



D
S
C
CP
Q
2
2
218 Zbirka rijeenih zadataka

ENTITY d_reg IS
PORT (
clk, s, c: IN std_logic;
d: IN std_logic_vector (1 downto 0);
q: OUT std_logic_vector (1 downto 0)
);
END d_reg;

ARCHITECTURE Behavioral OF d_reg IS
BEGIN

PROCESS (clk, s, c, d)
BEGIN
IF (falling_edge(clk)) THEN
IF (s = '0') THEN
q <= "11";
ELSIF (c = '0') THEN
q <= "00";
ELSE
q <= d;
END IF;
END IF;
END PROCESS;

END Behavioral;

10.11. Zadatak

Koritenjem registra iz prethodnog zadatka nacrtati shemu 5-
bitnog posmanog registra prikazanog na slici i napisati
odgovarajuu specifikaciju u VHDL-u. Operacije koje
obavlja registar odreene su ulazom ctrl: 00 ne dogaa se
nita, 01 posmak u desno, 10 paralelni upis te 11
nedefinirano. Napomena: sklop iz prethodnog zadatka
upotrebljavati kao crnu kutiju!


Nacrtajmo najprije kako bismo spojili sve potrebne sklopove. Nepotpuna shema
prikazana je u nastavku:


CP
reset
S
in
P
in
P
out
ctrl
5
5 2
Registri. 219


Za realizaciju sklopa koristimo tri sklopa iz prethodnog zadatka ime dobivamo
mogunost izrade ak 6-bitnog registra (pa neemo iskoristiti sve lijeva strana sklopa
r
2
ostat e neiskoritena). Uoimo sada ulaze i izlaze sklopa. Ulazi su pin (5-bitni
vektor), sin, ctrl (2-bitni vektor), reset i clk, dok je izlaz pout (5-bitni vektor).
Vektori su prikazani u tokastom pravokutniku. Takoer koristimo dva interna signala:
pint (6-bitni vektor) i pouti (6-bitni vektor).

Uvidom u shemu sklopa oito je da se interni signal pouti direktno spaja na izlaz
sklopa pout. No trebamo utvrditi to treba spojiti na signal pint.

Analizirajmo funkciju sklopa. Kada je na ctrl vrijednost 00, sklop treba zadrati
postojee stanje. To znai da mora vrijediti pint(i)=pouti(i); to je bilo na izlazu, to treba
doi na ulaz kako bi se u sljedeem koraku opet pojavilo na izlazu. Ovaj sluaj, dakle,
moemo opisati izrazom:

pint(i) <= not crtl(1) and not ctrl(0) and pouti(i).

Za sluaj da je na ctrl vrijednost 10, sklop treba obaviti paralelni upis, tj.:

pint(i) <= crtl(1) and not ctrl(0) and pin(i).

Konano, za sluaj da je na ctrl vrijednost 01, sklop treba obaviti posmak udesno i
punjenje lijeve pozicije s ulaza sin, tj. gledajui sliku treba vrijediti:

pint(4) <= not crtl(1) and ctrl(0) and sin,
pint(i) <= not crtl(1) and ctrl(0) and pouti(i+1), za 0<=i<4.

Kako je ponaanje za kombinaciju 11 nedefinirano, izrazi se mogu pojednostavniti, tako
da se promatraju sluajevi kada su oba bita ctrl u 0, nulti u 1 ili pak prvi u jedan.
Kako su analizirani sluajevi potpuno disjunktni, navedeni izrazi za sve sluajeve mogu
se spojiti logikom operacijom ILI, iz ega slijedi navedeno rjeenje. Nekoriteni ulaz
pint(5) spaja se ne logiku jedinicu.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY shift is
PORT (
pout: OUT std_logic_vector (4 DOWNTO 0);
sin, reset, clk: IN std_logic;
ctrl: IN std_logic_vector (1 DOWNTO 0);
pin: IN std_logic_vector (4 DOWNTO 0)
);
END shift;

ARCHITECTURE Structural OF shift IS

COMPONENT d_reg
PORT (
clk, s, c: IN std_logic;
220 Zbirka rijeenih zadataka

d: IN std_logic_vector (1 DOWNTO 0);
q: OUT std_logic_vector (1 DOWNTO 0)
);
END COMPONENT;

SIGNAL pint: std_logic_vector(5 DOWNTO 0);
SIGNAL pouti: std_logic_vector(5 DOWNTO 0);

BEGIN

pint (0) <= (ctrl(1) AND pin(0)) OR (ctrl(0) AND pouti(1))
OR (NOT ctrl(1) AND NOT ctrl(0) AND pouti(0));
pint (1) <= (ctrl(1) AND pin(1)) OR (ctrl(0) AND pouti(2))
OR (NOT ctrl(1) AND NOT ctrl(0) AND pouti(1));
pint (2) <= (ctrl(1) AND pin(2)) OR (ctrl(0) AND pouti(3))
OR (NOT ctrl(1) AND NOT ctrl(0) AND pouti(2));
pint (3) <= (ctrl(1) AND pin(3)) OR (ctrl(0) AND pouti(4))
OR (NOT ctrl(1) AND NOT ctrl(0) AND pouti(3));
pint (4) <= (ctrl(1) AND pin(4)) OR (ctrl(0) AND sin)
OR (NOT ctrl(1) AND NOT ctrl(0) AND pouti(4));
pint (5) <= '0';

r0: d_reg PORT MAP (clk, '1', reset, pint (1 DOWNTO 0),
pouti(1 DOWNTO 0));
r1: d_reg PORT MAP (clk, '1', reset, pint (3 DOWNTO 2),
pouti(3 DOWNTO 2));
r2: d_reg PORT MAP (clk, '1', reset, pint (5 DOWNTO 4),
pouti(5 DOWNTO 4));

pout <= pouti(4 DOWNTO 0);

END Structural;

Zato je uope uveden interni signal (vektor) pouti? Razlog tomu je injenica da
interni signal pint koji se dovodi na ulaze dvobitnih registara ovisi o trenutnom izlazu
sklopa. No kako je trenutni izlaz sklopa (pout) u opisu sklopa proglaen izlaznim
(out), njegova se vrijednost ne moe itati! Da bismo rijeili taj problem, moemo
postupiti dvojako: ili pout proglasiti ulazom/izlazom (dakle, u VHDL-u to bi bilo
inout), ili uvesti interni signal koji direktno spajamo na izlaz sklopa. Prvo rjeenje je
loe jer moe rezultirati sintezom dodatnog sklopovlja (kako bi se osiguralo da se s tih
pinova sklopa doista moe i itati i pisati). Drugo je rjeenje, iz oitog razloga, bolje.

10.12. Zadatak

Uporabom potrebnog broja sinkronih bridom okidanih JK bistabila ostvariti 4-bitni posmani
registar sa serijskim ulazom i paralelnim izlazom. Dozvoljeno je koristiti jedan invertor.


Registri. 221

J
Q
Q
CP
K
J
Q
Q
CP
K
J
Q
Q
CP
K
J
Q
Q
CP
K
1
D
0
D
1
D
2
D
3
CP
S
in


Objanjenje:

Prvi bistabil uporabom invertora pretvoren je u D bistabil koji je i inae osnova za
izgradnju registara. Meutim, kako smo time potroili raspoloive invertore, potrebno
se je dosjetiti kako i ostale JK bistabile pretvoriti u D bistabile. To nije preteko jer je
uvjet da bismo iz JK bistabila dobili D bistabil upravo dovoenje komplementarnih
vrijednosti na ulaze J i K. No komplementarne vrijednosti ve imamo na izlazu
prethodnog bistabila, pa je dovoljno samo spojiti izlaz bistabila sa J ulazom sljedeeg
JK bistabila, a komplementirani izlaz sa K ulazom.

10.13. Zadatak

Prikazati funkciju sklopa 74LS194. Opisati sklop ponaajnim VHDL-om.


Sklop 74LS194 ima funkciju posmanog registra, ije je suelje
prikazano na slici, a funkcija opisana tablicom:

Posmak u lijevo ide od A prema D
Posmak u desno ide od D prema A
CLR je asinkron

S1 S0 Akcija QA* QB* QC* QD*
0 0 Zadri QA QB QC QD
0 1 Posmak desno RIN QA QB QC
1 0 Posmak lijevo QB QC QD LIN
1 1 Uitaj A B C D

library IEEE;
use IEEE.std_logic_1164.all;

ENTITY SHREG74LS194 IS
PORT ( CLK, CLR, RIN, LIN : IN STD_LOGIC;
S : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
D : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END SHREG74LS194;

ARCHITECTURE SHREG_ARCH OF SHREG74LS194 IS
SIGNAL IQ : STD_LOGIC_VECTOR(3 DOWNTO 0);
222 Zbirka rijeenih zadataka

BEGIN

PROCESS (CLK, CLR, IQ)
BEGIN
IF (CLR='1') THEN
IQ <= "0000";
ELSIF (CLK'event AND CLK='1') THEN
CASE S IS
WHEN "00" => NULL;
WHEN "01" => IQ <= RIN & IQ(3 DOWNTO 1);
WHEN "10" => IQ <= IQ(2 DOWNTO 0) & LIN;
WHEN "11" => IQ <= D;
WHEN OTHERS => NULL;
END CASE;
END IF;
Q <= IQ;
END PROCESS;

END SHREG_ARCH;

10.14. Zadatak

Ponaajnim VHDL-om modelirati 8-bitni posmani registar sa serijskim i paralelnim ulazima
i paralelnim izlazom, ija je funkcija zadana tablino:

S2 S1 S0 Akcija
0 0 0 Zadri
0 0 1 Uitaj
0 1 0 Posmak u desno, punjenje s LIN
0 1 1 Posmak u lijevo, punjenje s RIN
1 0 0 Cikliki posmak u desno
1 0 1 Cikliki posmak u lijevo
1 1 0 Aritmetiki posmak u desno
1 1 1 Aritmetiki posmak u lijevo

Signal za brisanje CLR mora biti izveden asinkrono.


library IEEE;
use IEEE.std_logic_1164.all;

ENTITY SHREG IS
PORT ( CLK, CLR, RIN, LIN : IN STD_LOGIC;
S : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END SHREG;

ARCHITECTURE SHREG_ARCH OF SHREG IS
SIGNAL IQ : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN

PROCESS (CLK, CLR, IQ)
BEGIN
IF (CLR='1') THEN
IQ <= (OTHERS=>'0');
Registri. 223

ELSIF (CLK'event AND CLK='1') THEN
CASE S IS
WHEN "000" => NULL;
WHEN "001" => IQ <= D;
WHEN "010" => IQ <= LIN & IQ(7 DOWNTO 1);
WHEN "011" => IQ <= IQ(6 DOWNTO 0) & RIN;
WHEN "100" => IQ <= IQ(0) & IQ(7 DOWNTO 1);
WHEN "101" => IQ <= IQ(6 DOWNTO 0) & IQ(7);
WHEN "110" => IQ <= IQ(7) & IQ(7 DOWNTO 1);
WHEN "111" => IQ <= IQ(6 DOWNTO 0) & '0';
WHEN OTHERS => NULL;
END CASE;
END IF;
Q <= IQ;
END PROCESS;

END SHREG_ARCH;

10.15. Pismeni ispit, 09. 02. 2004, 1. zadatak

Na raspolaganju su sljedei elementi: trobitni posmani registar (s
upravljakim ulazom R S / : 0 rotacija, 1 posmak; vidi sliku),
D bistabil te multipleksor 2/1. Samo njihovom uporabom
projektirati etverobitni posmani registar istih mogunosti.





S
in
Q
2
Q
1
Q
0
CP
R S /

D Q
CP
1
0
1
Q
3
Q
2
Q
1
Q
0
S
in
R S /
CP


S
in
Q
2
Q
1
Q
0
CP
R S /

224 Zbirka rijeenih zadataka




ZADACI ZA VJEBU

1. Na raspolaganju su tri 4-bitna registra ija je funkcija opisana tablicom, a suelje
prikazano slikom. Uporabom samo tih registara i tri multipleksora 4/1 (gdje/ako treba)
nacrtati shemu 12-bitnog registra koji:

a) ima istu funkcionalnost kao i 4-bitni registar
b) ima istu funkcionalnost kao i 4-bitni registar, samo to umjesto posmaka obavlja
rotaciju.

Za b) dio zadatka K-tablicama pronai minimalni oblik funkcija S
in
svakog registra.

Ctrl
1
Ctrl
0
Funkcija
0 0 uva se trenutno pohranjen podatak.
0 1 Posmak u desno, punjenje sa S
in
.
1 0 Posmak u lijevo, punjenje sa S
in
.
1 1 Paralelni upis.

2. Nacrtati potpuni dijagram prijelaza stanja 4-bitnog posmanog registra udesno. Registar
ima serijski ulaz, paralelne izlaze te na svaki padajui brid CP-a obavlja posmak
udesno. Napisati ponaajni model ovog sklopa u VHDL-u.


Brojila. 225


11. Brojila.

11.1. Zadatak

Asinkrono binarno brojilo sastavljeno je od 3 dvostruka JK bistabila. Na ulaz brojila dovode
se impulsi takta. Projektirati sklop temeljen na ovom brojilu koji e nakon svakih osam
impulsa takta na izlazu dati jedinicu. Koje stanje treba dekodirati ako se eli raditi na
maksimalnoj frekvenciji? Na raspolaganju su jo samo NI sklopovi.


Asinkrono brojilo ostvareno JK bistabilima prikazano je na slici. Uoiti da se JK
bistabili zapravo koriste kao T bistabili (J=K=1).

J
K Q
Q
CP
J
K Q
Q
CP
J
K Q
Q
CP
1
CP
B
0
B
1
B
2


Kako imamo brojilo od 3 bistabila, ukupan broj stanja kroz koja bistabili prolaze jest
upravo 8 (=2
3
). Obzirom da moramo nakon svakih 8 impulsa na izlazu generirati 1, to
upravo znai da moemo detektirati jedno od 8 stanja. Naime, ako npr. generiramo
jedinicu kada se na izlazu brojila pojavi 6, do sljedeeg pojavljivanja broja 6 opet e
proi osam otkucaja takta.

Dodatni uvjet zadatka zahtjeva maksimalno brz odziv sklopa. Pogledajmo zato koliko
nam vremena treba da bismo detektirali broj 6 na izlazu. Kada brojilo prelazi sa 5 na 6,
mijenjaju se dva bita:

B
2
B
1
B
0
B
2
B
1
B
0
Broj bitova koji se mijenja
1 0 1

1 1 0 2

U trenutku kada doe impuls takta na ulaz bistabila B
0
, stanje tog bistabila se mijenja iz
1 u 0 nakon t
db
. Zbog te promjene se nakon novih t
db
mijenja stanje bistabila B
1
iz 0 u 1
(t
db
je vrijeme potrebno za promjenu stanja bistabila). Da bismo dekodirali stanje 6 (tj.
110
2
), odnosno minterm
0 1 2
B B B :
( ) ( )
0 1 2 0 1 2 0 1 2
, , B B B NI NI B B B B B B = =
(napomena:
0
B ne treba ostvarivati NI sklopom jer iz svakog bistabila imamo izlaz i
njegov komplement) trebamo sklop:

& &
2
B
1
B
0
B

226 Zbirka rijeenih zadataka

Ovaj sklop e za dekodiranje stanja 6 trebati jo 2 tdls (jedan za NI sklop koji mnoi
2
B ,
1
B i
0
B , i jedan za zavrni invertor; t
dls
je vrijeme potrebno da rezultat proe na
izlaz logikog sklopa), pa e ukupno vrijeme potrebno za dekodiranje ovog stanja biti:

dls db dek
t t t + = 2 2
6


Pitanje je da li se to moe obaviti i bre. Pogledajmo sva mogua stanja koja moemo
dekodirati i koliko je to brzo mogue:

B
2
B
1
B
0
B
2
B
1
B
0

Broj bitova koji se
mijenja
Vrijeme dekodiranja
stanja
1 1 1

0 0 0 3
dls db dek
t t t + = 2 3
0

0 0 0

0 0 1 1
dls db dek
t t t + = 2 1
1

0 0 1

0 1 0 2
dls db dek
t t t + = 2 2
2

0 1 0

0 1 1 1
dls db dek
t t t + = 2 1
3

0 1 1

1 0 0 3
dls db dek
t t t + = 2 3
4

1 0 0

1 0 1 1
dls db dek
t t t + = 2 1
5

1 0 1

1 1 0 2
dls db dek
t t t + = 2 2
6

1 1 0

1 1 1 1
dls db dek
t t t + = 2 1
7


Vidimo da su najbolji kandidati za dekodiranje stanja 1, 3, 5 i 7. Odluimo li se za
dekodiranje stanja 7, konani sklop e izgledati:

J
K Q
Q
CP
J
K Q
Q
CP
J
K Q
Q
CP
1
CP
B
0
B
1
B
2
& & m
7


Brojila. 227


11.2. Zadatak

Realizirati asinkrono brojilo sa 12 stanja uporabom dvostrukih JK bistabila. Pri tome se
koristiti:

a) Asinkronim ulazom za postavljanje,
b) Asinkronim ulazom za brisanje.

Odrediti potreban broj bistabila. Na raspolaganju su jo i NI sklopovi. Ako je poznato da je t
dls

= 10 ns, t
db
= 20 ns a t
oitanja
= 20 ns, odrediti za svaki sluaj maksimalnu frekvenciju rada
sklopa.


Ako brojilo mora proi kroz N stanja, mora vrijediti
n
N 2 , gdje je n broj bistabila.
Ova jednadba ima beskonano mnogo rjeenja, ali mi emo naravno uzeti najmanji
mogui n koji je zadovoljava, pa je time rjeenje jednoznano. Za N=12 traeni n je 4,
jer je upravo 16 2 12
4
= .

a) Uporaba asinkronog ulaza za postavljanje.

Kada se aktivira asinkroni ulaz za postavljanje, brojilo prelazi u stanje "sve jedinice", tj.
etiri-bitno brojilo prelazi u stanje 1111
(2)
= 15, to traje do sljedeeg impulsa CP. No
kako je stanje 15 stanje koje pripada skupu stanja kroz koje brojilo prolazi, pogledajmo
kroz koja jo stanja brojilo mora prolaziti:

150123456789101112131415
12 stanja
postaviti u 15

Na prethodnom dijagramu vidimo kada treba djelovati na ulaze za postavljanje: kada
brojilo doe do broja 11 (to je zapravo N-1), brojilo je potrebno prebaciti u stanje 15.
Stanje 11 (
0 1 2 3
B B B B ) moe se potpuno dekodirati uporabom 4 ulazni NI sklopa. Sklop
je sljedei:
228 Zbirka rijeenih zadataka

J
K Q
Q
CP
d
S
d
C
B
0
J
K Q
Q
CP
d
S
d
C
B
1
J
K Q
Q
CP
d
S
d
C
B
2
J
K Q
Q
CP
d
S
d
C
B
3
&
D
0
D
1
D
2
D
3
CP
1



Vremenska analiza

Da bismo utvrdili kojom maksimalnom frekvencijom smiju dolaziti impulsi takta,
potrebno je razmotriti dva vremena: (i) vrijeme potrebno za slijednu promjenu stanja u
ciklusu brojanja i (ii) vrijeme potrebno za povratak na poetak ciklusa. Maksimalna
frekvencija rada odreena je veim od ta dva vremena.

B
2
B
2
B
1
B
0
B
2
B
2
B
1
B
0

Broj bitova koji se
mijenja
1 1 1 1

0 0 0 0 4
0 0 0 0

0 0 0 1 1
0 0 0 1

0 0 1 0 2
0 0 1 0

0 0 1 1 1
0 0 1 1

0 1 0 0 3
0 1 0 0

0 1 0 1 1
0 1 0 1

0 1 1 0 2
0 1 1 0

0 1 1 1 1
0 1 1 1

1 0 0 0 4
1 0 0 0

1 0 0 1 1
1 0 0 1

1 0 1 0 2
1 0 1 0

1 0 1 1 1

Najvei broj promjena bitova je 4, pa je najvee vrijeme potrebno za slijednu promjenu
stanja u ciklusu brojanja (bez oitavanja) jednako 80 20 4 4 = =
db
t ns. Ovaj dio
mogao se je rijeiti i bez izrade tablice, obzirom da su kod ovog tipa brojila stanja "sve
nula" i "sve jedan" sastavni i susjedni dijelovi ciklusa brojanja, tako da e maksimalno
vrijeme ovdje biti odreeno kao kanjenje jednog bistabila puta broj bistabila u brojilu.

Za izraun vremena potrebnog za povratak na poetak ciklusa promotrimo zadnje stanje
u ciklusu:

Brojila. 229

B
2
B
2
B
1
B
0
B
2
B
2
B
1
B
0

Broj bitova koji se
mijenja
1 0 1 0

1 0 1 1 1

Na signal takta brojilo iz 1010 prelazi u 1011 za to je potrebno
db
t 1 . Zatim nakon
vremena
dls
t 1 reagira sklop za detekciju stanja 11 i generira signal za postavljanje na
ulaze svih bistabila. Bistabili reagiraju paralelno i nakon jo
db
t 1 svi su u stanju 1 ime
je zavrena promjena. Ukupno vrijeme potrebno za ovu operaciju tada je
50 10 1 20 2 1 2 1 1 1 = + = + = + +
dls db db dls db
t t t t t ns. Ovaj raun donekle je
neprecizan jer novi impuls ne bi smio stii tako dugo dok je signal za postavljanje
aktivan (pa bismo trebali saekati jo
dls
t 1 nakon to se svi bistabili postave tako da
logiki NI sklop ukloni taj signal). Meutim, ovo vrijeme maskira se vremenom
oitanja koje je puno due, pa u ovom sluaju ne igra nikakvu ulogu.

Vee od ova dva vremena je prvo, pa je maksimalna frekvencija rada sklopa odreena
recipronom vrijednou sume prvog vremena i vremena potrebnog za oitavanje
stanja:
MHz
ns ns ns
f 10
100
1
20 80
1
max
= =
+
=

b) Uporaba asinkronog ulaza za brisanje.

Kada se aktivira asinkroni ulaz za brisanje, brojilo prelazi u stanje "sve nule", tj. etiri-
bitno brojilo prelazi u stanje 0000
(2)
= 0, to traje do sljedeeg impulsa CP. No kako je
stanje 0 stanje koje pripada skupu stanja kroz koje brojilo prolazi, pogledajmo kroz koja
jo stanja brojilo mora prolaziti:

01234567891011121314150
12 stanja
postaviti u 0


Na prethodnom dijagramu vidimo kada treba djelovati na ulaze za brisanje: kada brojilo
doe do broja 12 (to je zapravo N), brojilo je potrebno prebaciti u stanje 0. Stanje 12
moe se potpuno dekodirati (4 ulazni I sklop). Meutim, u ovom sluaju (kada se
koriste brojila koja broje unaprijed i ulaz za brisanje) dovoljno je na ulaze NI sklopa
dovesti one izlaze brojila koji su u stanju koje dekodiramo postavljeni na 1. Dakle, kod
dekodiranja stanja 12 = 1100
(2)
na ulaze NI sklopa dovodimo izlaze B
3
i B
2
. Sklop je
sljedei:

230 Zbirka rijeenih zadataka

J
K Q
Q
CP
d
S
d
C
B
0
J
K Q
Q
CP
d
S
d
C
B
1
J
K Q
Q
CP
d
S
d
C
B
2
J
K Q
Q
CP
d
S
d
C
B
3
&
CP
1
D
0
D
1
D
2
D
3


Analiziramo li malo bolje ovaj sklop, uoiti emo da bi sklop mogao imati problema u
radu. Naime, u trenutku kada sklop doe u stanje 12, aktivira se ulaz za brisanje. No
kako bistabili openito nisu identini, mogue je da npr. bistabil B
3
ode u nulu puno
prije bistabila B
2
. No im B3 ode u nulu, stanje vie nije 12 (1100
(2)
), ve 4 (0100
(2)
).
Zbog toga sklop za detekciju stanja 12 prestaje biti aktivan te je mogue da bistabil B
2

ostane i dalje postavljen, jer je signal za reset trajao prekratko. Kako bi se ovo izbjeglo,
moe se uporabom jo dva NI sklopa ostvariti bistabil koji e se resetirati na signal za
reset, a postaviti u neaktivno stanje signalom takta, kao to je prikazano na slici:

J
K Q
Q
CP
d
S
d
C
B
0
J
K Q
Q
CP
d
S
d
C
B
1
J
K Q
Q
CP
d
S
d
C
B
2
J
K Q
Q
CP
d
S
d
C
B
3
&
CP
1
D
0
D
1
D
2
D
3
&
& &
Q
Q
R
S


Kod ove izvedbe, ak i ako se npr. B
3
resetira puno ranije od B
2
, to e za posljedicu
imati prestanak djelovanja signala koji detektira stanje 12, signal za reset e i dalje
djelovati jer je on pohranjen u bistabilu koji e se postaviti u neaktivno stanje (1) tek
kada CP postane 1 (CP djeluje sa 1 jer ga naknadno dodatni NI sklop invertira).

Brojila. 231

Vremenska analiza (bez pomonog bistabila)

Ukoliko je zadovoljen zahtjev o minimalnom broju bistabila, tada e i u ovom sluaju
postojati prijelaz u kojem svi bistabili mijenjaju stanje. To znai da je najvee vrijeme
potrebno za slijednu promjenu stanja u ciklusu brojanja (bez oitavanja) jednako
80 20 4 4 = =
db
t ns (jer imamo 4 bistabila).

Za izraun vremena potrebnog za povratak na poetak ciklusa promotrimo zadnje stanje
u ciklusu:

B
2
B
2
B
1
B
0
B
2
B
2
B
1
B
0

Broj bitova koji se
mijenja
1 0 1 1

1 1 0 0 3

Na signal takta brojilo iz 1011 prelazi u 1100 za to je potrebno
db
t 3 . Zatim nakon
vremena
dls
t 1 reagira sklop za detekciju stanja 12 i generira signal za postavljanje na
ulaze svih bistabila. Bistabili reagiraju paralelno i nakon jo
db
t 1 svi su u stanju 0 ime
je zavrena promjena. Ukupno vrijeme potrebno za ovu operaciju tada je
90 10 1 20 4 1 4 1 1 3 = + = + = + +
dls db db dls db
t t t t t ns.
Vee od ova dva vremena je drugo, pa je maksimalna frekvencija rada sklopa odreena
recipronom vrijednou sume drugog vremena i vremena potrebnog za oitavanje
stanja:
MHz
ns ns ns
f 09 , 9
110
1
20 90
1
max
= =
+
=

Analiza vremena uz pomoni bistabil

Ova analiza neto je sloenija od prethodnog sluaja. Prvo vrijeme je isto
( 80 20 4 4 = =
db
t ns). Dodajmo tome odmah i vrijeme oitavanja pa za prvi sluaj
imamo 100 20 80 = + ns. Izraun vremena potrebnog za povratak na poetak ciklusa je
neto kompliciranije. Promotrimo situaciju kada je brojilo u stanju 11. Na padajui brid
CPa (od tog trenutka mjerimo vrijeme) brojilo nakon
db
t 3 prelazi u stanje 12. Nakon
dls
t 1 reagira sklop za detekciju stanja 12 i generira signal za reset pomonog bistabila.
Za reset pomonog bistabila potrebno je
dls
t 2 . Sada je izlaz pomonog bistabila 0 pa
se paralelno resetiraju svi bistabili brojila. Za to je potrebno jo
db
t 1 . Oznaimo ovaj
trenutak oznakon t
x
. Za vrijeme t
x
temeljem prethodnog razmatranja vrijedi:
dls db db dls dls db x
t t t t t t t + = + + + = 3 4 1 2 1 3 . Tek sada CP smije otii u 1, ime e se
na izlazu invertora nakon
dls
t 1 pojaviti 0 koja e jo nakon
dls
t 1 postaviti pomoni
bistabil u 1 (ovime e se prestati djelovati na asinkrone ulaze za brisanje i brojilo e biti
spremno za novi impuls CPa). Uoimo da je t
x
zapravo vrijeme od padajueg brida CPa
pa do pojave rastueg brida CPa. Ako je signal CP simetrian, tada e minimalno
trajanje periode CPa biti
x
t 2 , ako je vrijeme oitavanja (koje takoer smije zapoeti
tek nakon t
x
) manje od t
x
. U suprotnom (t
oitanja
> t
x
) e perioda CPa biti T
CP
=t
x
+t
oitanja
.
U naem konkretnom sluaju 110 10 3 20 4 3 4 = + = + =
dls db x
t t t ns, to je puno
232 Zbirka rijeenih zadataka

vee od t
oitanja
. Zbog toga uzimamo 220 110 2 2 = = =
x CP
t T ns, to je definitivno
najvee dobiveno vrijeme koje zbog toga odreuje maksimalnu frekvenciju sklopa:
MHz
ns T
f
CP
55 , 4
220
1 1
max
= = =
Treba meutim primjetiti da ovo ipak nije najvea mogua frekvencija rada sklopa.
Naime, da bi CP postavio pomoni bistabil u 1, njemu treba
dls
t 1 (za prolaz kroz
invertor) i
dls
t 1 za postavljanje izlaza pomonog bistabila u 1, to je ukupno
dls
t 2 . No
tada bi (teoretski) CP mogao prei u 1 ak i u trenutku
dls x
t t 2 (jer e se bistabili
brojila u trenutku t
x
resetirati, pa se pomoni bistabil smije postaviti u 1 ve u trenutku
t
x
). Ovime bi se moda mogla poveati maksimalna frekvencija rada, meutim, ovakav
proraun vrijedi uz pretpostavku da e se svi bistabili resetirati upravo nakon
db
t 1 . No
pomoni bistabil smo i uveli jer nismo mogli garantirati da e ovo biti uvijek ispunjeno,
pa na ovaj nain neemo raditi.

Dodatak zadatku: smijemo li prilikom uporabe brojila koji broji unaprijed dekodirati
samo jedinice u svrhu resetiranja brojila? Pogledajmo sluaj koji smo imali u b) dijelu
zadatka, i minimizirajmo sklop za dekodiranje stanja 12. Brojilo u ovom sluaju broji:
01...91011(12)0. Ovo znai da se stanja 13, 14 i 15 nikada nee
pojaviti, pa ih moemo oznaiti kao dont-care minterme. Postupak minimizacije daje:

D
3
D
2

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

0
11
0 0

0
10
0 0

0

2 3
D D

ime su upravo izbaeni oni lanovi koji su bili nula. No to vrijedi upravo zato to
dekodiramo najvei dozvoljeni broj. Ako bismo eljeli dekodirati stanja u svrhu
postavljanja brojila u stanje "sve jedan", ovakvo razmiljanje ne bi vrijedilo (npr. a) dio
zadatka; dekodiramo 11, ali brojilo prelazi u 15 pa nije istina da su sva stanja vea od
11 dont-care stanja).

Za vjebu:

Nacrtati vremenske dijagrame za a) i b) dijelove zadatka.


Brojila. 233

11.3. Zadatak

Realizirati sinkrono trobitno binarno brojilo uporabom dvostrukih JK bistabila.


J
K Q
Q
CP
B
0
J
K Q
Q
CP
B
1
J
K Q
Q
CP
B
2
CP
1
D
0
D
1
D
2
&


11.4. Zadatak

Realizirati sinkrono trobitno binarno brojilo koje broji u Grayevom kodu uporabom
dvostrukih JK bistabila, i potrebnog broja osnovnih logikih sklopova.


Napiimo tablicu promjene stanja u upiimo potrebne pobude bistabila:

n n+1
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
J
2
K
2
J
1
K
1
J
0
K
0

0 0 0 0 0 1 0

0

1

0 0 1 0 1 1 0

1

0
0 1 1 0 1 0 0

0

1
0 1 0 1 1 0 1

0 0

1 1 0 1 1 1

0

0 1

1 1 1 1 0 1

0

1

0
1 0 1 1 0 0

0 0

1
1 0 0 0 0 0

1 0

0



Oitavamo J
i
i K
i
kao funkcije od Q
2
, Q
1
i Q
0
u trenutku n i vrimo minimizaciju:

J
2
Q
1
Q
0



00 01 11 10
Q
2

0
1

1



K
2
Q
1
Q
0



00 01 11 10
Q
2

0


1
1


234 Zbirka rijeenih zadataka

J
1
Q
1
Q
0



00 01 11 10
Q
2

0
1

1



K
1
Q
1
Q
0



00 01 11 10
Q
2

0


1
1


J
0
Q
1
Q
0



00 01 11 10
Q
2

0
1

1
1


K
0
Q
1
Q
0



00 01 11 10
Q
2

0
1

1
1



1 2 1 2 0
1 2 1 2 0
0 2 1
0 2 1
0 1 2
0 1 2
Q Q Q Q K
Q Q Q Q J
Q Q K
Q Q J
Q Q K
Q Q J
+ =
+ =
=
=
=
=

J
K Q
Q
CP
J
K Q
Q
CP
& J
K Q
Q
CP
&
CP
D
0
D
1
D
2
B
0
B
1
B
2
& &
1
1
&
&
&
&



11.5. Zadatak

Realizirati sinkrono trobitno brojilo uporabom dvostrukih JK bistabila, i potrebnog broja
osnovnih logikih sklopova, koje prolazi kroz stanja: 041570. Osigurati siguran
start brojila (tako da se nespecificirana stanja prebace u 0).


Napiimo tablicu prijelaza zajedno sa odgovarajuom pobudom bistabila:

Brojila. 235

n n+1
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
J
2
K
2
J
1
K
1
J
0
K
0

0 0 0 1 0 0 1

0

0

0 0 1 1 0 1 1

0

0
0 1 0 0 0 0 0

1 0

0 1 1 0 0 0 0

1

1
1 0 0 0 0 1

1 0

1

1 0 1 1 1 1

0 1

0
1 1 0 0 0 0

1

1 0

1 1 1 0 0 0

1

1

1

Oitavamo J
i
i K
i
kao funkcije od Q
2
, Q
1
i Q
0
u trenutku n i vrimo minimizaciju:

J
2
Q
1
Q
0



00 01 11 10
Q
2

0
1 1

1



K
2
Q
1
Q
0



00 01 11 10
Q
2

0


1
1 1 1


J
1
Q
1
Q
0



00 01 11 10
Q
2

0


1
1


K
1
Q
1
Q
0



00 01 11 10
Q
2

0
1 1

1
1 1


J
0
Q
1
Q
0



00 01 11 10
Q
2

0


1
1


K
0
Q
1
Q
0



00 01 11 10
Q
2

0
1

1
1



1 0
1 2 0
1
0 2 1
0 1 2
1 2
1
Q K
Q Q J
K
Q Q J
Q Q K
Q J
=
=
=
=
+ =
=


Shema sklopa:
236 Zbirka rijeenih zadataka

J
K Q
Q
CP
J
K Q
Q
CP
J
K Q
Q
CP
CP
D
0
D
1
D
2
1
&
1
&
B
0
B
1
B
2



11.6. Zadatak

Realizirati sinkrono trobitno brojilo uporabom dvostrukih JK bistabila, i potrebnog broja
osnovnih logikih sklopova, koje prolazi kroz stanja: 041570. Nije potrebno
osigurati siguran start brojila. Provjeriti da li e tako realizirano brojilo raditi ispravno.


Napiimo tablicu prijelaza zajedno sa odgovarajuom pobudom bistabila:
n n+1
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
J
2
K
2
J
1
K
1
J
0
K
0

0 0 0 1 0 0 1

0

0

0 0 1 1 0 1 1

0

0
0 1 0

0 1 1

1 0 0 0 0 1

1 0

1

1 0 1 1 1 1

0 1

0
1 1 0

1 1 1 0 0 0

1

1

1
Napomena: prijelazi za stanja 2, 3 i 6 nisu zadani pa su u tablici oznaeni kao dont-care.
Zbog toga je i odgovarajua pobuda oznaena s dont-care.

Oitavamo J
i
i K
i
kao funkcije od Q
2
, Q
1
i Q
0
u trenutku n i vrimo minimizaciju:

J
2
Q
1
Q
0



00 01 11 10
Q
2

0
1 1

1



K
2
Q
1
Q
0



00 01 11 10
Q
2

0


1
1 1


Brojila. 237

J
1
Q
1
Q
0



00 01 11 10
Q
2

0


1
1


K
1
Q
1
Q
0



00 01 11 10
Q
2

0


1
1


J
0
Q
1
Q
0



00 01 11 10
Q
2

0


1
1


K
0
Q
1
Q
0



00 01 11 10
Q
2

0


1
1



Shema sklopa:
J
K Q
Q
CP
J
K Q
Q
CP
J
K Q
Q
CP
CP
D
0
D
1
D
2
1
&
1
1

Provjera rada za nespecificirana stanja:

Ako je sklop u stanju 2: 010
0 1 2
= Q Q Q . J
2
=1, K
2
=1, J
1
=0, K
1
=1, J
0
=0 i K
0
=1, zbog ega
e nakon djelovanja impulsa takta brojilo promijeniti stanje u 100
0 1 2
= Q Q Q , to je
stanje 4.

Ako je sklop u stanju 3: 011
0 1 2
= Q Q Q . J
2
=1, K
2
=1, J
1
=0, K
1
=1, J
0
=0 i K
0
=1, zbog ega
e nakon djelovanja impulsa takta brojilo promijeniti stanje u 100
0 1 2
= Q Q Q , to je
stanje 4.

Ako je sklop u stanju 6: 110
0 1 2
= Q Q Q . J
2
=1, K
2
=1, J
1
=0, K
1
=1, J
0
=1 i K
0
=1, zbog ega
e nakon djelovanja impulsa takta brojilo promijeniti stanje u 001
0 1 2
= Q Q Q , to je
stanje 1.

Dakle, i ovako realiziran sklop e nakon prvog koraka sigurno ui u ciklus brojenja.
Mogue loa stvar je injenica da je ulazak u ciklus brojenja iz nespecificiranih stanja
na razliita mjesta.


238 Zbirka rijeenih zadataka

11.7. Zadatak

Projektirati trobitno asinkrono brojilo koje broji u ciklusu sa 7 stanja. Analizirati da li sklop
radi ispravno i predloiti rjeenje uoenog problema. Za realizaciju brojila koristiti T bistabile
s ulazom za postavljanje stanja.


Ako koristimo ulaze za postavljanje, tada je stanje 111
(2)
7 sigurno dio ciklusa brojanja
jer djelovanjem na ove ulaze sklop odlazi u to stanje. Kako nam treba jo 6 stanja,
kompletan ciklus brojanja biti e:

7 0 1 2 3 4 5 (6) 7

Moramo detektirati stanje 6 i djelovati na ulaze za postavljanje. 6=110
(2)
, pa je shema
sklopa:

T
Q
Q
CP
B
0
T
Q
Q
CP
B
1
T
Q
Q
CP
B
2
1 1
1
D
0
D
1
D
2
ulaz
d
S
d
S
d
S
&


Analizirajmo sada rad sklopa (sljedea slika). Pretpostavimo da su u jednom trenutku
svi bistabili postavljeni u 0, pa se brojilo nalazi u stanju 0. Nailaskom padajueg brida
ulaznog impulsa pokree se promjena stanja bistabila B
0
. Meutim, ta se promjena
dogaa tek nakon vremena kanjenja bistabila (t
db
), tako da je sve do isteka vremena
kanjenja bistabila brojilo jo uvijek u stanju 0. Nakon vremena kanjenja bistabila
bistabil mijenja stanje i brojilo prelazi u stanje 1. Kako se je na izlazu B
0
(ulazu B
1
)
dogodio rastui brid, bistabil B
1
ne reagira i doli smo u stabilno stanje.

Nailaskom sljedeeg padajueg brida na ulazu brojila opet se pokree promjena stanja
bistabila B0, koja se i dogodi nakon t
db
, pa brojilo iz stanja 1 ulazi u stanje 0. No kako
se je sada uslijed pada izlaza B
0
sa 1 na 0 dogodio padajui brid, pokree se promjena
stanja bistabila B
1
, koja se dogodi nakon jo jednog t
db
. Time brojilo iz kratkotrajnog
prijelaznog stanja 0 prelazi u stanje 2. Kako se je u tom trenutku na izlazu B
1
dogodio
rastui brid, nema nikakvog utjecaja na bistabil B
2
pa je ovo stabilno stanje. Na slian se
nain mogu analizirati i ostala stanja.

Pogledajmo sada jo kakav je odziv logikog sklopa za detekciju stanja 6. Neka se
brojilo nalazi u stanju 5. Nailaskom padajueg brida na ulazu brojila pokree se
promjena stanja B
0
, koja se dogodi nakon t
db
. Time brojilo dolazi u stanje 4. No budui
da se je bistabil B
0
preao iz stanja 1 u stanje 0 (tj. dogodio se je padajui brid), reagira i
bistabil B
1
koji nakon jo jednog t
db
mijenja stanje u 1, ime brojilo iz prijelaznog stanja
Brojila. 239

4 prelazi u stanje 6. No sada e na stanje 6 reagirati sklop za detekciju stanja 6, i nakon
vremena kanjenja logikog sklopa (t
dls
) na izlazu e se pojaviti logika 0 koja se
dovodi na ulaze za postavljanje bistabila. Bistabili e svi reagirati nakon vremena
kanjenja bistabila, i ui u stanje 7. Ovo e rezultirati nestankom stanja 6 koje detektira
logiki sklop pa e se nakon vremena kanjenja logikog sklopa na njegovom izlazu
ponovno pojaviti neaktivno stanje. Time je zavren nasilan prekid ciklusa brojanja.
Prema dosadanjoj analizi ini se da e ovo brojilo raditi bez problema, kao to je to
prikazano na vremenskom dijagramu.

0
1 2 3 5
4
6 7 0 1 2 3
CP
Q
0
Q
1
Q
2
R
6 4
0 0 2 4 0

Meutim, nastavimo analizu dalje. Brojilo je u stanju 7. Na sljedei padajui brid
signala na ulazu sklopa nakon 1 t
db
prvi bistabil mijenja stanje, i dolazi u prijelazno
stanje 110
(2)
6. No ba to stanje oitava i NI sklop, koji zatim generira impuls za
postavljanje bistabila u stanje 7! Brojilo nikada vie nee izai iz stanja 7. Zapravo,
kako zabranjeno stanje 6 traje tono t
db
, a vrijeme potrebno za postavljanje bistabila
takoer smo modelirali sa t
db
, mogua je jo gora situacija bistabili se ponekad mogu
postaviti, a ponekad mogu i ne reagirati na signal, pa dobijemo stohastiko ponaanje.

Postoji vie naina kako rijeiti ovaj problem. U nastavku e biti opisana dva. Prvi nain
rjeavanja problema je dovoenje dodatnog signala X na NI sklop, pri emu je signal X
definiran na sljedei nain: X je 0 od trenutka
padajueg brida (oznaimo to vrijeme sa t
p
)
ulaznog signala minus vrijeme kanjenja
logikog sklopa, dakle od t
p
-t
dls
, pa do trenutka
dok ne zavre sve prijelazne pojave unutar
brojila plus vrijeme kanjenja logikog sklopa:
t
p
+3*t
db
+t
dls
, dok je u svim ostalim trenucima
1. Evo kako ovo rjeava problem. U trenutku
kada zaponu prijelazne pojave signal X
postaje 0. Zbog toga u trenutku kada brojilo iz
stanja 7 ue u prijelazno stanje 6 sklop za
CP
X
t
t
Maskiranje prijelaznih pojava
240 Zbirka rijeenih zadataka

detekciju stanja 6 nee reagirati jer ga signal X inhibira. Tek kada zavre sve prijelazne
pojave, X e postati 1 i tada e sklop NI moi reagirati. Meutim, kako smo sada u
stabilnom stanju 0, sklop nee reagirati, i problem je rijeen. Negativna posljedica
ovakvog rjeenja je kasna reakcija na stvarno stanje 6. Naime, bez ove modifikacije
sklop je detektirao stanje 6 nakon 1*t
db
+1*t
dls
i postavio signal za postavljanje svih
bistabila. Sa modifikacijom sklop za detekciju stanja 6 reagirati e tek kada mu to X
dozvoli, a to je nakon (3*t
db
+1*t
dls
)+1*t
dls
, to e rezultirati znaajno duljim ostankom u
nedozvoljenom stanju 6. Alternativa prethodnom rjeenju je uporaba ulaznog signala
kao signala X (tako da nam ne treba jo jedan generator novog signala), ali tada treba
uzeti u obzir da ulazni signal mora biti takvog oblika da vrijeme tijekom kojega je u nuli
bude dovoljno dugo da maskira sve prijelazne pojave kao to je to radio signal X opisan
prethodno.

11.8. Zadatak

Prikazati funkciju sklopa 74LS163. Opisati sklop ponaajnim VHDL-om.


Sklop 74LS163 jest asinkrono 4-bitno brojilo, ije je suelje prikazano na
slici.
LD (load) i CLR (clear) djeluju sinkrono
Aktivan LD tijekom rastueg brida signala takta uitava stanje
brojila s ulaza ABCD.
Aktivan CLR tijekom rastueg brida signala takta brie brojilo (tj.
upisuje sve nule)
CLR nadjaava LD
LD nadjaava ENP i ENT
Ako je ENT=1 i ENP=1 brojilo se inkrementira
RCO = QDQCQBQAENT, koristi se za kaskadiranje ipova

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;

ENTITY C74LS163 IS
PORT ( CLK, CLR, LD : IN STD_LOGIC;
ENP, ENT : IN STD_LOGIC;
D : IN UNSIGNED (3 DOWNTO 0);
Q : OUT UNSIGNED (3 DOWNTO 0);
RCO : OUT STD_LOGIC );
END C74LS163;

ARCHITECTURE C74LS163_ARCH OF C74LS163 IS
SIGNAL IQ : UNSIGNED (3 DOWNTO 0);
BEGIN

PROCESS (CLK, ENT, IQ)
BEGIN
IF (CLK'event AND CLK='1') THEN
IF CLR='0' THEN
IQ <= "0000";
ELSIF LD='0' THEN
IQ <= D;
ELSIF (ENT='1' AND ENP='1') THEN
Brojila. 241

IQ <= IQ +1;
END IF;
END IF ;
IF (IQ=15) AND (ENT='1') THEN
RCO <='1';
ELSE
RCO <= '0';
END IF;
Q <= IQ;
END PROCESS;

END C74LS163_ARCH;

11.9. Zadatak

Uporabom SR bistabila projektirati 4-bitno prstenasto brojilo. Nacrtati potpuni dijagram
prijelaza stanja. Da li je to brojilo sa sigurnim startom?


etiribitno prstenasto brojilo je brojilo koje broji u sljedeem ciklusu:
1000 0100 0010 0001 1000

Karakteristika brojila je ciklus brojanja kroz n stanja, pri emu je za realizaciju
potroeno n bistabila.

Trenutno stanje Sljedee stanje Potrebna pobuda
Q
0
Q
1
Q
2
Q
3
Q
0
Q
1
Q
2
Q
3
S
0
R
0
S
1
R
1
S
2
R
2
S
3
R
3

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

Minimizacijom slijedi:

2 3
Q S = ,
2 3
Q R =
1 2
Q S = ,
1 2
Q R =
0 1
Q S = ,
0 1
Q R =
3 0
Q S = ,
3 0
Q R =

242 Zbirka rijeenih zadataka

Sklop koji je definiran ovim izrazima prikazan je na sljedeoj slici.

Q
Q
Q
Q
Q
Q
Q
Q

Analizom projektiranog sklopa dolazi se do sljedeeg potpunog dijagrama prijelaza
stanja:


Prilikom dekodiranja stanja Q
3
je promatran kao bit najvee, a Q
0
kao bit najmanje
teine.

Iz dijagrama je vidljivo da ovo nije sklop sa sigurnim startom.


11.10. Zadatak

Uporabom SR bistabila projektirati 4-bitno Johnsonovo brojilo. Nacrtati potpuni dijagram
prijelaza stanja. Da li je to brojilo sa sigurnim startom?


etiribitno Johnsonovo brojilo je brojilo koje broji u sljedeem ciklusu:
0000 1000 1100 1110 1111 0111 0011 0001 0000

Karakteristika brojila je ciklus brojanja kroz 2n stanja, pri emu je za realizaciju
potroeno n bistabila.
Brojila. 243


Trenutno stanje Sljedee stanje Potrebna pobuda
Q
0
Q
1
Q
2
Q
3
Q
0
Q
1
Q
2
Q
3
S
0
R
0
S
1
R
1
S
2
R
2
S
3
R
3

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


Minimizacijom slijedi:

2 3
Q S = ,
2 3
Q R =
1 2
Q S = ,
1 2
Q R =
0 1
Q S = ,
0 1
Q R =
3 0
Q S = ,
3 0
Q R =

Sklop koji je definiran ovim izrazima prikazan je na sljedeoj slici.

Q
Q
Q
Q
Q
Q
Q
Q

Zbog specifine realizacije, sklop je poznat i pod nazivom brojilo s ukrtenim prstenom.

Analizom projektiranog sklopa dolazi se do sljedeeg potpunog dijagrama prijelaza
stanja:

244 Zbirka rijeenih zadataka


Prilikom dekodiranja stanja Q
3
je promatran kao bit najvee, a Q
0
kao bit najmanje
teine.

Iz dijagrama je vidljivo da ovo nije sklop sa sigurnim startom.


ZADACI ZA VJEBU

1. Nacrtati 4 bitno asinkrono binarno brojilo unatrag izvedeno JK bistabilima. Ako je
period signala koji se broji 100 ns, a kanjenje bistabila 20 ns, nacrtati vremenski
dijagram svih signala prilikom promjene stanja brojila iz 4 u 3.
2. Na raspolaganju su 2 D i 1 JK bistabil. Projektirati njihovom uporabom (i minimalnim
brojem osnovnih logikih sklopova) sinkrono brojilo koje broji u ciklusu 0 5 2
7 4 0. Da li je dobiveni sklop sklop sa sigurnim startom? Nacrtati potpuni
dijagram prijelaza stanja. Prilikom rjeavanja koristiti JK bistabil za pamenje bita
najmanje teine.
3. Na raspolaganju je 3 T bistabila i minimalni potreban broj osnovnih logikih sklopova.
Projektirati sinkroni sklop iji je izlaz 2-bitni broj koji se mijenja u ciklusu:
012321.
4. Brojilo je prikazano slikom. Nacrtati potpuni dijagram prijelaza stanja brojila. Da li je to
brojilo sa sigurnim startom? Ako je poznato: t
db
= 20 ns, t
setup
= 20 ns, t
dls
= 10 ns,
kolika je maksimalna frekvencija signala CP? Da li ovaj sklop pripada sinkronim ili
asinkronim sklopovima?
Q
Q
Q
Q
Q
Q 1



Strojevi s konanim brojem stanja. 245


12. Strojevi s konanim brojem stanja.

12.1. Zadatak

Uporabom potrebnog broja D bistabila i osnovnih logikih sklopova projektirati Mooreov
automat koji odreuje da li je suma pristiglih binarnih znamenki djeljiva s 3.


Kod Mooreovog automata prijelaz u novo stanje funkcija je trenutnog stanja i pristiglog
znaka, a izlaz samo funkcija trenutnog stanja. Grafiki je automat prikazan na slici.

Dijagram treba itati na
sljedei nain: iz stanja S0, sa
znamenkom 0 prelazi se u
stanje S0, a sa znamenkom 1
u stanje S1. Dok je automat u
stanju S0, izlaz je 1 (uglate
zagrade!), i sl.

Najprije treba odrediti koliko
nam bistabila treba za realizaciju ovog automata. Budui da imamo 3 stanja, trebamo
(
n
2 3 ) 2 bistabila. Zatim treba odrediti na koji emo nain kodirati stanja. Ovo se
moe obaviti na vie naina. Jedan mogui odabir je:

Kodirano stanje Stanje
Q
1
Q
0

S0 1 1
S1 0 1
S2 1 0

Zatim napiemo tablicu prijelaza stanja. Sa I emo oznaiti znak koji je pristigao na ulaz
automata.

Korak n Korak n+1 Izlaz Pobuda
Q
1
Q
0
I
0
Q
1
Q
0
Y D
1
D
0

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

Oitavamo i minimiziramo Y kao funkciju od Q
1
i Q
0
u koraku n, a D
1
i D
0
kao funkciju
od Q
1
, Q
0
i I u koraku n.

S0
[1]
S1
[0]
S2
[0]
0 0 0
1
1
1
246 Zbirka rijeenih zadataka

Y Q
0
I


00 01 11 10
Q
1

0


1
1 1


D
1
Q
0
I


00 01 11 10
Q
1

0
1

1
1 1 1


D
0
Q
0
I


00 01 11 10
Q
1

0
1

1
1 1 1



Nakon minimizacije dobije se:

0 1
Q Q Y =
I Q I Q Q D + + =
1 1 0 1

I Q I Q D + =
0 1 0


Napomena: Y se moe oitati i kao funkciju od Q
1
, Q
0
i I u koraku n; meutim, nakon
minimizacije lan I ne smije se pojaviti u izrazu za Y (ako se doista radi o Mooreovom
automatu).

Sklop tada izgleda:

&
&
1
D
Q
Q
CP
B
1
D
Q
Q
CP
B
0
&
&
1
1
&
CP
I
Y

Strojevi s konanim brojem stanja. 247


12.2. Zadatak

Na slici je prikazan sklop koji oitava pritisak na jednostavnu tipkovnicu sastavljenu od triju
tipaka. U ovisnosti o pritisnutoj tipki, izlaz sklopa odreen je tablicom i traje tako dugo dok je
tipka pritisnuta. Pretpostaviti da se ne moe dogoditi situacija da vie tipaka bude pritisnuto
istovremeno, te da nakon svakog pritiska tipke slijedi period u kojem niti jedna tipka nije
pritisnuta. Izlazi sklopa mijenjaju se u skladu sa signalom takta.

I1 I0 Znaenje
0 0 Pritisnuta je tipka A
0 1 Pritisnuta je tipka B
1 0 Pritisnuta je tipka C
1 1 Nije pritisnuta niti jedna tipka

Uporabom potrebnog broja JK bistabila konstruirati
Mealyjev automat koji e u trajanju od jednog
impulsa takta na izlazu generirati dva signala kod
svakog pritiska tipke: kod tipke (O) i signal da je
pritisnuta nova tipka (KA). Primjer eljenog
ponaanja prikazan je na slici.



Principijelna shema sklopa prikazana je na slici:

ita
tipkovnice
Kombinacijski dio
Sekvencijski dio
Izlazni
registar
I
1
I
0
O
1
O
0
KA
CP


Mealyjev automat na temelju trenutnih ulaza i trenutnog stanja odreuje novo stanje
u koje e prijei i izlaz koji e se generirati. Budui su izlazi funkcija stanja i ulaza,
kako asinkrona promjena ulaza ne bi djelovala na izlaze, izlazi se pamte uporabom
dodatnog registra. Signal takta vodi se na sekvencijski dio sklopa kao i na izlazni
registar.

Automat se obino prikazuje dijagramom prijelaza stanja. Automat koji ostvaruje
prethodno zadanu funkciju prikazan je na sljedeoj slici. Poetno stanje oznaeno je sa
S0 (koje oznaava da niti jedna tipka jo nije pritisnuta). Automat moe mijenjati stanje
ita
tipkovnice
I1
I0
CP
O
1
O
0
I
1
I
0
t
t
t
t
KA
11 11
01
01
10
10
248 Zbirka rijeenih zadataka

na svaki otkucaj signala takta. Ako u stanju S0 doe sa ulaza kombinacija 11, automat
ostaje u stanju S0, na izlaze O
1
O
0
postavlja 00, a na KA takoer 0. Ako sa ulaza doe
kod 00, znai da je upravo pritisnuta tipka A, pa se sa sljedeim otkucajem signala takta
prelazi u stanje S1 a na izlaze O
1
O
0
postavlja 00 (kd pritisnute tipke). Na izlaz KA
postavlja se 1, to znai da je pritisnuta tipka. Ukoliko se tipka odmah otpusti,
nailaskom sljedeeg impulsa takta automat se vraa u stanje S0 i ponitava izlaze, dok u
sluaju da tipka ostane pritisnuta due vrijeme prelazi u stanje S2 pri emu se takoer
ponitavaju izlazi i u tom stanju se eka otputanje tipke.

S0 S1
S2
00/00,1
01/01,1
10/10,1
11/00,0
11/00,0
11/00,0
00,01,10/00,0
00,01,10/00,0 I
1
I
0
/O
1
O
0
,KA


Jednom kada smo opisali automat moemo krenuti u postupak realiziranja istoga.
Koraci su sljedei.

1. Odrediti potreban broj i vrstu bistabila.
2. Kodirati stanja. Kompleksnost kombinacijskog dijela ovisiti e o nainu na koji
kodiramo stanja.
3. Napisati tablicu u kojoj se prikae kako novo stanje i izlazi automata ovise o
trenutnom stanju i trenutnim ulazima.
4. Proiriti tablicu ulazima bistabila koje koristimo i postaviti ih tako da se osigura
ispravan prelazak stanja kako je prethodno navedeno u tablici.
5. Po potrebi minimizirati funkcije ulaza bistabila i izlaza automata.
6. Nacrtati sklop prema dobivenim funkcijama.

Budui da imamo tri stanja, dovoljna su nam dva bistabila. Koristiti emo JK bistabile,
a stanja emo kodirati na sljedei nain:

S000, S101, S210.


Prisjetimo se jo i dijagrama promjene stanja JK bistabila:

Strojevi s konanim brojem stanja. 249

0 1 0x
10,11
01,11
x0
J,K


Tablica promjene stanja automata i potrebni JK ulazi su:

Trenutno stanje
i pobuda
Sljedee
stanje
Sljedei izlazi
Potrebna pobuda
bistabila
Q
1
Q
0
I
1
I
0
Q
1
Q
0
O
1
O
0
KA J
1
K
1
J
0
K
0

0 0 0 0 0 1 0 0 1 0 x 1 x
0 0 0 1 0 1 0 1 1 0 x 1 x
0 0 1 0 0 1 1 0 1 0 x 1 x
0 0 1 1 0 0 0 0 0 0 x 0 x
0 1 0 0 1 0 0 0 0 1 x x 1
0 1 0 1 1 0 0 0 0 1 x x 1
0 1 1 0 1 0 0 0 0 1 x x 1
0 1 1 1 0 0 0 0 0 0 x x 1
1 0 0 0 1 0 0 0 0 x 0 0 x
1 0 0 1 1 0 0 0 0 x 0 0 x
1 0 1 0 1 0 0 0 0 x 0 0 x
1 0 1 1 0 0 0 0 0 x 1 0 x
1 1 0 0 x x x x x x x x x
1 1 0 1 x x x x x x x x x
1 1 1 0 x x x x x x x x x
1 1 1 1 x x x x x x x x x

Uoimo jo jednom da su izlazi i potrebne pobude bistabila funkcije od etiri varijable:
trenutnih stanja i ulaza. Nakon minimizacije funkcija i faktorizacije dobiva se:

0 1 0 1 1
I I Q Q O =
0 1 0 1 0
I I Q Q O =
( )
0 1 0 1
I I Q Q KA + =
( )
0 1 0 1
I I Q J + =
0 1 1
I I K =
( )
0 1 1 0
I I Q J + =
1
0
= K


Sklop koji ostvaruje zadani automat:

250 Zbirka rijeenih zadataka

J
K Q
Q
CP
J
K Q
Q
CP
ita
tipkovnice
I
1
I
0
1
1
1
&
&
&
1
B
0
B
1
D
0
0
Q
CP
D
1
D
2
1
Q
2
Q
&
&
&
O
1
O
0
KA
CP


12.3. Zadatak

Na slici je prikazan sklop koji oitava pritisak na jednostavnu tipkovnicu sastavljenu od triju
tipaka. U ovisnosti o pritisnutoj tipki, izlaz sklopa odreen je tablicom i traje tako dugo dok je
tipka pritisnuta. Pretpostaviti da se ne moe dogoditi situacija da vie tipaka bude pritisnuto
istovremeno, te da nakon svakog pritiska tipke slijedi period u kojem niti jedna tipka nije
pritisnuta. Izlazi sklopa mijenjaju se u skladu sa signalom takta.

I1 I0 Znaenje
0 0 Pritisnuta je tipka A
0 1 Pritisnuta je tipka B
1 0 Pritisnuta je tipka C
1 1 Nije pritisnuta niti jedna tipka

Uporabom potrebnog broja JK bistabila konstruirati Mooreov automat koji e u trajanju od
jednog impulsa takta na izlazu generirati dva signala kod svakog pritiska tipke: kod tipke (O)
i signal da je pritisnuta nova tipka (KA). Komentirati razliku u odnosu na istovjetan Mealyjev
automat iz prethodnog zadatka.


Principijelna shema sklopa prikazana je na sljedeoj slici. Kod Mooreovog automata
novo stanje odreuje se na temelju trenutnog stanja i pobude, dok su izlazi odreeni
iskljuivo trenutnim stanjem (a ne i trenutnim ulazima, kao kod Mealyjevog
automata). Kao to emo vidjeti, ovo e rezultirati automatom s veim brojem stanja u
odnosu na Mealyjev automat iste funkcije. Meutim, budui da je izlaz iskljuivo
funkcija trenutnog stanja, ne treba nam izlazni registar za pamenje izlaza, budui da
asinkrona promjena ulaza nema utjecaja na izlaze.

ita
tipkovnice
I1
I0
Strojevi s konanim brojem stanja. 251

ita
tipkovnice
Kombinacijski dio
Sekvencijski dio
I
1
I
0
O
1
O
0
KA
CP
Kombinacijski
dio


Mooreov automat koji obavlja zadanu funkciju prikazan je na slici:

S0
[00,0]
S2
[01,1]
S1
[00,1]
S3
[10,1]
S4
[00,0]
11
11
11
11
11
00
01
10
00,01,10
I
1
I
0
[O
1
O
0
,KA]
00,01,10
00,01,10
00,
01,
10


Poetno stanje je S0. U tom stanju eka se na pritisak bilo koje tipke. Ukoliko se
pritisne tipka A (kd 00) ide se u stanje S1 i postavlja odgovarajui izlaz, ukoliko se
pritisne tipka B (kd 01) ide se u stanje S2 i postavlja odgovarajui izlaz a ako se
pritisne tipka C (kd 10) ide se u stanje S3 i postavlja odgovarajui izlaz. Na sljedei
impuls takta odmah se prelazi ili u stanje S0 ili u stanje S4 gdje se eka na otputanje
tipke. Usporedimo li ovaj Mooreov automat sa prethodnim Mealyjevim, vidimo da je
osnovna razlika u opisivanju ponaanja u trenutku kada se pritisne tipka. Mealyjev
automat vezao je izlaze uz prijelaze, pa je sve tri tipke mogao opisati prijelazom u jedno
novo stanje uz odgovarajui izlaz. Mooreov automat izlaz vee iskljuivo uz stanje, pa
za svaku tipku mora generirati novo stanje sa odgovarajuim izlazom.
Postupak realizacije sklopa isti je kao i kod Mealyjevog automata. Najprije odreujemo
potreban broj bistabila. Kako imamo 5 stanja, trebamo minimalno 3 bistabila. Zatim
kodiramo stanja. Npr.:

252 Zbirka rijeenih zadataka

S0000, S1001, S2010, S3011, S4100.

Konano generiramo tablicu prijelaza stanja uz odgovarajuu pobudu bistabila:

Trenutno stanje i pobuda Sljedee stanje
Izlazi za
trenutno stanju
Potrebna pobuda bistabila
Q
2
Q
1
Q
0
I
1
I
0
Q
2
Q
1
Q
0
O
1
O
0
KA J
2
K
2
J
1
K
1
J
0
K
0

0 0 0 0 0 0 0 1 0 0 0 0 x 0 x 1 x
0 0 0 0 1 0 1 0 0 0 0 0 x 1 x 0 x
0 0 0 1 0 0 1 1 0 0 0 0 x 1 x 1 x
0 0 0 1 1 0 0 0 0 0 0 0 x 0 x 0 x
0 0 1 0 0 1 0 0 0 0 1 1 x 0 x x 1
0 0 1 0 1 1 0 0 0 0 1 1 x 0 x x 1
0 0 1 1 0 1 0 0 0 0 1 1 x 0 x x 1
0 0 1 1 1 0 0 0 0 0 1 0 x 0 x x 1
0 1 0 0 0 1 0 0 0 1 1 1 x x 1 0 x
0 1 0 0 1 1 0 0 0 1 1 1 x x 1 0 x
0 1 0 1 0 1 0 0 0 1 1 1 x x 1 0 x
0 1 0 1 1 0 0 0 0 1 1 0 x x 1 0 x
0 1 1 0 0 1 0 0 1 0 1 1 x x 1 x 1
0 1 1 0 1 1 0 0 1 0 1 1 x x 1 x 1
0 1 1 1 0 1 0 0 1 0 1 1 x x 1 x 1
0 1 1 1 1 0 0 0 1 0 1 0 x x 1 x 1
1 0 0 0 0 1 0 0 0 0 0 x 0 0 x 0 x
1 0 0 0 1 1 0 0 0 0 0 x 0 0 x 0 x
1 0 0 1 0 1 0 0 0 0 0 x 0 0 x 0 x
1 0 0 1 1 0 0 0 0 0 0 x 1 0 x 0 x
1 0 1 0 0 x x x x x x x x x x x x
1 0 1 0 1 x x x x x x x x x x x x
1 0 1 1 0 x x x x x x x x x x x x
1 0 1 1 1 x x x x x x x x x x x x
1 1 0 0 0 x x x x x x x x x x x x
1 1 0 0 1 x x x x x x x x x x x x
1 1 0 1 0 x x x x x x x x x x x x
1 1 0 1 1 x x x x x x x x x x x x
1 1 1 0 0 x x x x x x x x x x x x
1 1 1 0 1 x x x x x x x x x x x x
1 1 1 1 0 x x x x x x x x x x x x
1 1 1 1 1 x x x x x x x x x x x x

Potrebna pobuda bistabila je funkcija od trenutnih stanja i ulaza. Izlazi su funkcija samo
od trenutnog stanja. Za potrebe minimizacije mogu se i izlazi promatrati kao funkcija od
trenutnih stanja i ulaza, meutim, nakon minimizacije trenutni ulazi ne smiju se
pojavljivati u jednadbama koje opisuju izlaze! Ukoliko se pojave, to znai da nije rije
o Mooreovom automatu (odnosno, budui da smo tablicu generirali iz Mooreovog
automata, znai da je nastala pogreka ili kod popunjavanja tablice, ili kod
minimizacije). Nakon minimizacije funkcija i faktorizacije dobiva se:

0 1 1
Q Q O =
0 1 0
Q Q O =
Strojevi s konanim brojem stanja. 253

0 1
Q Q KA + =
( )( )
0 1 0 1 2
I I Q Q J + + =
0 1 2
I I K =
( )
0 1 0 2 1
I I Q Q J =
1
1
= K
0 1 2 0
I Q Q J =
1
0
= K

Sklop koji ostvaruje zadani automat:

J
K Q
Q
CP
J
K Q
Q
CP
ita
tipkovnice
I
1
I
0
1
1
B
2
B
1
J
K Q
Q
CP
B
0
1
&
1
&
1 =
&
1
&
1
CP
&
&
1
O
1
O
0
KA



12.4. Zadatak

Na ulaz sekvencijskog sklopa sinkrono sa svakim signalom takta dolazi jedna binarna
znamenka (alje se binarni broj poevi od bita najvee teine).
a) Konstruirati Mealyjev automat koji rauna rezultat dijeljenja tog broja sa pet.
Implementirati automat uporabom D bistabila.
b) Konstruirati Mooreov automat koji rauna rezultat dijeljenja tog broja sa pet.


Prisjetimo se naina na koji dijelimo binarne (odnosno u bilo kojoj bazi) brojeve sa
nekim brojem X. Traimo od poetka onoliki broj znamenki koji e dati broj vei od
broja X. Odreujemo koliko puta je taj broj vei od broja X (i to dajemo kao prvu
znamenku rezultata) a pamtimo ostatak dijeljenja Z. Zatim od broja X opet uzimamo
(sputamo) toliko znamenki (i dopisujemo ih broju Z) koliko je potrebno da Z opet
postane vei od X kako bismo ga mogli podijeliti. Ako radimo sa binarnim brojevima,
postupak je vrlo jednostavan jer rezultat parcijalnog dijeljenja moe biti ili 0 ili 1.

a) Mealyjev automat. Rjeenje je prikazano na slici:
254 Zbirka rijeenih zadataka

S0
S1 S2
S4
S3
1/0
0/0
0/0
0/0
1/0
1/1
1/1
1/1
0/1
0/1

Neka stanje Si odgovara ostatku i. Ako je npr. trenutni ostatak dijeljenja broja s 5 jednak
4, i sputamo znamenku 0, dobivamo broj 1000
(2)
8, pa je rezultat dijeljenja 1, a novi
ostatak 3 (pa se prelazi u stanje S3 uz izlaz 1), a ako sputamo znamenku 1, dobivamo
broj 1001
(2)
9, pa je rezultat dijeljenja 1, a novi ostatak 4 (te se prelazi u stanje S4 uz
izlaz 1). Na isti nain mogu se analizirati i svi ostali prijelazi.

Za pohranjivanje 5 stanja trebamo 3 bistabila. Stanja emo kodirati na sljedei nain:
S0111, S1001, S2010, S3011, S4100. Tablica prijelaza s pobudom bistabila:

Trenutno stanje i
pobuda
Sljedee stanje
Izlaz u sljedeem
stanju
Potrebna pobuda bistabila
Q
2
Q
1
Q
0
I Q
2
Q
1
Q
0
O D
2
D
1
D
0

0 0 0 0 x x x x x x x
0 0 0 1 x x x x x x x
0 0 1 0 0 1 0 0 0 1 0
0 0 1 1 0 1 1 0 0 1 1
0 1 0 0 1 0 0 0 1 0 0
0 1 0 1 1 1 1 1 1 1 1
0 1 1 0 0 0 1 1 0 0 1
0 1 1 1 0 1 0 1 0 1 0
1 0 0 0 0 1 1 1 0 1 1
1 0 0 1 1 0 0 1 1 0 0
1 0 1 0 x x x x x x x
1 0 1 1 x x x x x x x
1 1 0 0 x x x x x x x
1 1 0 1 x x x x x x x
1 1 1 0 1 1 1 0 1 1 1
1 1 1 1 0 0 1 0 0 0 1
Nakon minimizacije funkcija i faktorizacije dobiva se:

( ) I Q Q Q Q Q O + + =
2 0 0 1 2

( ) I Q Q I Q Q D + + =
2 0 0 2 2

) (
2 0 1 1
I Q Q Q D + =
( ) ( )
1 2 2 0 1 0 1 0
Q Q Q Q Q I Q Q I D + + + =

Strojevi s konanim brojem stanja. 255

Kako se radi o Mealyjevom automatu, da bi se izbjegao utjecaj asinkrone promjene
ulaza na izlaz moe se dodati izlazni registar (vidi zadatak 1). Meutim, budui da je u
tekstu zadatka eksplicitno reeno da su ulazi sinkronizirani, ne moe doi do asinkrone
promjene ulaza pa nije potrebno niti dodavati izlazni registar. Shema sklopa:

D
Q
Q
CP
B
0
D
Q
Q
CP
B
1
D
Q
Q
CP
B
2
1
&
&
1
1
&
1 =
1
&
&
&
1 =
1 &
1
I
CP
1
&
&
1
O


b) Mooreov automat.

Mooreov automat koji rjeava zadani problem u ovom e sluaju imati dvostruki broj
stanja. Naime, pogledajmo Mealyjev automat iz a) dijela zadatka. Iz stanja S1 sa
ulazom 1 idemo u S3 i na izlazu dajemo 0. Iz stanja S4 sa ulazom 0 idemo takoer u
stanje S3 ali sada na izlazu dajemo 1. No budui da kod Mooreovog automata izlaz
ovisi iskljuivo o trenutnom stanju, tada u S3 moramo dati ili 0 ili 1 to nee biti u
skladu s potrebnim ponaanjem automata. Zbog toga stanje S3 cijepamo (u najgorem
sluaju) u onoliko stanja koliko ima razliitih izlaza koje treba dati. Slino razmatranje
moemo provesti za sva ostala stanja. Automat koji emo tako dobiti jest:

S1
[0]
S2
[0]
S1'
[1]
S2'
[1]
S4
[0]
S4'
[1]
S3
[0]
S3'
[1]
S0
[0]
S0'
[1]
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0


256 Zbirka rijeenih zadataka

Ovaj automat ima 10 stanja to je dvostruko vie od istovjetnog Mealyjevog automata.

Za vjebu.

Implementirati ovaj automat uporabom JK bistabila.

12.5. Zadatak

Projektirati sklop koji e iz ulaznog jednobitnog
niza sinkroniziranog sa taktom ukloniti um. Pod
pojmom um smatra se svaka promjena razine
koja traje samo jedan otkucaj takta (vidi sliku).





Projektirati emo Mooreov
automat koji obavlja ovo
ienje. Zamislimo da je od
pamtivijeka ulaz bio u
konstantnoj nuli. Izlaz e tada
biti 0. Oznaimo ovo stanjem S0.
Ako sada ulaz skoi u jedinicu,
budui da ne znamo da li time
nastupa period jedinice ili je to samo kratkotrajni um, prelazimo u novo stanje S1 u
kojemu je izlaz takoer 0. Ako u ovom stanju ulaz padne na 0, vraamo se u stanje S0 (i
time smo izbacili smetnju). Meutim, ako je ulaz opet 1, to znai da je nastupio period
jedinice i prelazimo u novo stanje S2 koje na izlazu daje 1, i u njemu ostajemo tako
dugo dok je ulaz 1. Ako ulaz kratkotrajno padne na 0, prelazimo u stanje S3 (koje jo
uvijek na izlazu daje 1) iz kojega se vraamo u S2 ako se ulaz odmah digne u 1.
Meutim, ako ulaz ostane na nuli, nastupa period 0 i prelazimo u stanje S0 koje na
izlazu ponovno daje 0. Automat je prikazan na slici:

Imamo etiri stanja pa nam trebaju minimalno dva bistabila. Kodirajmo stanja
Grayevim kodom: S000, S101, S211, S310.

Iskoristiti emo T bistabile. Tablica prijelaza stanja zajedno sa pobudom bistabila:

Trenutno stanje i ulaz Sljedee stanje Izlaz Pobuda bistabila
Q
1
Q
0
ULAZ Q
1
Q
0
IZLAZ T
1
T
0

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

ULAZ
IZLAZ
t
t
S0
[0]
S1
[0]
S2
[1]
S3
[1]
0
0
0
1
1
1
1
0
Strojevi s konanim brojem stanja. 257

Nakon minimizacije dobije se:
U Q Q U Q Q T
0 1 0 1 1
+ =
0 0 0 0
Q U Q U Q U T = + =
1
Q IZLAZ =

Shema sklopa:

T
Q
Q
CP
B
1
T
Q
Q
CP
B
0
1
&
&
1
1 =
IZLAZ
ULAZ
CP

Uoiti da e na ovaj nain konstruirani automat davati izlaz koji e za ulazom kasniti za
jedan otkucaj signala takta.

12.6. Zadatak

Objasniti odnos izmeu strojeva s konanim brojem stanja i registara.


Registri su poseban sluaj strojeva s konanim brojem stanja. Naime, moe se rei da su
registri Mooreovi automati kod kojih je izlazna funkcija identitet. Drugim rijeima,
izlaz bistabila direktno je i izlaz sklopa - registra. Zbog toga se registri mogu projektirati
istim metodama kojima se projektiraju i strojevi s konanim brojem stanja.

STROJEVI S KONANIM BROJEM STANJA
REGISTRI


12.7. Zadatak

Objasniti odnos izmeu strojeva s konanim brojem stanja i brojila.


Brojila su poseban sluaj strojeva s konanim brojem stanja. Naime, moe se rei da su
brojila Mooreovi automati kod kojih je izlazna funkcija identitet. Drugim rijeima, izlaz
bistabila direktno je i izlaz sklopa - brojila. Zbog toga se brojila mogu projektirati istim
metodama kojima se projektiraju i strojevi s konanim brojem stanja.
258 Zbirka rijeenih zadataka


STROJEVI S KONANIM BROJEM STANJA
BROJILA


12.8. Zadatak

Uporabom T bistabila projektirati etiribitno binarno brojilo metodom projektiranja stroja s
konanim brojem stanja. Pokazati da rezultat odgovara poznatom nainu spajanja bistabila sa
paralelnim prijenosom. Pokazati nain izvoenja brojila sa serijskim prijenosom.


Prikaimo tablicu promjene stanja:

Trenutno stanje Sljedee stanje Potrebna pobuda
B
3
B
2
B
1
B
0
B
3
B
2
B
1
B
0
T
3
T
2
T
1
T
0

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

Minimizacijom slijedi:

1
0
= T
0 1
B T =
0 1 2
B B T =
0 1 2 3
B B B T =

Ovo su ve poznati izrazi za paralelni prijenos kod binarnog brojila. Pokaimo sada da
se odavde direktno dobiju i izrazi za serijski prijenos. Uvedimo sljedee supstitucije:

1
0 0
= = T S
Strojevi s konanim brojem stanja. 259

0 1 1
B T S = =
1 1 0 1 2 2
S B B B T S = = =
2 2 0 1 2 3 3
S B B B B T S = = =

Dobiveni izrazi direktno odgovaraju izrazima za serijski prijenos.

12.9. Zadatak

Konstruirati sinkrono 3-bitno brojilo koje broji u binarnom (M=0) ili Grayevom (M=1) kodu.
Koristiti T bistabile. Nacrtati sklop (DZ).


Sinkrona brojila samo su specijalan sluaj Mooreovih automata (kod kojih je izlaz
jednak stanju) pa ih moemo projektirati na isti nain. Prikaimo najprije dijagram
promjene stanja.

S0
[000]
S1
[001]
S2
[010]
S3
[011]
S4
[100]
S5
[101]
S6
[110]
S7
[111]
0
0 0
0
0 0 0
0
1
1
1
1
1
1
1
1


Trenutno stanje i
pobuda
Sljedee stanje Potrebna pobuda bistabila
Q
2
Q
1
Q
0
M Q
2
Q
1
Q
0
T
2
T
1
T
0

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

Funkcije nakon minimizacije:
260 Zbirka rijeenih zadataka

M Q Q M Q Q Q M Q Q Q T
0 1 0 1 2 0 1 2 2
+ + =
M Q Q Q Q Q Q Q T
0 0 1 2 0 1 2 1
+ + =
M Q Q Q Q Q Q Q Q Q Q Q Q T + + + + =
0 1 2 0 1 2 0 1 2 0 1 2 0


Za vjebu.

Nacrtati shemu automata.

12.10. Zadatak

Konstruirati sinkrono brojilo koje broji u ciklusu sa 10 stanja. Za prekid ciklusa koristiti
sinkrone ulaze za resetiranje bistabila. Sklop ostvariti uporabom T bistabila.


Budui da koristimo sinkrone ulaze za reset, djelovanjem na te ulaze prelazimo u stanje
0000, pa je stanje 0 sigurno dio ciklusa brojanja. Cijeli ciklus tada se sastoji od stanja:


0
1 2 3 4
5
6 7 8 9



Potrebno je dakle detektirati stanje 1001
(2)
=9, i tada djelovati na sinkrone ulaze za reset.
Uoiti da se ulaskom u stanje 9 sklop nee odmah resetirati jer sinkroni ulazi za reset
djeluju tek kada im to signal takta dopusti (to znai nailaskom sljedeeg impulsa takta
sklop nee otii u stanje 10 ve e se resetirati).
Kako su stanja 10, 11, 12, 13, 14 i 15 dontcare stanja (jer se ne koriste za brojanje),
funkciju reseta moemo napisati kao:

( ) ( ) ( )
0 3 0 1 2 3
15 , 14 , 13 , 12 , 11 , 10 9 , , , Q Q d m Q Q Q Q R = + =



Napiimo tablicu prijelaza stanja i pobude bistabila:
Strojevi s konanim brojem stanja. 261


Trenutno stanje Sljedee stanje Reset Pobuda bistabila
Q
3
Q
2
Q
1
Q
0
Q
3
Q
2
Q
1
Q
0
R T
3
T
2
T
1
T
0

0 0 0 0 0 0 0 1 0 0 0 0 1
0 0 0 1 0 0 1 0 0 0 0 1 1
0 0 1 0 0 0 1 1 0 0 0 0 1
0 0 1 1 0 1 0 0 0 0 1 1 1
0 1 0 0 0 1 0 1 0 0 0 0 1
0 1 0 1 0 1 1 0 0 0 0 1 1
0 1 1 0 0 1 1 1 0 0 0 0 1
0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 0 0 1 0 0 0 0 1
1 0 0 1 1 0 1 0 1 0 0 1 1
1 0 1 0 x x x x x x x x x
1 0 1 1 x x x x x x x x x
1 1 0 0 x x x x x x x x x
1 1 0 1 x x x x x x x x x
1 1 1 0 x x x x x x x x x
1 1 1 1 x x x x x x x x x

Nakon minimizacije dobije se:

1
0
= T
0 1
Q T =
0 1 2
Q Q T =
0 1 2 3
Q Q Q T =
0 3
Q Q R =

Shema sklopa:

T
Q
Q
CP
B
0
T
Q
Q
CP
B
1
T
Q
Q
CP
B
2
T
Q
Q
CP
B
3
& & 1
CP
D
3
D
2
D
1
D
0
&
d
C
d
C
d
C
d
C


Ima li ovo brojilo siguran start? Nacrtajmo sada potpun dijagram prijelaza stanja.

262 Zbirka rijeenih zadataka

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


Ukoliko se brojilo nae u stanju 10 = 1010
(2)
, sklop za reset nee djelovati i brojilo e se
resetirati tek kod sljedeeg stanja.

12.11. Zadatak

Projektirati sinkrono trobitno brojilo koje broji u Grayevom kodu uporabom D bistabila. Na
raspolaganju su jo samo osnovni logiki sklopovi. Ako je t
db
=20 ns, t
setup
=20 ns, t
dls
=10 ns,
odrediti maksimalnu frekvenciju rada sklopa. Pretpostaviti da svi osnovni logiki sklopovi
kasne jednako.


Prikaimo tablicu promjene stanja i potrebnih pobuda bistabila:

Trenutno stanje brojila Novo stanje brojila Potrebna pobuda
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
D
2
D
1
D
0

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


Slijedi:

D
2
Q
1
Q
0



00 01 11 10
Q
2

0
1

1
1 1 1


D
1
Q
1
Q
0



00 01 11 10
Q
2

0
1 1 1

1
1


Strojevi s konanim brojem stanja. 263

D
0
Q
1
Q
0



00 01 11 10
Q
2

0
1 1

1
1 1



0 1 0 2 2
Q Q Q Q D + =
0 1 0 2 1
Q Q Q Q D + =
1 2 1 2 0
Q Q Q Q D + =

D
Q
Q
CP
B
1
1
&
&
D
Q
Q
CP
B
2
1
&
&
D
Q
Q
CP
B
0
1
&
&
CP

Na svim ulazima nalazi se dvorazinska logika, pa je najdue vrijeme potrebno na prolaz,
stabilizaciju i mirovanje signala jednako:

ns t t t T
setup dls db
60 20 10 2 20 2 = + + = + + =
MHz
n T
f 66 . 16
60
1 1
max
= = =


12.12. Zadatak

Stroj s konanim brojem stanja zadan je slikom. O kojoj
se vrsti automata radi? Projektirati sklop i nacrtati logiku
shemu ako je bistabil B
1
tipa D, a bistabil B
0
tipa JK.
Koristiti minimalni broj osnovnih logikih sklopova (I,
ILI, NE). Stanje S
i
kodirati binarnim zapisom dekadskog
broja i.






Prikaimo stanja automata, prijelaze i pobude bistabila tablino.

S
0
S
1
S
2
1/0
1/0
0/0
0/1
1/1
0/1
264 Zbirka rijeenih zadataka

Q
1
Q
0
I
0
Q
1
Q
0
O D J K
0 0 0 1 0 1 1 0

S
0

0 0 1 0 1 0 0 1

0 1 0 0 1 1 0

0
S
1

0 1 1 0 0 0 0

1
1 0 0 0 0 0 0 0

S
2

1 0 1 0 1 1 0 1

1 1 0


1 1 1


Minimizacijom se dobije:

J
0
Q
1
Q
0



00 01 11 10
Q
2

0


1
1


J Q
0
I


00 01 11 10
Q
1

0
1

1
1


K
2
Q
1
Q
0



00 01 11 10
Q
2

0


1
1 1 1


J
0
Q
1
Q
0



00 01 11 10
Q
2

0


1
1



Slijedi:

I Q Q D
0 1
= I J = I K = I Q I Q O
1 1
+ =


D
Q
Q
CP
B
1
J
Q
Q
CP
B
0
K
&
1
1
&
&
O
I


O kojoj se vrsti automata radi? Iako oznake na prijelazima upuuju na Mealyjev
automat, odgovor se ne smije donijeti dok se ne proanalizira minimalni izraz za izlaz
automata. U ovom zadatku izlaz zadanog sklopa doista ovisi o ulazu, pa je rije o
Mealyjevom automatu.


Strojevi s konanim brojem stanja. 265

12.13. Pismeni ispit, 25. 02. 2004, 5. zadatak

Uporabom minimalnog broja T bistabila i minimalnog potrebnog broja osnovnih logikih
sklopova projektirati sinkroni sekvencijski sklop koji na izlazu generira sljedei niz brojeva:




Pogledamo li zadani ciklus, na prvi pogled se ini kako je ponaanje sekvencijskog
sklopa nedeterministiko; naime, nakon "stanja" 1 moe doi "stanje" 2 ili pak "stanje"
3. Kada bismo o sekvencijskom sklopu razmiljali kao o brojilu, prethodna bi tvrdnja
imala smisla. Naime, kod brojila stanje sklopa jednako je izlazu sklopa, pa bi to brojilo
bilo doista nemogue napraviti. Zbog toga to neemo niti pokuati! Umjesto toga,
projektiranju zadanog sklopa pristupit emo kao da projektiramo konani automat! I to
je razlog zato su na poetku stanja bila pod znacima navodnika to zapravo nisu
stanja! Ciklus kroz koji prolazi zadani sekvencijski sklop duljine je 8, to znai da e
na sklop imati 8 stanja a svako e stanje na izlazu davati ciklusom odreenu
vrijednost. Rjeenje je prikazano u nastavku.

Trenutno stanje Sljedee stanje
Pobuda potrebna za prijelaz
u sljedee stanje
Izlazi u trenutnom
stanju
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
T
2
T
1
T
0
O
1
O
0

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

Minimizacijom slijedi:

T
2
: Q
2
Q
1

00 01 11 10
Q
0
0
1 1 1

Q
2
Q
1
Q
0
0 1
Q Q

266 Zbirka rijeenih zadataka

T
1
: Q
2
Q
1

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

Q
2
Q
1
Q
0
0
Q


T
0
: Q
2
Q
1

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

1
Q
2
Q
1
Q
0


O
1
: Q
2
Q
1

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

1
Q
Q
2
Q
1
Q
0


O
0
: Q
2
Q
1

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

0 1 2
Q Q Q
Q
2
Q
1
Q
0
0 2
Q Q
0 1
Q Q


1 1
Q O = ,
0 1 2 0 1 0 2 0
Q Q Q Q Q Q Q O + + =
0 1 2
Q Q T = ,
0 1
Q T = , 1
0
= T

Strojevi s konanim brojem stanja. 267

T
Q
Q
CP
T
Q
Q
CP
T
Q
Q
CP
1
&
Q
0
Q
1
Q
2
&
&
&
1
O
1
O
0
CP



12.14. Pismeni ispit, 25. 02. 2004, 6. zadatak

Logiki blok FPGA sastoji se od dvoulaznog LUT-a na iji je izlaz spojen ulaz D bistabila te
od multipleksora koji odreuje da li se na izlaz logiki blok proputa izlaz LUTa ili izlaz
bistabila. Nacrtati logiki blok. Uporabom minimalnog broja logikih blokova projektirati i
prikazati sekvencijski sklop koji cikliki na izlazu generira niz 0, 5, 4, 6. Veze izmeu
logikih blokova mogu se crtati direktno (nije potrebno crtati programirljive sklopke).


Jedan logiki blok prikazan je na slici.

?
?
?
?
A
B
f
D
Q
Q
CP
S
0
1
CP


Projektiranje zadanog sklopa ovakvim elementima ne razlikuje se bitno od projektiranja
sklopa uporabom bistabila. Dakle, prvi korak jest izrada tablice prijelaza stanja. Uvidom
u zadatak zakljuujemo da je duljina ciklusa jednaka 4, tj, trebamo 2 "bistabila".

Trenutno stanje Sljedee stanje Izlazi u trenutnom stanju Potrebna pobuda
Q
1
Q
0
Q
1
Q
0
O
2
O
1
O
0
D
1
D
0

0 0 0 1 0 0 0 0 1
0 1 1 0 1 0 1 1 0
1 0 1 1 1 0 0 1 1
1 1 0 0 1 1 0 0 0
268 Zbirka rijeenih zadataka

Umjesto da sada vrimo minimizaciju, uoimo kako su sve funkcije ovise o samo dvije
varijable: Q
1
i Q
0
. LUT-ovi koje imamo na raspolaganju upravo omoguavaju direktnu
realizaciju bilo svake funkcije od dvije varijable, pa vrijednosti u stupcima ispod
pojedine funkcije moemo direktno upisati u LUT onog logikog bloka koji e
realizirati dotinu funkciju.

Kako ne bismo svaki puta crtali internu strukturu logikog bloka, uvest emo
pojednostavljen prikaz istog, gdje emo naznaiti samo programabilne dijelove. Isto
tako, uoimo da se logiki blok moe ponaati kao kombinacijski element (ukoliko je
s=0) gdje se izlaz iz LUT-a direktno proputa na izlaz logikog bloka, ili pak kao
sekvencijski element, odnosno bistabil (ukoliko je s=1), gdje se izlaz bistabila proputa
na izlaz logikog bloka, a LUT se koristi za definiranje funkcije koja odreuje pobudu
bistabila. U svrhu pojednostavljenja takoer neemo crtati nain prospajanja linija, ve
emo veze crtati direktno.

Kako bismo rjeili zadatak, trebamo dakle dva "bistabila" (logike blokove sa s=1) i tri
kombinacijska sklopa (logike blokove sa s=0) koji definiraju izlaze. Rjeenje je
prikazano na slici.

0
1
1
0 1 s=
A
B
1
0
1
0 1 s=
A
B
0
1
1
1 0 s=
A
B
0
0
0
1 0 s=
A
B
0
1
0
0 0 s=
A
B
Q
1
Q
0
O
1
O
2
O
0


to bi uradili u sluaju da na raspolaganju imamo logike blokove s dvoulaznim LUT-
ovima a trebamo ostvariti funkcije od vie varijabli? Tada bi za svaku funkciju trebalo
koristiti vie logikih blokova!


Strojevi s konanim brojem stanja. 269

12.15. Pismeni ispit, 01. 10. 2003, 1. zadatak

Uporabom minimalnog potrebnog broja D bistabila projektirati sekvencijski sklop koji na
izlazu cikliki generira sljedei niz brojeva:

0 1 1 2 3 5



Analizom ciklusa vidimo da je duljina ciklusa jednaka 6. Trebat emo, dakle, barem tri
bistabila (pa e dva stanja ostati neiskoritena). Kako se u ciklusu postoji "stanje" koje
se javlja vie od jedanput, oito ne moemo projektirati brojilo, ve radimo stroj s
konanim brojem stanja. Tablica prijelaza stanja prikazana je u nstavku:

Trenutno stanje Sljedee stanje
Izlaz u trenutnom
stanju
Pobuda potrebna za
promjenu stanja
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
O
2
O
1
O
0
D
2
D
1
D
0

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

Prikazani sklop prolazit e kroz stanja 0, 1, 2, 3, 4, 5 pa opet 0, itd. Oitajmo sada i
potrebne funkcije:

D
2
: Q
2
Q
1

00 01 11 10
Q
0
0

1
1 1



0 2
Q Q
Q
2
Q
1
Q
0
0 1
Q Q


270 Zbirka rijeenih zadataka

D
1
: Q
2
Q
1

00 01 11 10
Q
0
0 1


1 1



0 1
Q Q
Q
2
Q
1
Q
0
0 1 2
Q Q Q


D
0
: Q
2
Q
1

00 01 11 10
Q
0
0 1 1

1
1



0
Q
Q
2
Q
1
Q
0


O
2
: Q
2
Q
1

00 01 11 10
Q
0
0


1

1

Q
2
Q
1
Q
0
0 2
Q Q


O
1
: Q
2
Q
1

00 01 11 10
Q
0
0

1
1 1



0 2
Q Q
Q
2
Q
1
Q
0
0 1
Q Q


Strojevi s konanim brojem stanja. 271

O
0
: Q
2
Q
1

00 01 11 10
Q
0
0 1

1
1 1

1

0 1
Q Q
Q
2
Q
1
Q
0
0 1
Q Q
2
Q


Slijedi:

0 2 0 1 2
Q Q Q Q D + =
0 1 2 0 1 1
B B B B B D + =
0 0
B D =
0 2 2
Q Q O =
0 1 0 2 1
Q Q Q Q O + =
2 0 1 0 1 0
Q Q Q Q Q O + + =

Da bismo bili sigurni da sklop radi ispravno, potrebno je provjeriti to e se dogoditi
ako se po ukljuenju sklop zatekne u nekom od nekoritenih stanja (naime, ukoliko ta
stanja sama opet tvore neki zatvoren ciklus, sklop nikada nee proraditi ispravno).

Za sluaj B
2
B
1
B
0
=110 prethodni izrazi daju: D
2
=1, D
1
=1, D
0
=1. Dakle, iz ovog stanja
sklop e otii u stanje 111, koje takoer ne pripada zadanom ciklusu.

Za sluaj B
2
B
1
B
0
=111 prethodni izrazi daju: D
2
=1, D
1
=0, D
0
=0. Dakle, iz ovog stanja
sklop e otii u stanje 100, a to stanje pripada zadanom ciklusu.

Kako smo ovime provjerili sva nespecificirana stanja, sklop e oito raditi ispravno (uz
najvie dva neispravna stanja na poetku rada).

12.16. Pismeni ispit, 10. 10. 2003, 1. zadatak

Uporabom D bistabila realizirati sinkrono trobitno brojilo koje broji ovisno o signalu d: ako je
d=1, tada nn+1 inae nn-2. Sklop treba imati i sinkroni ulaz za brisanje c (koji bistabili
nemaju). Koristiti minimalni broj osnovnih logikih sklopova.


Prikaimo rad sklopa tablino.

272 Zbirka rijeenih zadataka

Upravljaki
signali
Trenutno stanje Sljedee stanje Potrebna pobuda
c d Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
D
2
D
1
D
0

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

Pronaimo minimalne izraze za potrebnu pobudu:

D
2
: cdQ
2
c=0 c=1
000 001 011 010 100 101 111 110
Q
1
Q
0
00 1 1
01 1 1
11
1 1
10
1 1
0 1 2
Q Q Q c
1 2
Q dQ c
0 1 2
Q Q Q d c
1 2
Q Q d c
d
Q
2
d
Q
2
Q
1
Q
0
Q
1
Q
0
1 2
Q Q d c


Strojevi s konanim brojem stanja. 273

D
1
: cdQ
2
c=0 c=1
000 001 011 010 100 101 111 110
Q
1
Q
0
00 1 1
01 1 1 1 1
11

10
1 1

1
Q d c
0 1
Q dQ c
0 1
Q Q c
d
Q
2
d
Q
2
Q
1
Q
0
Q
1
Q
0


D
0
: cdQ
2
c=0 c=1
000 001 011 010 100 101 111 110
Q
1
Q
0
00 1 1
01 1 1
11
1 1
10
1 1

0
Q d c
0
Q d c
d
Q
2
d
Q
2
Q
1
Q
0
Q
1
Q
0


Dakle, slijedi:

0 1 2 0 1 2 1 2 1 2 1 2 2
Q Q Q d c Q Q Q c Q Q d c Q dQ c Q Q d c D + + + + =
0 1 1 0 1 1
Q dQ c Q d c Q Q c D + + =
0 0 0
Q d c Q d c D + =


12.17. Pismeni ispit, 09. 02. 2004, 7. zadatak

Na raspolaganju su trobitni posmani registar (vidi sliku), D
bistabil te potreban broj osnovnih logikih sklopova. Njihovom
uporabom ostvariti sklop koji na izlazu Q
2
posmanog registra
cikliki generira sljedei niz: 00001111.




Posmani registar ima tri izlaza, dok zadani bistabil ima jedan. Sve skupa nam na
raspolaganju stoji 4 izlaza, odnosno moemo ostvariti sklop s maksimalno 16 stanja.
S
in
Q
2
Q
1
Q
0
CP

274 Zbirka rijeenih zadataka



Neka izlaz posmanog registra Q
2
bude u oznaci stanja bit najvee teine, a izlaz
bistabila Q
B
bit najmanje teine. Potrebno je dakle trobitni posmani registar i dani
bistabil povezati u etiribitni posmani registar.

Tada elimo da sklop prolazi kroz sljedea stanja:

Q
2
Q
1
Q
0
Q
B
S
in
za prijelaz u sljedee stanje pokrivena stanja
0 0 4, 5, 6, 7
0 0 0 2, 3
0 0 0 0 1
0 0 0 0 1 0
1 0 0 0 1 8
1 1 0 0 1 12
1 1 1 0 1 14
1 1 1 1 0 15

Iz stanja 0 elimo u stanje 00, pa u stanje 000, pa u stanje 0000, pa zatim redom
u stanja 1000, 1100, 1110, 1111, nakon ega zatvaramo ciklus i prelazimo u stanje 0111
(koje je ve pokriveno maskom 0). Ako na ovaj nain mijenjamo stanja, tada emo
na izlazu Q
2
dobiti traeni niz. No otkud ba ovakvi zahtjevi? Najjednostavnije
govorei, elimo na Q
2
etiri puta zaredom dobiti 0, pa etiri puta zaredom dobiti 1.
Znai da prvo stavimo 0 na Q
2
(bez obzira na ostale izlaze; zato tri ''), pa zatim iz tog
stanja jo jednom stavimo 0 (pa ostanu dva '') itd.

Sada treba uoiti da su maske nekih stanja openitije od drugih. Npr. prvi redak tablice
definira masku 0 (ime su pokrivena stanja 0,1,2,3,4,5,6 i 7), dok drugi redak
definira 00 (ime pokriva stanja 0,1,2 i 3) zbog ega ta stanja treba izuzeti iz prvog
retka! Zapravo treba krenuti od najspecifinijeg stanja prema openitijim.

Jedino to u ovom sklopu treba odrediti jest to dovoditi na ulaz S
in
kako bi sklop
prolazio kroz eljena stanja. No to je ve odreeno prethodnom tablicom: imamo S
in
u
ovisnosti o pokrivenim stanjima:

= ) 14 , 12 , 8 , 0 ( ) , , , (
0 1 2
m Q Q Q Q S
B in


Minimizacijom sljedi:

B B in
Q Q Q Q Q Q S
0 1 1 2
+ =

S
in
Q
2
Q
1
Q
0
CP
R S /

D Q
CP
1
CP
Q
1
&
&
1
1

Strojevi s konanim brojem stanja. 275


Malo paljivijom analizom moemo uoiti da sklop nikada ne prolazi kroz stanja 9, 10,
11 ili 13. Zbog toga ta stanja moemo proglasiti don't care stanjima za funkciju S
in
,
ime se moe dobiti jo minimalniji izraz:

B B in
Q Q Q Q Q S
0 1 2
+ =


12.18. Pismeni ispit, 25. 02. 2004, 4. zadatak

U VHDL-u napisati ponaajni model sekvencijskog sklopa prikazanog na slici. Sklop na svaki
padajui impuls takta obavlja funkciju dekodiranja podatka iz 11-bitne Hammingove kodne
rijei koju dobiva na ulazu. Prilikom kodiranja podatka koriten je neparni paritet. Ukoliko na
ulaz doe kodna rije s pogrekom, pretpostaviti da se radi o pogreki u jednom bitu, tako da
se na izlazu mora pojaviti ispravljen podatak. Prikazati koriteni raspored zatitnih bitova u
kodnoj rijei.









Prilikom rjeavanja zadatka pretpostavit e se sljedei raspored podatkovnih i zatitnih
bitova:

D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) D(8) D(9) D(10)
C C P C P P P C P P P

C su zatitni, a P podatkovni bitovi. D(0 to 10) je kodna rije koja dolazi na ulaz sklopa.

library IEEE;
use IEEE.std_logic_1164.all;

ENTITY hamming IS
PORT ( D : IN BIT_VECTOR(0 to 10);
CP: IN STD_LOGIC;
O : OUT BIT_VECTOR(0 to 6));
END hamming;

ARCHITECTURE hamming_ARCH OF hamming IS
BEGIN

PROCESS (D, CP)
VARIABLE sindrom1 : BIT_VECTOR(0 to 3); -- oitani sindrom
VARIABLE sindrom2 : BIT_VECTOR(0 to 3); -- izraunati sindrom
VARIABLE sindrom : BIT_VECTOR(0 to 3); -- mjesto pogreke
VARIABLE izlaz : BIT_VECTOR(0 to 10); -- ispravljeni izlaz
VARIABLE ispravka: BIT_VECTOR(0 to 11); -- rije pogreke

BEGIN
Kodna
rije
Podatak
Hammingov
dekoder
CP
276 Zbirka rijeenih zadataka


IF cp'event AND cp='0' THEN

-- Ocitavanje sindroma
sindrom1(0) := D(0);
sindrom1(1) := D(1);
sindrom1(2) := D(3);
sindrom1(3) := D(7);
-- Izracun sindroma
sindrom2(0) := NOT(D(2) XOR D(4) XOR D(6) XOR D(8) XOR D(10));
sindrom2(1) := NOT(D(2) XOR D(5) XOR D(6) XOR D(9) XOR D(10));
sindrom2(2) := NOT(D(4) XOR D(5) XOR D(6));
sindrom2(3) := NOT(D(8) XOR D(9) XOR D(10));
-- Izracun pogresnog bita
sindrom(0) := sindrom1(0) XOR sindrom2(0);
sindrom(1) := sindrom1(1) XOR sindrom2(1);
sindrom(2) := sindrom1(2) XOR sindrom2(2);
sindrom(3) := sindrom1(3) XOR sindrom2(3);
-- Ispravljanje pogresnog bita
ispravka := "100000000000";
IF( sindrom(0) = '1' ) THEN
ispravka := ispravka SRL 1;
END IF;
IF( sindrom(1) = '1' ) THEN
ispravka := ispravka SRL 2;
END IF;
IF( sindrom(2) = '1' ) THEN
ispravka := ispravka SRL 4;
END IF;
IF( sindrom(3) = '1' ) THEN
ispravka := ispravka SRL 8;
END IF;
-- Ispravljanje pogresnog bita
izlaz := D XOR ispravka(1 to 11);
-- Stavljanje ispravljene podatkovne rijeci na izlaz sklopa
O <= izlaz(2) & izlaz(4 to 6) & izlaz(8 to 10);

END IF;

END PROCESS;

END hamming_ARCH;

Na svaki rastui brid signala vremenskog voenja dogaa se sljedee:

Oitava se sindrom iz primljene rijei.
Rauna se sindrom za podatke iz primljene rijei.
Rauna se mjesto na kojem je dolo do pogreke.
Generira se rije pogreke: to je rije koja ima jedinicu na onom mjestu na
kojem je djelovala pogreka. Dobije se tako da se '1' posmakne udesno za
onoliko mjesta koliko je to zapisano u binarnom obliku u varijabli sindrom.
Rauna se ispravljena kodna rije (preko XOR logike operacije s rijei
pogreke).
Na izlas se preslikavaju samo podatkovni bitovi ispravljene kodne rijei.

Da bi se to jasnije ilustrirala ideja rjeenja, podatkovni ulaz i izlaz modelirani su
BIT_VECTOR tipom podatka, jer su nad tim tipom definirane i operacije logikog
Strojevi s konanim brojem stanja. 277

posmaka (sll, srl), aritmetikog posmaka (sla, sra) itd. No kako uobiajeno koristimo
STD_LOGIC_VECTOR tip, u nastavku je prikazano odgovarajue rjeenje, pri emu su
koriteni operatori posmaka direktno implementirani.

library IEEE;
use IEEE.std_logic_1164.all;

ENTITY hamming IS
PORT ( D : IN STD_LOGIC_VECTOR(0 to 10);
CP: IN STD_LOGIC;
O : OUT STD_LOGIC_VECTOR(0 to 6));
END hamming;

ARCHITECTURE hamming_ARCH OF hamming IS
BEGIN

PROCESS (D, CP)
VARIABLE sindrom1 : STD_LOGIC_VECTOR(0 to 3);
VARIABLE sindrom2 : STD_LOGIC_VECTOR(0 to 3);
VARIABLE sindrom : STD_LOGIC_VECTOR(0 to 3);
VARIABLE izlaz : STD_LOGIC_VECTOR(0 to 10);
VARIABLE ispravka: STD_LOGIC_VECTOR(0 to 11);
BEGIN
IF cp'event AND cp='1' THEN
-- Ocitavanje sindroma
sindrom1(0) := D(0);
sindrom1(1) := D(1);
sindrom1(2) := D(3);
sindrom1(3) := D(7);
-- Izracun sindroma
sindrom2(0) := NOT(D(2) XOR D(4) XOR D(6) XOR D(8) XOR D(10));
sindrom2(1) := NOT(D(2) XOR D(5) XOR D(6) XOR D(9) XOR D(10));
sindrom2(2) := NOT(D(4) XOR D(5) XOR D(6));
sindrom2(3) := NOT(D(8) XOR D(9) XOR D(10));
-- Izracun pogresnog bita
sindrom(0) := sindrom1(0) XOR sindrom2(0);
sindrom(1) := sindrom1(1) XOR sindrom2(1);
sindrom(2) := sindrom1(2) XOR sindrom2(2);
sindrom(3) := sindrom1(3) XOR sindrom2(3);
-- Ispravljanje pogresnog bita
ispravka := "100000000000";
IF( sindrom(0) = '1' ) THEN
ispravka := "0" & ispravka(0 to 10);
END IF;
IF( sindrom(1) = '1' ) THEN
ispravka := "00" & ispravka(0 to 9);
END IF;
IF( sindrom(2) = '1' ) THEN
ispravka := "0000" & ispravka(0 to 7);
END IF;
IF( sindrom(3) = '1' ) THEN
ispravka := "00000000" & ispravka(0 to 3);
END IF;
-- Ispravljanje pogresnog bita
izlaz := D XOR ispravka(1 to 11);
O <= izlaz(2) & izlaz(4 to 6) & izlaz(8 to 10);
END IF;
END PROCESS;

END hamming_ARCH;
278 Zbirka rijeenih zadataka


12.19. Zadatak

Prikazati osnovnu strukturu VHDL modela kojim se opisuje Mooreov stroj s konanim
brojem stanja.


U VHDL-u ne postoji jedinstven nain opisivanja strojeva s konanim brojem stanja.
Meutim, pogledamo li opu strukturu Mooreovog stroja s konanim brojem stanja
(slika ispod), dolazi se do jednog mogueg rjeenja koje e se koristiti u nastavku ove
zbirke.

i
z
l
a
z
i
Kombinacijski dio
Sekvencijski dio
CP
Kombinacijski
dio
u
l
a
z
i


Na slici raspoznajemo tri osnovna dijela Mooreovog stroja s konanim brojem stanja:

1. Sekvencijski dio pamti trenutno stanje, te kada mu signal takta dozvoli, prelazi
u novo stanje.
2. Kombinacijski dio (1) na temelju trenutnih ulaza i trenutnog stanja rauna u
koje e sljedee stanje sekvencijski dio prijei.
3. Kombinacijski dio (2) na temelju trenutnog stanja rauna izlaze sklopa.

Ova struktura prirodno se preslikava u VHDL model ija se arhitektura sastoji od tri
bloka PROCESS, s odgovarajuim listama osjetljivosti. Pogledajmo npr. kako bi
izgledao model stroja s konanim brojem stanja koji ima (N+1) sinkroni ulaz, jedan
asinkroni ulaz (reset) te (M+1) izlaz. Stroj pri radu prolazi kroz toliko stanja da se
njihovo kodiranje koristi (K+1) bit. Stanja su redom oznaena S0, S1, S2, ... i kodirana
su binarnim kodom.


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY automatMoore IS PORT (
ulazi: IN std_logic_vector(N DOWNTO 0);
reset: IN std_logic;
izlazi: OUT std_logic_vector(M DOWNTO 0);
clock: IN std_logic
);
END automatMoore;
Strojevi s konanim brojem stanja. 279


ARCHITECTURE Behavioral OF automatMoore IS
SIGNAL state_present, state_next: std_logic_vector(K DOWNTO 0);
CONSTANT S0: std_logic_vector(K DOWNTO 0) := "0...000";
CONSTANT S1: std_logic_vector(K DOWNTO 0) := "0...001";
-- ...

BEGIN

-- Blok koji modelira Kombinacijski dio (1); na temelju ulaza
-- i trenutnog stanja rauna sljedee stanje.
PROCESS(ulazi, state_present)
BEGIN
-- na temelju signala iz liste osjetljivosti odrediti
-- u koje bi sljedee stanje sklop trebao prijei.
-- Npr. za bezuvjetan prijelaz u stanje S0:
state_next <= S0;
END PROCESS;

-- Blok koji modelira Kombinacijski dio (2); na temelju
-- trenutnog stanja rauna izlaz sklopa.
PROCESS(state_present)
BEGIN
-- na temelju trenutnog stanja odrediti izlaz sklopa:
CASE state_present IS
WHEN S0 => izlazi <= ...;
WHEN S1 => izlazi <= ...;
-- ...
WHEN OTHERS => izlaz <= ...;
END CASE;
END PROCESS;

-- Blok koji modelira Sekvencijski dio; na temelju signala
-- clock i asinkronih ulaza mijenja stanje
PROCESS( clock, reset )
BEGIN
-- Provjera asinkronih ulaza
IF reset = '1' THEN
state_present <= S0;
-- Inae slijedi sinkrono djelovanje
ELSIF falling_edge(clock) THEN
state_present <= state_next;
END IF;
END PROCESS;

END BEHAVIORAL;

Prilikom pisanja ovog modela pojedina stanja definirana su kao konstante kako bi kod
bio itljiviji. Naime, uvoenjem konstanti omogueno je u kodu pisati nazive stanja
umjesto njihovih binarnih kodova, ime se ujedno i smanjuje vjerojatnost pogreke
prilikom pisanja modela.
Osim ovog naina (gdje sami odreujemo s koliko e bitova biti kodirana stanja, i
definiramo kod za svako stanje) VHDL nam omoguuje alternativnu sintaksu. Npr.
ukoliko imamo stroj s etiri stanja, moemo pisati:

SIGNAL state_present, state_next: std_logic_vector(1 DOWNTO 0);
CONSTANT S0: std_logic_vector(1 DOWNTO 0) := "00";
CONSTANT S1: std_logic_vector(1 DOWNTO 0) := "01";
CONSTANT S2: std_logic_vector(1 DOWNTO 0) := "10";
280 Zbirka rijeenih zadataka

CONSTANT S3: std_logic_vector(1 DOWNTO 0) := "11";

ili pak:

TYPE stateType IS (S0, S1, S2, S3);
SIGNAL state_present, state_next: stateType;

Ovaj posljednji nain definira novi tip podatka pod nazivom stateType kao
enumeraciju od etiri elementa, i zatim kae da su signali state_present i
state_next upravo tog novodefiniranog tipa. Ako stroj s konanim brojem stanja
opiemo na ovaj nain, tada ni u kojem trenutku zapravo nismo naveli koliko e bitova
biti koriteno za kodiranje stanja, i na koji e nain pojedino stanje biti kodirano, pa
sintetizatoru sklopovlja ostavljamo na volju da stanja kodira tako da utroi minimalni
broj sklopovlja i provede dodatne optimizacije. Dakako, VHDL nam omoguava i
eksplicitno definiranje kako e pojedino stanje biti kodirano, no budui da to zahtjeva
uvoenje dodatnih elemenata VHDL-a (a pristup se zapravo svodi na prethodno opisani
definiranjem konstanti), ovdje to neemo obraivati.

Obratite takoer panju na liste osjetljivosti pojedinih blokova PROCESS. Prvi blok na
temelju ulaza i trenutnog stanja rauna sljedee stanje. Zbog toga je njegova lista
osjetljivosti (ulazi, state_present). Sljedei blok PROCESS na temelju
trenutnog stanja odreuje izlaz sklopa. Time je definirana njegova lista osjetljivosti kao
(state_present). Konano, posljednji blok PROCESS zaduen je za promjenu
stanja pod utjecajem clock-a ili asinkronog ulaza reset, pa je lista osjetljivosti
definirana kao ( clock, reset ).

12.20. Zadatak

Prikazati osnovnu strukturu VHDL modela kojim se opisuje Mealyjev stroj s konanim
brojem stanja.


Kao to za modeliranje Mooreovog stroja s konanim brojem stanja u VHDL-u nema
jedinstvenog naina, isto vrijedi i za modeliranje Mealyjevog stroja s konanim brojem
stanja. Osnovna struktura ovog stroja prikazana je na sljedeoj slici.

Strojevi s konanim brojem stanja. 281

i
z
l
a
z
i
Kombinacijski dio
Sekvencijski dio
CP
Kombinacijski
dio
u
l
a
z
i


Veliki je problem pri tome injenica da izlaze generira ista kombinacijska logika na
temelju trenutnog stanja i trenutnih izlaza. Naime, ukoliko se ulazi mijenjaju asinkrono,
tada e se i izlazi mijenjati asinkrono, to svakako nije eljeno ponaanje. Zbog toga se
prilikom modeliranja Mealyjevog stroja s konanim brojem stanja uobiajeno promatra
sljedea struktura sklopa:

Kombinacijski dio
Sekvencijski dio
CP
Kombinacijski
dio
u
l
a
z
i
i
z
l
a
z
i
Registar


Modifikacija sklopa sastoji se u dodavanju registra na izlaz kombinacijskog dijela koji
odreuje izlaze sklopa. Na ovaj nain istovremeno kada sklop mijenja stanje, izlaz koji
je odreen tim prijelazom pohranjuje se u izlazni registar. Eventualne asinkrone
promjene ulaza sada vie nemaju utjecaja na izlaze sklopa budui da te promjene dolaze
samo do ulaza registra, ali ne i dalje. Prilikom opisivanja ovog sklopa registar i
sekvencijski dio uobiajeno se stapaju zajedno (u jedan blok PROCESS), ba kao i
kombinacijski dijelovi (u jedan blok PROCESS). Rezultat je arhitektura sklopa koja se
sastoji od dva bloka PROCESS:

282 Zbirka rijeenih zadataka

1. kombinacijski dijelovi utvruju sljedee stanje i sljedee izlaze stroja na
temelju trenutnog stanja i trenutnih ulaza, te
2. sekvencijski dio + registar pamte trenutno stanje i izlaze te ih mijenjaju tek
kad im to signal takta dozvoli.

Struktura VHDL modela Mealyjevog stroja s konanim brojem stanja prikazana je u
nastavku.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY automatMealy IS PORT (
ulazi: IN std_logic_vector(N DOWNTO 0);
reset: IN std_logic;
izlazi: OUT std_logic_vector(M DOWNTO 0);
clock: IN std_logic
);
END automatMealy;

ARCHITECTURE Behavioral OF automatMealy IS
SIGNAL state_present, state_next: std_logic_vector(K DOWNTO 0);
CONSTANT S0: std_logic_vector(K DOWNTO 0) := "0...000";
CONSTANT S1: std_logic_vector(K DOWNTO 0) := "0...001";
SIGNAL izlazi_next: std_logic_vector(M DOWNTO 0);
BEGIN

-- Blok koji modelira ujedinjene kombinacijske dijelove.
-- Na temelju ulaza i trenutnog stanja rauna sljedee stanje
-- i sljedee izlaze.
PROCESS( ulazi, state_present )
BEGIN
-- utvrdi koje e stanje biti sljedee i koji izlaz.
-- odluka se donosi na temelju trenutnog stanja i ulaza.
-- npr. za bezuvjetni prijelaz u stanje S0 i sve '0'
-- na izlazima:
state_next <= S0;
izlazi_next <= "000..000"; -- niz od (K+1) nule.
END PROCESS;

-- Blok koji modelira Sekvencijski dio i registar; na temelju
-- signala clock i asinkronih ulaza mijenja stanje i izlaz
PROCESS( clock, reset )
BEGIN
-- Provjera asinkronih ulaza
IF reset = '1' THEN
state_present <= S0; -- postavi stanje na S0
izlaz <= "000...00"; -- postavi izlaze na npr. '0'
-- Inae slijedi sinkrono djelovanje
ELSIF falling_edge(clock) THEN
state_present <= state_next;
izlazi <= izlazi_next;
END IF;
END PROCESS;

END Behavioral;

Strojevi s konanim brojem stanja. 283

12.21. Zadatak

Stroj s konanim brojem stanja (vidi zadatak 12.1) opisati VHDL-om.


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY automat1 IS PORT (
input0: IN std_logic; y: OUT std_logic; clock: IN std_logic);
END automat1;

ARCHITECTURE Behavioral OF automat1 IS
SIGNAL state_present, state_next: std_logic_vector(1 DOWNTO 0);
CONSTANT S0: std_logic_vector(1 DOWNTO 0) := "11";
CONSTANT S1: std_logic_vector(1 DOWNTO 0) := "01";
CONSTANT S2: std_logic_vector(1 DOWNTO 0) := "10";

BEGIN

PROCESS(input0, state_present)
BEGIN
CASE state_present IS
WHEN S0 => IF input0 = '0' THEN
state_next <= S0;
ELSE
state_next <= S1;
END IF;
WHEN S1 => IF input0 = '0' THEN
state_next <= S1;
ELSE
state_next <= S2;
END IF;
WHEN S2 => IF input0 = '0' THEN
state_next <= S2;
ELSE
state_next <= S0;
END IF;
WHEN OTHERS => state_next <= S0;
END CASE;
END PROCESS;

PROCESS( clock )
BEGIN
IF falling_edge(clock) THEN
state_present <= state_next;
END IF;
END PROCESS;

PROCESS(state_present)
BEGIN
CASE state_present IS
WHEN S0 => y <= '1';
WHEN S1 => y <= '0';
WHEN S2 => y <= '0';
WHEN OTHERS => y <= '0';
END CASE;
END PROCESS;

END BEHAVIORAL;
284 Zbirka rijeenih zadataka


12.22. Zadatak

Stroj s konanim brojem stanja (vidi zadatak 12.2) opisati VHDL-om.


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY automat2 IS
PORT ( i1 : IN std_logic; i0 : IN std_logic;
o1 : OUT std_logic; o0 : OUT std_logic;
ka : OUT std_logic;
clock: IN std_logic);
END automat2;

ARCHITECTURE Behavioral OF automat2 IS
SIGNAL state_present, state_next: std_logic_vector(1 DOWNTO 0);
SIGNAL o1_next, o0_next, ka_next: std_logic;
CONSTANT S0: std_logic_vector(1 DOWNTO 0) := "00";
CONSTANT S1: std_logic_vector(1 DOWNTO 0) := "01";
CONSTANT S2: std_logic_vector(1 DOWNTO 0) := "10";
BEGIN

PROCESS( i1, i0, state_present )
VARIABLE pom: std_logic_vector(1 DOWNTO 0);
BEGIN
pom := (i1, i0);
CASE state_present IS
WHEN S0 =>
CASE pom IS
WHEN "00" => state_next <= S1; o1_next <= '0';
o0_next <= '0'; ka_next <= '1';
WHEN "01" => state_next <= S1; o1_next <= '0';
o0_next <= '1'; ka_next <= '1';
WHEN "10" => state_next <= S1; o1_next <= '1';
o0_next <= '0'; ka_next <= '1';
WHEN "11" => state_next <= S0; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
WHEN OTHERS => state_next <= S0; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
END CASE;
WHEN S1 =>
CASE pom IS
WHEN "00" => state_next <= S2; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
WHEN "01" => state_next <= S2; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
WHEN "10" => state_next <= S2; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
WHEN "11" => state_next <= S0; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
WHEN OTHERS => state_next <= S0; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
END CASE;
WHEN S2 =>
CASE pom IS
WHEN "00" => state_next <= S2; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
WHEN "01" => state_next <= S2; o1_next <= '0';
Strojevi s konanim brojem stanja. 285

o0_next <= '0'; ka_next <= '0';
WHEN "10" => state_next <= S2; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
WHEN "11" => state_next <= S0; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
WHEN OTHERS => state_next <= S0; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
END CASE;
WHEN OTHERS => state_next <= S0; o1_next <= '0';
o0_next <= '0'; ka_next <= '0';
END CASE;
END PROCESS;

PROCESS( clock )
BEGIN
IF falling_edge(clock) THEN
state_present <= state_next;
o1 <= o1_next;
o0 <= o0_next;
ka <= ka_next;
END IF;
END PROCESS;

END Behavioral;

12.23. Zadatak

Stroj s konanim brojem stanja (vidi zadatak 12.5) opisati VHDL-om.


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY automat3 IS
PORT ( ulaz : IN std_logic; reset: IN std_logic;
clock : IN std_logic; izlaz : OUT std_logic);
END automat3;

ARCHITECTURE Behavioral OF automat3 IS
SIGNAL state_present, state_next: std_logic_vector(1 DOWNTO 0);
CONSTANT S0: std_logic_vector(1 DOWNTO 0) := "00";
CONSTANT S1: std_logic_vector(1 DOWNTO 0) := "01";
CONSTANT S2: std_logic_vector(1 DOWNTO 0) := "10";
CONSTANT S3: std_logic_vector(1 DOWNTO 0) := "11";
BEGIN

PROCESS( ulaz, state_present )
BEGIN
CASE state_present IS
WHEN S0 => IF ulaz = '1' THEN state_next <= S1;
ELSE state_next <= S0; END IF;
WHEN S1 => IF ulaz = '1' THEN state_next <= S2;
ELSE state_next <= S0; END IF;
WHEN S2 => IF ulaz = '1' THEN state_next <= S2;
ELSE state_next <= S3; END IF;
WHEN S3 => IF ulaz = '1' THEN state_next <= S2;
ELSE state_next <= S0; END IF;
WHEN OTHERS => state_next <= S0;
END CASE;
END PROCESS;
286 Zbirka rijeenih zadataka


PROCESS( clock, reset )
BEGIN
IF reset = '1' THEN
state_present <= S0;
ELSIF falling_edge(clock) THEN
state_present <= state_next;
END IF;
END PROCESS;

PROCESS( state_present )
BEGIN
CASE state_present IS
WHEN S0 => izlaz <= '0';
WHEN S1 => izlaz <= '0';
WHEN S2 => izlaz <= '1';
WHEN S3 => izlaz <= '1';
WHEN OTHERS => izlaz <= '0';
END CASE;
END PROCESS;

END Behavioral;


ZADACI ZA VJEBU

1. Uporabom logikih blokova iz zadatka 12.14 realizirati sklop s dva izlaza (f
1
i f
2
), pri
emu je:

( ) ( ) C A D C B A D C B A f + + = , , ,
1

( ) ( ) AD A C B D C B A f + + = , , ,
2


2. VHDL-om je opisan neki automat. Na temelju tog opisa nacrtati grafiki prikaz
automata. O kojoj se vrsti automata radi i zato?

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY automat IS PORT ( cp, x1, x2 : IN std_logic;
a, b, c : OUT std_logic);
END automat;

ARCHITECTURE Behavioral OF automat IS
SIGNAL p_st, n_st: std_logic_vector( 1 DOWNTO 0 );
CONSTANT s0: std_logic_vector( 1 DOWNTO 0 ) := "10";
CONSTANT s1: std_logic_vector( 1 DOWNTO 0 ) := "01";
CONSTANT s2: std_logic_vector( 1 DOWNTO 0 ) := "11";
SIGNAL n_a, n_c: std_logic;
BEGIN
PROCESS (p_st, x1, x2)
BEGIN
CASE p_st IS
WHEN S0 =>
n_a <= '0'; n_c <= '1';
IF x1 = '1' THEN b <= '1'; n_st <= S1;
ELSIF x2 = '0' THEN b <= '0'; n_st <= S2;
ELSIF x1 = '0' THEN b <= '1'; n_st <= S1;
ELSE b <= '0'; n_st <= S0;
Strojevi s konanim brojem stanja. 287

END IF;
WHEN S1 =>
n_a <= '1'; n_c <= '1';
IF x1 = '0' THEN b <= '0'; n_st <= S0;
ELSIF x2 = '1' THEN b <= '0'; n_st <= S2;
ELSIF x1 = '1' THEN b <= '1'; n_st <= S1;
ELSE b <= '1'; n_st <= S2;
END IF;
WHEN S2 =>
n_a <= '0'; n_c <= '0'; b <= '1';
IF x1 = '1' THEN n_st <= S0;
ELSIF x1 = '0' THEN n_st <= S1;
ELSIF x2 = '0' THEN n_st <= S2;
ELSE n_st <= S0;
END IF;
WHEN OTHERS => n_a <= '0'; n_c <= '0'; b <= '0'; n_st <= S0;
END CASE;
END PROCESS;

PROCESS( cp )
BEGIN
IF falling_edge(cp) THEN
p_st <= n_st;
a <= n_a;
c <= n_c;
END IF;
END PROCESS;

END Behavioral;

3. U zadatku 12.1 projektiran je konani automat. Ako
su na raspolaganju D-bistabili ije je suelje
prikazano u nastavku, napisati strukturni model
navedenog automata. Osnovne logike operacije (I,
ILI, ) nije potrebno strukturno modelirati novim
komponentama, ve se mogu koristiti odgovarajui
operatori VHDL-a.
4. Prouiti grau FPGA logikog bloka iz zadatka 12.14. Realizirati:
a) pomou jednog takvog bloka T bistabil.
b) pomou najvie 3 takvih blokova JK bistabil.
c) pomou 4 takva bloka 4-bitni posmani registar udesno; registar ima serijski
ulaz i paralelne izlaze.
d) pomou 4 takva bloka 4-bitni posmani registar ulijevo; registar ima serijski
ulaz i paralelne izlaze.
e) pomou jednog troulaznog logikog bloka JK bistabil (tada LUT ima 8
memorijskih lokacija).
f) pomou potrebnog broja troulaznih logikih blokova multipleksor 8/1 (naputak
realizirati multipleksorsko stablo).
5. Upotrebom troulaznog logikog bloka FPGA (slino zadatku 12.14) realizirati T bistabil
sa sinkronim ulazom za ponitavanje stanja. Potom, upotrebom odgovarajueg broja tih
blokova nainiti brojilo sa paralelnim prijenosom koje broji u ciklusu 0, 1, , 7, 0, .
Da li bi isto brojilo izvedeno sa serijskim prijenosom moglo raditi na vioj frekvenciji?
6. Pismeni ispit 12. 11. 2004.
ENTITY DBistabil IS PORT (
CP, D: IN std_logic;
Q, Qn: OUT std_logic);
END DBistabil;

Suelje D bistabila
288 Zbirka rijeenih zadataka

Uporabom minimalnog broja D-bistabila i osnovnih logikih sklopova projektirati
sinkroni sekvencijski sklop koji na izlazu cikliki generira slijed od 7 Fibbonaccijevih
brojeva (F
0
=0, F
1
=1, F
n
=F
n-1
+F
n-2
za n>2). Provjeriti (i objasniti) da li je to sklop sa
sigurnim startom.
7. Pismeni ispit 12. 11. 2004.
Zadan je stroj s konanim brojem stanja prema slici. Projektirati sklop. Na raspolaganju
su 2 D bistabila i minimalno potreban broj osnovnih logikih sklopova.
S0
[0,0]
S1
[1,0]
S3
[1,1]
S2
[1,1]
0
1 0
1
0
1
0
1

8. Pismeni ispit 12. 11. 2004.
Napisati ponaajni VHDL model stroja s konanim brojem stanja zadanog (gornjom)
slikom.

Memorije. 289


13. Memorije.

13.1. Zadatak

Prikazati osnovnu memorijsku eliju kod permanentne memorije izvedene diodnim poljem.
Prikazati memoriju tipa 48 izvedenu ovom tehnologijom, u koju je upisan sljedei sadraj:
ED, 2D, DA, AD.


Pohranjena logika nula Pohranjena logika jedinica
WL
BL

WL
BL


Pri tome WL oznaava liniju rijei (engl. Word Line) koja u aktivnom stanju ima
logiku jedinicu, a BL oznaava liniju bita (engl. Bit Line) koja je preko otpora
pritegnuta na masu.

WL[0]
WL[1]
WL[2]
WL[3]
BL[0] BL[1] BL[2] BL[3] BL[4] BL[5] BL[6] BL[7]

Sadraj pohranjen u memoriju (raspisano po bitovima) definiran je tablicom
prikazanom u nastavku.

290 Zbirka rijeenih zadataka

LSB Sadraj po bitovima MSB
Lokacija Sadraj
b
0
b
1
b
2
b
3
b
4
b
5
b
6
b
7

0 ED 1 0 1 1 0 1 1 1
1 2D 1 0 1 1 0 1 0 0
2 DA 0 1 0 1 1 0 1 1
3 AD 1 0 1 1 0 1 0 1

13.2. Zadatak

Prikazati osnovnu memorijsku eliju kod permanentne memorije izvedene MOSFET-om.
Prikazati memoriju tipa 48 izvedenu ovom tehnologijom, u koju je upisan sljedei sadraj:
ED, 2D, DA, AD.


Pohranjena logika nula Pohranjena logika jedinica
WL
BL

WL
BL


Pri tome WL oznaava liniju rijei (engl. Word Line) koja u aktivnom stanju ima
logiku jedinicu, a BL oznaava liniju bita (engl. Bit Line) koja je preko "otpora"
pritegnuta na napajanje ("otpor" je takoer izveden MOSFET-om).

+U
DD
+U
DD
+U
DD
+U
DD
+U
DD
+U
DD
+U
DD
+U
DD
WL[0]
WL[1]
WL[2]
WL[3]
BL[0] BL[1] BL[2] BL[3] BL[4] BL[5] BL[6] BL[7]


Memorije. 291


13.3. Zadatak

Prikazati jednotranzistorsku MOSFET DRAM eliju. Objasniti nain uvanja, zapisivanja i
itanja informacije. Pretpostaviti da C
S
iznosi 50 fF, kapacitet linije bita C
B
= 25C
S
a logikoj
jedinici odgovara napon od 5V. Izraunati napon na liniji BL prilikom itanja pohranjene
logike jedinice.


Jednotranzistorska MOSFET DRAM elija prikazana je na slici.

WL
BL
C
S
U
S
, Q
S


Podaci se uvaju na kondenzatoru preko naboja (na slici oznaeno s Q
S
). Za odnos
napona i naboja na kapacitetu vrijedi sljedea relacija:

S S S
U C Q =

Ako je U
S
=0, tada je Q
S
=0 te je pohranjena logika nula. Ako je U
S
velik, tada je Q
S
>0
te je pohranjena logika jedinica.

elija moe raditi na tri naina: uvanje, itanje i pisanje. Kada elija uva sadraj,
tranzistor je iskljuen (WL=0) ime se uva naboj na kondenzatoru.

Zapisivanje sadraja obavlja se postavljanjem vrijednosti na liniju bita (logiko 0 ili
logiko 1) te otvaranjem tranzistora (WL=1). Npr. ako zapisujemo logiko 1, na liniju
bita dovodimo U
DD
i zatim otvaramo tranzistor. Kapacitet C
S
nakon nekog e se
vremena nabiti na U
DD
, i tada moemo zatvoriti tranzistor i ukloniti podatak s linije bita.

itanje podatka obavlja se dovoenjem
jedinice na WL, te oitavanjem napona na
liniji bita. Pretpostavimo da je u eliji
zapisana logika jedinica. Tada e se naboj Q
S

pohranjen na kapacitetu C
S
nakon otvaranja
tranzistora podijeliti na kondenzatore C
S
i C
B

(C
B
je kapacitet same linije bita). Kako su oni
spojeni paralelno, podjela e se obaviti tako da napon na oba kondenzatora bude jednak
i iznosi U
F
, tj. vrijedit e sljedee:

Prije otvaranja tranzistora:

U
B
=0 V
U
S
>0 V,
S S S
U C Q =

WL=1
BL
C
S
C
B
F B
U U
F S
U U
292 Zbirka rijeenih zadataka

Nakon otvaranja tranzistora:

Napon paralele je U
F
. Prema zakonu o ouvanju naboja:

F B F S S
U C U C Q + =

Zamjenom Q
S
slijedi:

F B F S S S
U C U C U C + =

pa je konani napon na paraleli tada jednak:

B S
S
S F
C C
C
U U
+
=

Uz zadane vrijednosti za U
F
se dobiva:

mV
C C
C
U
C C
C
U U
S S
S
S
B S
S
S F
192
25 1
1
5
25
=
+
=
+
=
+
=

Da je u eliji bila zapisana logika nula, konani napon bio bi jednak nuli, iz ega slijedi
da se naponi na liniji bita dobiveni itanjem nule ili jedinice razlikuju vrlo malo (manje
od 1V) pa je za oitavanje tog napona potrebno osjetljivo pojaalo za itanje. Razlog
ovako malog napona jest omjer kapaciteta C
S
i C
B
, tj. C
B
>>C
S
. Osim toga, nakon itanja
sadraja elije zapisani je podatak izgubljen (napon na C
S
je prilikom itanja logike
jedinice pao na svega 192 mV) te je potrebno ponovno zapisati proitani sadraj (dakle,
itanje je destruktivno).

13.4. Zadatak

Procijeniti vrijeme uvanja podatka MOSFET DRAM 1T elije. Pretpostaviti da je I
L
=1 nA,
C
S
=50 fF a U
S
=1V.


Kada je tranzistor iskljuen, kapacitet C
S
se ipak izbija odreenom strujom curenja I
L
, te
e napon U
S
polako padati.

WL=0
BL
C
S
U
S
(t), Q
S
(t)
I
L

U
S
(t)
t
U
max
U
1,min
t
h


Memorije. 293

Neka logikoj razini 1 odgovara napon U
max
. Da bi se sadraj elije ispravno oitao,
napon na C
S
smije pasti najnie do napona U
1,min
, ime je odreena razlika napona
min , 1 max
U U U
S
= . Za struju I
L
vrijedi:

dt
dU
C
dt
dQ
I
S
S
S
L
= =

Pretpostavimo li da su naponi U
max
i U
1,min
relativno blizu, poetak eksponencijale
moemo linearizirati, te moemo promatrati da je I
L
u tom podruju konstantno. Tada
slijedi:

h
S
h
S
S
S L
t
U U
C
t
U U
C
t
U
C I
min , 1 max min , 1 max
0

=

odnosno

( )
min , 1 max
U U
I
C
t
L
S
h
=

Uz podatke iz zadatka slijedi:

50 1
1
50
= = = V
nA
fF
U
I
C
t
S
L
S
h
s.

13.5. Zadatak

Prikazati CMOS SRAM eliju i objasniti naine rada.


Idejno rjeenje elije prikazano je na slici.

b b
WL
T
A
T
B
Q Q


Dva invertora povezana su u bistabilni element. elija moe raditi na tri naina rada:

uvanje podatka T
A
i T
B
su iskljueni (WL=0), te se podatak uva u bistabilu.
Zapisivanje podatka T
A
i T
B
su ukljueni (WL=1); novi podatak dovodi se na
linije b i b ime se mijenja stanje u bistabilu. Iskljuivanjem T
A
i T
B
elija
uva novoupisani podatak.
itanje podatka T
A
i T
B
su ukljueni (WL=1); linije b i b oitavaju se na
pojaalu za itanje.
294 Zbirka rijeenih zadataka


Pojaalo za itanje spojeno je na linije b i b i generira izlaz 0 ako je b < b , odnosno 1
ako je b > b .

Svaki od invertora moe se izvesti s 2 tranzistora (tj. tranzistorskim parom
PMOS+NMOS), to daje osnovnu 6T eliju prikazanu na slici.

b b
WL
+U
DD
T
1
T
2
T
3
T
4
T
5
T
6


Postoji i izvedba 4T elije, pri emu su PMOS tranzistori zamijenjeni velikim
otpornicima spojenim na U
DD
.

13.6. Zadatak

Prikazati barem dva naina organizacije memorije iji je kapacitet 256 bitova, a duljina
logike rijei 8 bitova. Procijeniti duljine linije bita i linije rijei.


Pogledajmo prvo "prirodni" nain organizacije memorije: memorijske elije koje uvaju
bitove iste logike rijei smjetene su jedna do druge, a pojedine rijei smjetene su
jedna ispod druge.

WL[0]
Mem. rije 0
Mem. rije 1
Mem. rije 2
Mem. rije N-2
Mem. rije N-1
WL[1]
WL[2]
WL[3]
WL[N-2]
WL[N-1]
Memorijska elija
(1 bit)
M bitova
D
e
k
o
d
e
r
A[0]
A[1]
A[K-1]
Podaci


Memorije. 295

Kako je u ovom sluaju kapacitet memorije (C=256 bitova) odreen umnokom broja
logikih rijei (N) i broja bitova u jednoj logikoj rijei (M), broj logikih rijei jednak
je:

32
8
256
= = =
M
C
N

Za adresiranje nam tada treba K adresnih bitova, pri emu je K odreen izrazom:

N
K
= 2

pa slijedi:

5 32 log log
2 2
= = = N K

Procijenimo jo i duljine linije rijei i bita. Kao to je poznato, linija rijei (WL) se
protee do svih memorijskih elija koje uvaju bitove iste memorijske rijei.
Pretpostavimo li da su dimenzije memorijske elije kvadratne, tada e ukupna duljina
biti zapravo proporcionalna broju elija do kojih linija dolazi, odnosno broju bitova.
Linija bita se pak protee do svih elija koje uvaju isti bit u svakoj memorijskoj rijei.
Tako kod ovakve organizacije memorije vrijedi da je duljina linije rijei 8, a duljina
linije bita 32. Ve iz ove niskokapacitetne memorije vidljiv je osnovni problem
ovakve ogranizacije: duljina linije bita >> duljina linije rijei (a time je i parazitni
kapacitet linije bita vrlo velik).

Napomena: U knjizi [Peruko] ovakav nain organizacije memorije poznat je kao 2D
organizacija. Ukoliko se eli dobiti vie informacija o ovom tipu (npr. Google), tada
treba obratiti panju da je na veini stranih sveuilita ovaj tip poznat kao 1D
organizacija (jer su memorijske rijei organizirane uzdu jedne dimenzije; odozgo
prema dolje).

Drugi primjer organizacije memorije temelji se ne popravljanju odnosa duljina linija
rijei i bita, i prikazan je na sljedeoj slici.

Kod ovog pristupa jedna fizika memorijska rije sadri P logikih rijei (svaka logika
rije je duljine M bitova). Cijela memorija pri tome sadri
K
N 2 = logikih rijei.
Dekoder retka na temelju viih bitova adrese odabire adresiranu fiziku rije, ime na
ulaze dekodera stupca dolazi PM pohranjenih bitova, tj. sadraj P logikih rijei.
Dekoder stupca na temelju niih bitova adrese odabire adresiranu logiku rije. Dekoder
stupca logiki se moe promatrati kao M multipleksora tipa P/1 gdje se na 0.
multipleksor dovode 0. bitovi od P logikih rijei, na 1. multipleksor dovode 1. bitovi
od P logikih rijei, itd. Proraunajmo sada sve potrebne veliine.

296 Zbirka rijeenih zadataka

Logika rije 0 Logika rije 1 Logika rije P-1
Logika rije P Logika rije P+1 Logika rije 2P-1
Logika rije 2P Logika rije 2P+1 Logika rije 3P-1
Logika rije 3P Logika rije 3P+1
M bitova M bitova M bitova
Fizika rije 0
Fizika rije 1
Fizika rije 2
Memorijska elija
(1 bit)
Logika rije 0 Logika rije 1 Logika rije P-1
Logika rije (Q-1)P Logika rije (Q-1)P+1 Logika rije QP-1
Fizika rije Q-2
Fizika rije Q-1
Dekoder stupca
D
e
k
o
d
e
r

r
e
t
k
a
A[L]
A[L+1]
A[K-1]
L
M P M 2 =
A[0]
A[L-1]
L K
Q

= 2
Podaci (M bitova)

Memorija iz zadatka imat e N logikih rijei, pri emu je N odreen s:

32
8
256
= = =
M
C
N

Za adresiranje N=32 logike rijei trebamo ukupno:

N
K
= 2

adresnih bitova, pa slijedi:

5 32 log log
2 2
= = = N K

Kako je kod ove organizacije ukupni broj logikih rijei definiran umnokom

Q P N =

gdje su N, P i Q cijeli brojevi, jedno rjeenje koje zadovoljava prethodni izraz jest P=2,
Q=16.

Za adresiranje logike rijei unutar fizike rijei koristi se L bitova. Slijedi:

1 2 log log 2
2 2
= = = = P L P
L


Dakle, jedan adresni bit dovodi se na dekoder stupca, a preostalih K-L=5-1=4 adresna
bita dovode se na dekoder retka. Memorija u tom sluaju ima Q = 2
4
= 16 fizikih rijei,
gdje svaka fizika rije sadri dvije logike rijei.

Proraunajmo jo i duljine linija rijei i bita. Jedna fizika rije sadri PM=28=16
bitova, pa je duljina linije rijei 16. Memorija ima Q=16 fizikih rijei pa je duljina
linije bita 16.

Memorije. 297

Napomena: U knjizi [Peruko] ovakav nain organizacije memorije poznat je kao 2 D
organizacija. Ukoliko se eli dobiti vie informacija o ovom tipu (npr. Google), tada
treba obratiti panju da je na veini stranih sveuilita ovaj tip poznat kao 2D
organizacija (jer su logike rijei organizirane u 2D matricu, a ne linearno).

Za vjebu.

Nacrtajte strukture memorija uz proraunate parametre. Drugi dio zadatka ima vie
moguih rjeenja (tj. jednadba N=PQ ima vie rjeenja u skupu cijelih brojeva).
Pronaite sva rjeenja. Proraunajte duljine linija rijei i bita za te sluajeve.


13.7. Pismeni ispit, 09. 02. 2004, 9. zadatak

Zadana je ureena n-torka P=(8,1,5,2,3,3,12,14,7,2,0,1,6,6,2,4). Funkcija F(i) vraa i-ti
element od P (npr. F(0)=8). Projektirati sklop koji ostvaruje ovu funkciju. Na raspolaganju su
ispisna memorija 88 te 4 multipleksora 21. Prikazati sadraj memorije po lokacijama, u
heksadekadskom obliku.


Memorija koju imamo na raspolaganju pohranjuje rijei irine 8 bita, a za pohranu
svakog broja koji trebamo vratiti nuna su samo 4 bita. Zbog toga emo na svaku
memorijsku lokaciju pohranjivati po dva broja. Sadraj memorije prikazan je u
nastavku:

lokacija: Sadraj memorije (hex)
0 1 8
1 2 5
2 3 3
3 E C
4 2 7
5 1 0
6 6 6
7 4 2

Sklop je prikazan na slici:

298 Zbirka rijeenih zadataka

RAM
8 x 8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
0 1 0 1 0 1 0 1
A
2
A
1
A
0
I
3
I
2
I
1
I
0
O
3
O
2
O
1
O
0


13.8. Zadatak

Na raspolaganju je potreban broj memorijskih modula prikazanih na
slici. Njihovom uporabom projektirati memoriju 5123.








Kako memorijski modul ima 8 adresnih linija,
oito je da moe adresirati 256 memorijskih
lokacija, svaka irine jednog bita. Budui da
trebamo 512 memorijskih lokacija, morat emo
iskoristiti 512/256=2 memorijska modula, kako
bismo dobili memoriju koja moe adresirati 512
memorijskih lokacija. Budui da memorijske
rijei moraju biti iroke 3 bita, trebat emo jo
3/1=3 memorijska modula u paraleli. Ideja
rjeenja prikazana je na slici desno.

Svako polje predstavlja jedan memorijski
modul. Analizom slike moe se uoiti kako je razlika izmeu gornjih i donjih modula u
najviem bitu: A
8
. I upravo emo taj bit koristiti za selekciju onog rezultata koji e se
pojaviti na izlazu sklopa. Shema spajanja prikazana je na slici:

W R/
000
0FF
100
1FF
1. bit
000
0FF
100
1FF
2. bit
000
0FF
100
1FF
3. bit
Memorije. 299

W R/
W R/
W R/
W R/
W R/
W R/
W R/

Podatkovni izlazi gornjih i donjih memorijskih modula spojeni su preko ILI sklopa:

gore out dolje out gore out dolje out
D D D D
, , , ,
+ =

Naime, ti su izlazi izvedeni s otvorenim kolektorom, a njihovim kratkim spajanjem i
pritezanjem na napajanje ostvarili smo I logiku funkciju komplemenata izlaza. Kada to
na kraju invertiramo, dobivamo ILI logiku operaciju.

Kada je A
8
jednak 0, donji moduli su onemogueni (CE=0), a gornji su omogueni.
Zbog toga na izlaz prolaze podaci pohranjeni u gornjim modulima. Kada je A
8
jednak 1,
gornji moduli su onemogueni (CE=0), a donji su omogueni. Zbog toga na izlaz
prolaze podaci pohranjeni u donjim modulima.


ZADACI ZA VJEBU

1. Objasnite organizacije memorijskih ipova kod statikih i dinamikih poluvodikih
memorija. Navedite i objasnite tipine predstavnike istih.





A/D i D/A konverzija. 301


14. A/D i D/A konverzija.

14.1. Zadatak

Na slici je prikazan D/A konvertor. Ako je ulaz konvertora 4-bitni binarni broj a
3
a
2
a
1
a
0
,
U
REF
=+5V i R
0
=80 k, odrediti preostale otpore tako da napon koji odgovara najmanjem bitu
bude |0.4| V. Kako se zove prikazani D/A konvertor? Koji je najvei napon na izlazu
konvertora?
+U
REF
a
3
R
3
I
3
a
2
R
2
I
2
a
1
R
1
I
1
a
0
R
0
I
0
+
-
= A
U
izl
R
f
I
N
U
N



Pogledajmo najprije zavrni dio D/A konvertora. Napon U
N
je napon izmeu (-)
stezaljke operacijskog pojaala i mase. Kako je napon izmeu (-) i (+) stezaljke
operacijskog pojaala jednak nuli, a (+) stezaljka je spojena na masu, tada je i (-)
stezaljka (prividno) kratko spojena na masu, pa je U
N
=0 (virtualni kratki spoj). Drugo
bitno svojstvo operacijskog pojaala je beskonano veliki otpor izmeu (-) i (+)
stezaljki pa tim putem ne tee struja. Zbog toga sva struja koja dolazi iz otporne mree
ide dalje kroz otpor R
f
. Moemo pisati:

f N f N N f N izl
R I R I U R I U = + = + = 0
(1)

Isto tako vrijedi:

0 0 1 1 2 2 3 3
I a I a I a I a I
N
+ + + = (2)

Gdje je a
i
1 (sklopka je ukljuena i struja tee) ili 0 (sklopka je iskljuena i struja ne
tee). Uvrtavanjem (2) u (1) slijedi:

( )
f izl
R I a I a I a I a U + + + =
0 0 1 1 2 2 3 3

(3)
302 Zbirka rijeenih zadataka


Kako struje I
i
odgovaraju vrijednostima pojedinih binarnih znamenaka a da bi izlazni
napon odgovarao vrijednosti binarnog broja na ulazu, tada odnos meu strujama mora
odgovarati teinskom odnosu meu znamenkama. Npr. znamenka a
1
ima dvostruku
teinu od znamenke a
0
, pa struja I
1
mora biti dvostruko vea od struje I
0
, odnosno
openito:

0
2 I I
i
i
= (4)

Iz ega uvrtavanjem u (3) slijedi:

=
=
3
0
0
2
i
i
i f izl
a I R U (5)

Iz sheme proizlazi:

i
REF
i
REF
i
N REF
i
R
U
R
U
R
U U
I =

=
0

(6)

Uvrtavanjem (4) u (6) slijedi:

i i
i
REF REF i
i
REF i
R
R
R
U
R
U
R
U
I
2
2 2
0
0
0
= = =
(7)

to daje:

= = = = = = = = = k
k R
R k
k R
R k
k R
R 10
8
80
8
, 20
4
80
4
, 40
2
80
2
0
3
0
2
0
1


Uvrtavanjem (6) u (5) slijedi:

=
=
3
0 0
2
i
i
i
REF
f izl
a
R
U
R U
(8)

Poznato je da napon najmanje znaajnog bita iznosi |0.4| V, pa uvrtavanjem broja
a
3
a
2
a
1
a
0
=0001 u (8) slijedi:

( ) 1 2 1 2 0 2 0 2 0 2 4 . 0
0
0 1 2 3
0
3
0 0
= + + + = =

=
R
U
R
R
U
R a
R
U
R
REF
f
REF
f
i
i
i
REF
f


pa slijedi:

= = = k k
U
R R
REF
f
4 . 6
5
4 . 0
80
4 . 0
0


A/D i D/A konverzija. 303

Maksimalni napon na izlazu odgovara najveem binarnom broju koji se moe dovesti
na ulaz: 1111
(2)
15. Tada je prema (8):

V
k
k U
izl
6 15
80
5
4 . 6
) 15 (
= =

Konvertor se zove teinski D/A konvertor, ili konvertor sa teinski rasporeenim
otporima u otpornoj mrei.

14.2. Zadatak

Kako se zove na slici prikazani 4-bitni D/A konvertor? Odrediti napon U
izl
, ako je poznato da
je U
REF
=+5V, R=1k a napon najmanjeg bita |0.4| V.

a
0
2R
R
a
1
2R
R
a
3
2R
R 2R
U
REF
U
X
+
-
= A
U
izl
R
f
I
N
2R
a
2
2R
U
N
1 2 3 4



Prikazan je ljestviasti D/A konvertor. Potrebno je uoiti kako su u mrei sloeni otpori.
Promatrajmo otpor toke 1 (lijevo i dolje): imamo 2R || 2R = R. Otpor koji se vidi iz
toke 2 tada je (R plus toka 1) || 2R = (R+R) || 2R je opet R! Zbog prividnog kratkog
spoja (U
N
=0) ista analiza vrijedi i ako promatramo otpore s desne strane. Izraunajmo
sada koliko iznosi napon U
X
. Kako imamo otpornu mreu, moemo primijeniti princip
superpozicije, koji kae da je za takav sluaj dozvoljeno izraunati napon U
X
tako da se
promatra utjecaj svakog pojedinog izvora (odnosno svakog bita) na taj napon. Imamo 4
sluaja:

1. sluaj: a
3
=1, a
2
=0, a
1
=0, a
0
=0

Lijevo od toke 4 mrea djeluje otporom 2R, desno je takoer otpor 2R prema masi pa
imamo (nadomjesna shema):

304 Zbirka rijeenih zadataka

2R
2R 2R
4
U
REF
2R
R
4
U
REF
U
X


Pa je:

3 3 2
4 3 ,
REF
REF
REF
a X
U
R
R
U R
R R
U
U U = =
+
= =

2. sluaj: a
3
=0, a
2
=1, a
1
=0, a
0
=0

Izraunajmo napon u toki 3. Iz toke 3 na lijevo i desno vidimo otpore 2R, pa je
nadomjesna shema ista kao u prethodnom sluaju:

2R
2R 2R
3
U
REF


Slijedi:

3 3 2
3
REF
REF
REF
U
R
R
U R
R R
U
U = =
+
=

Sada je jo potrebno izraunati doprinos U
3
naponu U
X
. Nacrtajmo nadomjesnu shemu
desno od toke 3. Imamo R do toke 4, i zatim otpor koji se vidi iz toke 4 (dolje,
desno) to je jo R (2R || 2R = R).

R
3
R
U
3
4
U
X


Slijedi:

A/D i D/A konverzija. 305

2 2 3 2
3 ,
3
3 4 2 ,
a X
REF
a X
U
U U
R R
R
U U U =

= =
+
= =

Odmah vidimo i bitno svojstvo mree: napon generiran jednim izvorom iz jedne toke
se u drugu prenosi sa pola amplitude!

3. sluaj: a
3
=0, a
2
=0, a
1
=1, a
0
=0

Prema prethodnim razmatranjima ve znamo da je nadomjesna shema ista kao i prije, i
da vrijedi:

3
2
REF
U
U =
Napon u toki 3 biti e pola tog napona, a napon u toki 4 pola od napona u toki 3, pa
slijedi:

4 4 3 2
2
2
3 ,
2
3
4 1 ,
a X
REF
a X
U
U
U
U
U U =

= = = =

4. sluaj: a
3
=0, a
2
=0, a
1
=0, a
0
=1

Vrijedi:

3
1
REF
U
U =
Napon u toki 2 biti e pola tog napona, a napon u toki 3 pola od napona u toki 2, a
napon u toki 4 pola od napona u toki 3, pa slijedi:

8 8 3 2
2
2
2
2
2
3 ,
1
2
3
4 0 ,
a X REF
a X
U
U
U
U
U
U U =

= = = = =

Sumiramo li utjecaj svih izvora na napon toke X (pomnoen sa a
i
, jer ako je a
i
=0, tada
taj napon ne doprinosi naponu U
X
), slijedi:

( )

=
+ + +

=
|
.
|

\
|
+ + + =
+ + + =
+ + + =
3
0
0 1 2 3
0 1 2
3
3 ,
0
3 ,
1
3 ,
2 3 , 3
0 , 0 1 , 1 2 , 2 3 , 3
2
8 3
2 4 8
8 3
8 4 2 3
8 4 2
i
i
i
REF
REF
REF
a X a X a X
a X
a X a X a X a X X
a
U
a a a a
U
a a a
a
U
U
a
U
a
U
a U a
U a U a U a U a U


Sada kada znamo koliko iznosi U
X
, moemo izraunati izlazni napon:
306 Zbirka rijeenih zadataka


U
X
+
-
= A
U
izl
R
f
I
N
2R
U
N
4


R
U
R
U
R
U U
I
X X N X
N
2 2
0
2
=

=

R
R
U R I R I U R I U
f
X f N f N N f N izl
2
0 = = + = + =

to daje:

=
3
0
2
8 3 2
i
i
i
REF
f
izl
a
U
R
R
U

Slijedi:

=

= k R
k
R
U
R
R
f
f
REF
f
84 . 3
8 3
5
1 2 8 3 2
4 . 0
A/D i D/A konverzija. 307


14.3. Zadatak

Konstruirati D/A konvertor koji e na ulazu primati dvoznamenkasti dekadski broj zapisan u
BCD kodu, i koristiti mreu s teinski rasporeenim otporima.


Neka dvoznamenkasti broj N ima znamenke A i B, pri emu vrijedi: B A N + =10 . Ako
su a
3
a
2
a
1
a
0
i b
3
b
2
b
1
b
0
reprezentacije tih znamenaka u BCD kodu, tada je traeni
konvertor prikazan na slici:

R
2R
4R
8R
10R
20R
40R
80R
+
-
= A
U
izl
R
f
I
N
+U
REF
a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0


Vrijedi:
|
.
|

\
|
+ =
+ =
+ + + + + + + =


= =
= =
3
0
3
0
3
0
3
0
0 1 2 3 0 1 2 3
2 2 10
80
2
80
2
8
80 40 20 10 8 4 2
i
i
i
i
i
i
REF
i
i
i
REF
i
i
i
REF
REF REF REF REF REF REF REF REF
N
b a
R
U
b
R
U
a
R
U
R
U
b
R
U
b
R
U
b
R
U
b
R
U
a
R
U
a
R
U
a
R
U
a I

308 Zbirka rijeenih zadataka


14.4. Zadatak

Na slici je prikazan D/A konvertor koji na ulaz prima troznamenkasti dekadski broj, pri emu
su znamenke prikazane BCD kodom (pri emu se na odgovarajua mjesta za vrijednost bita 1
spaja U
REF
=+5V, inae 0 V). Izraunati otpore R
0
, R
S
i R
f
. Poznato je da je R=4.5k, a broju
125 odgovara napon od 0.5V.

8R 4R 2R R 8R 4R 2R R 8R 4R 2R R
+
-
= A
U
izl
R
f
I
N
R
S
R
S
R
0
R
0
a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0
c
3
c
2
c
1
c
0
stotice desetice jedinice



Dijelove mree koji generiraju napon pojedine znamenke moemo zamijeniti
nadomjesnim otporom R
P
i nadomjesnim naponskim izvorom U. Naime, svaku pasivnu
mreu moemo zamijeniti ekvivalentnim naponskim izvorom kojemu je u seriju spojen
nadomjesni otpor (Theveninov teorem), ili par strujnim izvorom kojemu je u paralelu
spojen nadomjesni otpor (Nortonov teorem). Primijenimo na ovaj sluaj Theveninov
teorem. Nadomjesni otpor R
P
je:

R R R R R R
P
15
8
|| 2 || 4 || 8 = =

Napon U
T
moemo izraunati prema Millmannu:


= = =
=

= =
|
.
|

\
|
+ + + =
+ + +
+ + +
=
3
0
3
0
3
0
3 2 1 0
3 2 1 0
2
15
2
8
15
8
2
8
2 4 8
1
2
1
4
1
8
1
2 4 8
i
i
i
REF
i
i
i
REF
i
i
i
REF P
REF REF REF REF
P
C C C C
T
c
U
c
R
U R
c
R
U R
R
U c
R
U c
R
U c
R
U c
R
R R R R
R
U
R
U
R
U
R
U
U


Ako umjesto U
T
piemo samo U, nadomjesna shema poetnog sklopa prikazana je na
sljedeoj slici:


A/D i D/A konverzija. 309

R
P
+
-
= A
U
izl
R
f
I
N
R
S
R
S
R
0
R
0
desetice jedinice
R
P
R
P
stotice
1 2 3
U
X
U
N
U
U U


Prikazanu mreu svodi se na klasinu ljestviastu obraenu kod pretvorbe binarnih
znamenki postavljanjem zahtjeva:

0 0
|| R R R R
P S
= +

Uoimo najprije da je mrea s obje strane prema masi zakljuena otporom R
0
(virtualni
kratko spoj kod ulaza operacijskog pojaala!). Dovedimo sada na ulaze mree broj A00
(dakle samo znamenka A razliita od 0). Koliki je napon u toki 3? Desno od toke 3
imamo otpor R
0
prema masi. Lijevo od toke 3 isto imamo otpor R
0
prema masi. Naime,
cijela mrea na lijevoj strani djeluje kao jedan otpor od R
0
zbog prethodno spomenutog
zahtjeva na otpore R
0
, R
P
i R
S
. Tada slijedi nadomjesna shema:

R
P
R
0
R
0
3
U
R
P
R
0
||R
0
3
U
U
X


0 0
0 0
3 100 ,
||
||
R R R
R R
U U U
P
X
+
= =

Analizirajmo sada utjecaj na napon U
X
, kada na mreu dovedemo samo znamenku B
razliitu od 0 (istu koja je prije bila na A). Tada imamo identini sluaj prethodnome,
osim to je sada odmah vidljiv napon u toki 2:

0 0
0 0
2
||
||
R R R
R R
U U
P
+
=

No kakav je utjecaj ovog napona na U
X
? Imamo sljedeu nadomjesnu shemu:

310 Zbirka rijeenih zadataka

R
S
2
R
P
U
2
U
X
R
0
3


Oito je da je tada:

P S
P
P P S
P
X
R R R
R R
R R R
R R
U
R R R
R R
U U
||
||
||
||
||
||
0
0
0 0
0 0
0
0
2 10 ,
+

+
=
+
=

Kako imamo dekadski D/A konvertor, utjecaj desetica na izlazni napon treba biti 10
puta manji od utjecaja stotica, odnosno vrijedi:

100 , 10 ,
10
X X
U U =

Uvrtavanjem dobivenih izraza slijedi:

0 0
0 0
0
0
0 0
0 0
||
||
||
||
||
||
10
R R R
R R
U
R R R
R R
R R R
R R
U
P P S
P
P
+
=
+

+


odakle slijedi zahtjev:

1
||
||
10
0
0
=
+

P S
P
R R R
R R


Uvrtavanjem zahtjeva
0 0
|| R R R R
P S
= + u prethodnu jednadbu slijedi:

P
P
P
P P
P
R R
R
R R
R R
R R R R R
R R
9
10
1
|| ||
||
10
0
0
0
0
0 0 0
0
= =
+
=
+ +


Uvrstimo li dobiveni rezultat u zahtjev
0 0
|| R R R R
P S
= + , dobit emo:

P P S S
P
P
S
R R R R R
R
R
R
R
R R
R R
R R
R 1 . 8
10
81
10
9
9
9
0 0
0
0
0
0
0
0
0
= = = =
+
+ =
+
+
Sada moemo izraunati traene otpore:

= = = 2400 5 . 4
15
8
15
8
k R R
P


= = k R R
P
6 , 21 9
0

A/D i D/A konverzija. 311


= = k R R
P S
44 . 19 1 . 8

Za izlazni napon vrijedi sljedea nadomjesna shema:

U
X
+
-
= A
U
izl
R
f
I
N
R
0
U
N
3



0 0 0
0
R
U
R
U
R
U U
I
X X N X
N
=

=

0
0
R
R
U R I R I U R I U
f
X f N f N N f N izl
= = + = + =

Ako na ulaz dovedemo broj 100, tada je:

1 , 10 , 100 , X X X X
U U U U + + =

Theveninov napon koji generira stotica 1 je: 1
15
,
=
REF
stotica T
U
U . Taj se napon do toke 3
prenosi kao:

11
9
15 ||
||
15
0 0
0 0
3 100 ,
REF
P
REF
X
U
R R R
R R U
U U =
+
= =
Theveninov napon koji generira desetica 2 je: 2
15
,
=
REF
desetica T
U
U . Taj se napon do
toke 2 prenosi kao:

2
11
9
15 ||
||
2
15
0 0
0 0
2
=
+
=
REF
P
REF
U
R R R
R R U
U

a napon U
2
naponu U
X
doprinosi iznosom:

10
1
2
11
9
15 ||
||
0
0
2 10 ,
=
+
=
REF
P S
P
X
U
R R R
R R
U U
Theveninov napon koji generira jedinica 5 je: 5
15
,
=
REF
jedinica T
U
U . Taj se napon do
toke 1 prenosi kao:

312 Zbirka rijeenih zadataka

5
11
9
15 ||
||
5
15
0 0
0 0
1
=
+
=
REF
P
REF
U
R R R
R R U
U

Napon U
1
naponu U
2
doprinosi iznosom:

10
1
5
11
9
15 ||
||
0
0
1 2
=
+
=
REF
P S
P
U
R R R
R R
U U

a napon U
2
naponu U
X
doprinosi iznosom:

10
1
10
1
5
11
9
15 ||
||
0
0
2 1 ,
=
+
=
REF
P S
P
X
U
R R R
R R
U U

Napon U
X
jednak je sumi svih doprinosa:

( )
1100
75
125
100
1
11
9
15
5 1 2 10 1 100
100
1
11
9
15
100
1
5
11
9
15 10
1
2
11
9
15
1
11
9
15
1 , 10 , 100 , 125 ,
REF
REF REF
REF REF REF
X X X X
U
U U
U U U
U U U U
=
= + + =
+ + = + + =


Dok je izlazni napon jednak:

0 0
125 , 125 ,
1100
75
R
R
U
R
R
U U
f
REF
f
X izl
= =

Odavde moemo proitati R
f
:

= = = k k R
U
U
R
REF
izl
f
68 . 31 6 . 21
75
1100
5
5 . 0
75
1100
| |
0
125 ,


Iz prethodnog razmatranja moemo doi i do openitog izraza za U
X
:

( ) C B A
U
U U U U
REF
X X X X
+ + = + + = 1 10 100
100
1
11
9
15
1 , 10 , 100 , 125 ,


kao i izlaznog napona:

( )
0 0
125 ,
1 10 100
100
1
11
9
15 R
R
C B A
U
R
R
U U
f
REF
f
X izl
+ + = =

A/D i D/A konverzija. 313

14.5. Zadatak

Kako se zove 10 bitni A/D pretvornik ija je principijelna shema prikazana na slici? Ako je t
db

20 ns, t
setup
20 ns, t
ls
10 ns, t
da
100 ns (vrijeme potrebno za d/a pretvorbu), te t
k
50 ns (vrijeme
reagiranja komparatora), koja se frekvencija oitavanja uzoraka moe postii u najgorem
sluaju? Koji je najmanji napon koji sklop moe izmjeriti? Poznato je da se na ulaz sklopa
mogu dovoditi naponi od 0 do 10 V. Brojilo je izvedeno kao sinkrono, sa serijskim
prijenosom.

B
S
R
Q
START
BROJILO
CP
CP
+
-
= A
u
ul
u
d
D/A
CE



Prikazani pretvornik zove se brojei A/D pretvornik. Dok je bistabil B u stanju 0,
brojilo ne broji jer mu je na ulaz za omoguavanje takta (CE, Clock Enable) nula. U
trenutku kada doe impuls za start, brojilo poinje brojati impulse takta. Svaki puta
kada se stanje brojila promijeni, D/A pretvornik generira napon u
d
koji odgovara
pohranjenom broju. Taj se napon vodi na (+) stezaljku operacijskog pojaala koje radi
kao komparator. Sve dok je u
d
manji od u
ul
, postupak se nastavlja. Prvi puta kada se
dogodi da je u
d
>u
ul
, na izlazu komparatora pojavljuje se pozitivna naponska razina koja
resetira bistabil, i time onemoguava daljnje poveavanja sadraja brojila. Broj
pohranjen u brojilu u tom trenutku odgovara (do na konstantu proporcionalnosti)
ulaznom naponu.

Ako je maksimalni napon koji sklop moe izmjeriti 10 V, taj e napon biti prikazan
najveim brojem koji moemo upisati u brojilo: 2
10
-1. Tada jednom bitu odgovara
napon:
V 0.009775
1 2
10
10

=
b
u

Odredimo maksimalnu brzinu kojom mogu dolaziti impulsi CP. Promatrajmo pojave od
trenutka u kojem naie padajui brid CPa.

Nakon t
db
brojilo je prelo u novo stanje. U tom trenutku kree rasprostiranje prijenosa,
a kako je ono serijsko, trebat e proi jo (n-2)t
dls
(gdje je n broj bitova brojila). Nakon
toga potrebno je saekati jo vrijeme postavljanja t
setup
, i tada moe doi novi CP
impuls. Dakle, maksimalna brzina rada 10 bitnog sinkronog brojila sa serijskim
prijenosom uz zadana vremena iznosi:

314 Zbirka rijeenih zadataka

MHz
n n n n t t n t
f
setup dls db
cnt
33 . 8
120
1
20 10 8 20
1
) 2 (
1
max ,
= =
+ +
=
+ +
=

Meutim, kada se nakon t
db
pojavi novo stanje brojila, paralelno zapoinje i proces D/A
pretvorbe koji je gotov nakon t
da
. Zatim je potrebno t
k
da reagira komparator, i zatim
(budui da koristimo sinkroni bistabil) mora proi jo t
setup
vremena prije no to moe
naii novi CP impuls. Za obilazak ove staze treba nam dakle:

setup k da db conv
t t t t t + + + =
1 ,


pa je maksimalna frekvencija kojom se ovo moe dogaati:

MHz
n n n n n t t t t
f
setup k da db
conv
26 . 5
190
1
20 50 100 20
1 1
1 ,
= =
+ + +
=
+ + +
=

Oito je da je najvea frekvencija odreena najmanjom dozvoljenom (odnosno
najduom stazom), pa impulsi CPa smiju biti maksimalne frekvencije:

MHz f f f
conv cnt CP
26 . 5 ) , min(
1 , max , max ,
= =

Najdulje vrijeme pretvorbe dobiva se kada se pretvara maksimalni doputeni napon, jer
tada brojilo mora brojati do kraja. To znai da je za pretvorbu u tom sluaju potrebno
potroiti 2
n
-1 impulsa takta, pa je maksimalna frekvencija oitavanja u najgorem sluaju
jednaka:

kHz
M
f f
f
CP
n
CP
ocitavanja
15 . 5
1023
26 . 5
1 2 1 2
10
max , max ,
max ,
= =

=

14.6. Zadatak

Potrebno je vrlo esto mjeriti ulazni napon koji se mijenja vrlo sporo. Predloiti pretvornik
pogodan za ovakav problem. Izraunati maksimalnu frekvenciju CPa, i maksimalnu
frekvenciju oitavanja uzoraka u najgorem sluaju.


Pogodan je kontinuirano brojei A/D pretvornik, ija je principijelna shema prikazana
na slici u nastavku.

Brojilo na svaki impuls CPa ili poveava sadraj za jedan, ili smanjuje sadraj za jedan,
a smjer je odreen izlazom komparatora. Ako trenutno stanje brojila odgovara manjem
naponu od ulaznog, tada e na izlazu D/A pretvornika napon u
d
biti manji od u
ul
, i na
izlazu komparatora e biti niska razina, koja odgovara brojanju unaprijed. Ovime e na
sljedei impuls CPa brojilo poveati svoj sadraj za jedan i time prii blie stvarnom
ulaznom naponu. Ako bi broj zapisan u brojilu odgovarao veem naponu od CPa, tada
bi brojilo na sljedei CP smanjilo svoj sadraj za 1.

A/D i D/A konverzija. 315

REVERZIBILNO
BROJILO
DN
UP
D/A KONVERTER
CP
+ -
K
u
ul
u
d
CP
naprijed /
/ natrag


Neka je brojilo izvedeno kao 10 bitno sinkrono sa serijskim prijenosom, i neka su sva
vremena ista kao u prethodnom zadatku. Tada je maksimalna frekvencija rada brojila:

MHz
n n n n t t n t
f
setup dls db
cnt
33 . 8
120
1
20 10 8 20
1
) 2 (
1
max ,
= =
+ +
=
+ +
=

Kada se nakon t
db
pojavi novo stanje brojila, paralelno zapoinje i proces D/A pretvorbe
koji je gotov nakon t
da
. Zatim je potrebno t
k
da reagira komparator, i zatim (budui da
koristimo sinkrono brojilo) mora proi jo t
setup
vremena prije no to moe naii novi CP
impuls (da se stabilizira signal za smjer brojanja). Za obilazak ove staze treba nam
dakle:

setup k da db conv
t t t t t + + + =
1 ,


pa je maksimalna frekvencija kojom se ovo moe dogaati:

MHz
n n n n n t t t t
f
setup k da db
conv
26 . 5
190
1
20 50 100 20
1 1
1 ,
= =
+ + +
=
+ + +
=
Najvea frekvencija CPa odreena je najmanjom dozvoljenom frekvencijom (odnosno
najduom stazom), pa impulsi CPa smiju biti maksimalne frekvencije:

MHz f f f
conv cnt CP
26 . 5 ) , min(
1 , max , max ,
= =

Do razlike u odnosu na prethodni zadatak dolazi se kod
odreivanja maksimalne frekvencije oitavanja
vrijednosti napona. Naime, kako je ulazni napon po
definiciji vrlo sporo mijenjajui, jednom kada ga
pretvornik stigne, stalno e moi pratiti ispravnu
vrijednost, i rezultat e se moi oitavati na svaki CP!
Dakle, upravo frekvencijom od 5.26 MHz. Ovaj pretvornik imati e problema samo u
dva sluaja: (1) na poetku ako ulazni napon nije nula, trebati e odreeno vrijeme da se
dostigne ulaz, i (2) ako se ulazni napon pone brzo mijenjati, jer ga tada pretvornik nee
moi slijediti dovoljno brzo. Sluaj 1 ilustriran je na skici. Na slici se takoer vidi da
u
ul u
t
u
d
Poetak
rada
316 Zbirka rijeenih zadataka

pretvornik uvijek oscilira oko prave vrijednosti (mijenja se napon koji odgovara
vrijednosti jednog bita).

Ako se napon naglo promijeni, dobiti e se efekt poetka rada gdje brojilo postupno
prilazi novoj vrijednosti, ali je za to potrebno odreeno vrijeme, pa oitanja u tom
trenutku vie ne odgovaraju ulaznom naponu. Moemo i procijeniti maksimalnu brzinu
promjene ulaznog signala. Neka je na pretvornik u stanju mjeriti napone od 0 do 10 V.
Kako imamo 10 bitova, napon jednog bita je:

V 0.009775
1 2
10
10

=
b
u

i brojilo "aurira" svoje stanje 5.26M puta u sekundi. To znai da se i ulazni napon
smije promijeniti za maksimalno u
b
svakih 1/5.26M sekundi, to daje promjenu napona
od:


s
V
M
u
ul
5 . 51416
26 . 5
1
0.009775
= =

to zapravo i nije tako "spora" promjena napona!

14.7. Zadatak

Objasniti princip rada brzog A/D pretvornika i prikazati jednu od moguih izvedbi. Ako je na
raspolaganju 4-bitni A/D pretvornik sa maksimalnim ulaznim naponom od 15 V, a na ulazu je
napon od 10.2 V, prikazati tijek pretvorbe ovog napona i rezultat.


Brzi A/D pretvornik poznatiji pod nazivom A/D pretvornik sa sukcesivnom
aproksimacijom modifikacija je klasinih A/D pretvornika s brojilom. Razlika je u tome
to brojilo ne broji po jedan, ve se ispituje utjecaj svakog bita na rezultat, poev od bita
najvee teine. Objasnimo to na primjeru. 4-bitni pretvornik kod kojega je maksimalni
ulazni napon jednak 15 V ima napon najmanjeg bita jednak:

V u
b
1
15
15
1 2
15
4
= =

=

Rezultat pretvorbe je 4-bitni broj koji je manji ili jednak mjerenome ulaznom naponu.
Zapiimo taj broj binarno: b
3
b
2
b
1
b
0
. Kod brzog A/D pretvornika postupak pretvorbe
napona je sljedei:

A/D i D/A konverzija. 317

b=1000
u
d
(b)>u
ul
?
poniti zadnji
podignuti bit
b=1000
b=1100
u
d
(b)>u
ul
?
NE
8<10.2!
DA
12>10.2!
b=1010
u
d
(b)>u
ul
?
b=1011
u
d
(b)>u
ul
?
NE
10<10.2!
poniti zadnji
podignuti bit
b=1010
b=1010
gotovo


Vidimo, zapravo, da se kod svakog bita (odnosno bistabila koji pohranjuje taj bit)
obavljaju sljedee tri operacije:
1) Postavi bistabil u 1
2) Ako je izlazni napon
preveliki, vrati bistabil u 0
3) Prijei na sljedei
bistabil, ako postoji


Na ovaj nain postupak pretvorbe zavrava nakon onoliko koraka koliko ima bistabila,
dok je kod klasinih pretvornika s brojilima postupak u najgorem sluaju zavravao
nakon ak 2
n
-1 koraka.

Jedna mogua principijelna implementacija ovakvog pretvornika prikazana je na
sljedeoj slici.

318 Zbirka rijeenih zadataka

S R
Q Q
d
C
S R
Q Q
d
C
S R
Q Q
d
C
S R
Q Q
d
C
D/A pretvornik
o
0
o
1
o
2
o
3
i
a
0
a
1
a
0
a
1
o
0
o
1
o
2
o
3
i
n
1
n
0
CP
+ -
K
u
ul
&
A
B
C
CE
&
Clear
1
Start
CP CP
B
3
B
2
B
1
B
0


Sklop se sastoji od sljedeih dijelova: D/A pretvornik, 4 SR bistabila s asinkronim
ulazom za brisanje koji pohranjuju vrijednost broja koji odgovara ulaznom naponu,
dvobitno brojilo koje odreuje koji e se bit ispitivati, dva demultipleksora koji signale
postavljanja i brisanja usmjeravaju na bistabil indeksiran dvobitnim brojilom,
Jonhnsonovog brojila s izlazima A, B i C (koje je izvedeno tako da se osigura siguran
start) i neto dodatne logike koja zaustavlja konverziju. Sklop radi na sljedei nain.
Neka je stanje brojila n
1
n
0
=11 (odnosno 3), ime je odabran zadnji bistabil (koji uva bit
najmanje teine), i neka je na B izlazu 1. Tada NI sklop na ulazu ima sve-jedan stanje,
pa je izlaz NI sklopa 0. Ako je na Start ulazu takoer 0, na CE (Clock Enable) se dovodi
0 pa Johnsonovo brojilo ostaje u stanju 010 i sklop miruje. Ovo je stanje kada
konverzija jo nije zapoela. Sada se svi bistabili mogu ponititi djelovanjem na
asinkroni ulaz Clear'.

Neka sada Start ode kratkotrajno u 1. Nailaskom CPa Johnsonovo brojilo prelazi u
stanje 001, ime se na izlazu C dobije visoka razina. Na taj rastui brid reagira dvobitno
brojilo i prelazi u stanje 00, ime se odabire bistabil B
3
. Kako je sada vie dvobitno
brojilo nije u stanju 11
(2)
, NI sklop na izlazu daje 1, i ulaz CE dovodi se 1 zbog NI
sklopa pa Start moe prestati djelovati. Na sljedei CP Johnsonovo brojilo prelazi u
stanje 100, ime se na izlazu A generira 1. Ta jedinica vodi se preko demultipleksora na
ulaz S bistabila B
3
i uzrokuje njegovo postavljanje. Time smo na ulaze D/A doveli broj
8, pa na izlazu u
d
imamo 8 V. Kako je 8<10.2, na izlazu komparatora imamo logiku 0.
Na sljedei CP Johnsonovo brojilo prelazi u stanje 010, ime se na B pojavljuje 1. Time
nestaje 1 sa ulaza S bistabila B
3
, i dolazi izlaz komparatora na ulaz R. Kako je on 0,
bistabil se ne resetira. Na sljedei CP Johnsonovo brojilo prelazi u stanje 001 (1 na
izlazu C). Rastui brid koji se time dobije okida dvobitno brojilo i ono prelazi u stanje
01, ime se selektira bistabil B
2
. Sljedei CP Johnsonovo brojilo prebacuje u stanje 100,
i uzrokuje postavljanje B
2
. No kako je sada na ulazu D/A broj 12 (1100), u
d
je vei od
10.2 V i na izlazu komparatora dobije se 1. Na sljedei CP Johnsonovo brojilo
prebacuje u stanje 010, i uzrokuje reset B
2
(na ulaz R dovodi se jedinica iz komparatora
koja resetira bistabil). Na sljedei CP Johnsonovo brojilo prelazi u stanje 001 (1 na
izlazu C). Rastui brid koji se time dobije okida dvobitno brojilo i ono prelazi u stanje
A/D i D/A konverzija. 319

10, ime se selektira bistabil B
1
. Sljedei CP Johnsonovo brojilo prebacuje u stanje 100,
i uzrokuje postavljanje B
1
. Na izlazu D/A time se dobije napon 10 V koji je manji od
10.2 V pa je izlaz komparatora 0. Na sljedei CP Johnsonovo brojilo prebacuje u stanje
010, no kako se na ulaz R od B
1
dovodi 0, nita se ne dogaa. Sljedei CP Johnsonovo
brojilo prebacuje u stanje 001 (1 na izlazu C). Rastui brid koji se time dobije okida
dvobitno brojilo i ono prelazi u stanje 11, ime se selektira bistabil B
0
. Sljedei CP
Johnsonovo brojilo prebacuje u stanje 100, i uzrokuje postavljanje B
0
. Na izlazu D/A
time se dobije napon 11.2 V koji je vei od 10.2 V pa je izlaz komparatora 1. Na
sljedei CP Johnsonovo brojilo prebacuje u stanje 010, a kako se time na ulaz R od B
0

dovodi 1, B
0
se resetira. Istodobno na ovo stanje reagira i NI sklop (dvobitno brojilo je u
stanju 11, i B=1) i na izlazu daje 0 ime se na CE dovodi 0 (jer je po pretpostavci Start
odavno zavrio). Ovime se blokira daljnje odbrojavanje Johnsonovog brojila, i postupak
konverzije je gotov.

14.8. Pismeni ispit, 10. 10. 2003, 6. zadatak

Zadan je sklop prema slici. Poznato je:
R=2k, R
f
=1,12k. Napon napajanja kao i
izlazi digitalnih sklopova u visokoj razini
iznose 5V. Napon niske razine iznosi 0V.
Nacrtati dijagram izlaznog napona u ovisnosti
o signalu takta kroz 16 perioda. Pretpostaviti
da se svi bistabili u digitalnim sklopovima
ukljuenjem napona resetiraju, te da se napon
na izlazu operacijskog pojaala moe
mijenjati beskonano brzo.






Da bismo rjeili ovaj zadatak, moramo najprije analizirati rad sekvencijskog dijela
sklopa. Jedini sekvencijski dio ini posmani registar s 3 izlaza, to znai da emo imati
maksimalno 8 stanja sustava. Proglasimo izlaz A izlaz najvie teine. Potrebno je
napraviti tablicu prijelaza stanja. Tablicu emo odmah proiriti svim potrebnim ulazima,
kao i binarnim brojem koji se dovodi na ulaz D/A pretvornika. Tu je potrebno uoiti da
se kao najvii bit broja za D/A pretvorbu (koji se dovodi na otpor R) dovodi bit
najmanje teine iz posmanog registra (uz prethodni dogovor da je izlaz A najvie
teine). Tada je tablica prikazana u nastavku:

8R
4R
2R
R
+
-
= A
U
izl
R
f
A B
S
in
C
a
0
a
1
i
0
i
1
i
2
i
3
y
MUX
+U
CC
CP
320 Zbirka rijeenih zadataka

Trenutno
stanje
Ulazi mux-a Izlaz Sljedee stanje Broj za D/A Br.
A B C i
1
/i
2
a
1
a
0
y A B C n
3
n
2
n
1
n
0
n
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
0 0 1 0 0 0 1 1 0 0 1 0 0 0 8
0 1 0 1 0 1 1 1 0 1 0 1 1 0 6
0 1 1 0 0 1 0 0 0 1 1 1 1 0 14
1 0 0 1 1 0 1 1 1 0 0 0 0 1 1
1 0 1 0 1 0 0 0 1 0 1 0 0 1 9
1 1 0 1 1 1 0 0 1 1 0 1 1 1 7
1 1 1 0 1 1 0 0 1 1 1 1 1 1 15

Prikaimo i dijagram promjene stanja:

0
4
6
3
7
1
2
5


Iz dijagrama je vidljivo da sklop nema siguran start, niti je otporan na pogreke u radu.
Naime, ukoliko se po ukljuenju sklop nae u stanju 2 ili u stanju 5, nikada nee izai iz
ciklusa (2,5). Isto tako, ukoliko tijekom rada pod utjecajem pogreke sklop pree u
stanje 2 ili 5, ostati e zaglavljen u ciklusu (2,5).

Po pretpostavci zadatka, sklop se po ukljuenju nalazi u stanju 0, pa je dijagram
izlaznog napona prikazan u nastavku. Izlazni napon kod zadanog D/A pretvornika
rauna se po formuli:

n n
R
U
R U
REF
f izl
= = 35 . 0
8

A/D i D/A konverzija. 321



2
4
6
8
10
12
14
16
2 3 1 4 5 6 7 8 9 10 11 12 13 14 15 16 0
n
35 . 0
izl
U





2
4
6
8
10
12
14
16
2 3 1 4 5 6 7 8 9 10 11 12 13 14 15 16 0
n
35 . 0
izl
U




ZADACI ZA VJEBU

1. Konstruirati D/A pretvornik po uzoru na zadatak 14.4 koji na ulaz dobiva
troznamenkasti heksadekadski broj. Ako je najmanji otpor kod teinskog pretvornika
(jedna znamenka) jednak 1 k, a izlazni napon koji odgovara broju 1E7
(16)
na ulazu
pretvornika iznosi -0,5946V, izraunati sve ostale otpore, kao i maksimalnu amplitudu
izlaznog napona pretvornika. U
REF
iznosi +5V. Napomena: omjer najmanjeg i najveeg
otpora kod teinskog dijela pretvornika ne smije biti vei od 8.
2. Neki analogni signal potrebno je konvertirati u ekvivalentnu digitalnu vrijednost
koristei A/D konvertor sa sukcesivnom aproksimacijom. Oekivana vrijednost ulaznog
napona je u granicama 0V do 10V. Ako razlika izmeu oitanja i stvarne vrijednosti
nikada ne smije prijei 0.5% maksimalne analogne vrijednosti, koliko bitova treba
upotrijebiti? Grafiki prikazati vrijednost apsolutne i relativne pogreke navedenog A/D
322 Zbirka rijeenih zadataka

konvertora za digitalne izlaze u rasponu od 20 do 40. Vrijednost relativne pogreke
raunati uz pomo izraza:
Rel_err = (ispravna_vrijednost - oitana_vrijednost) / ispravna_vrijednost * 100 [%].
Prikaite postupak pretvorbe ulaznog napona od 5,17734 V. Koliko iznose apsolutna i
relativna pogreka pretvorbe za taj sluaj?


Integrirani logiki sklopovi. 323


15. Integrirani logiki sklopovi.

15.1. Zadatak

Nacrtati osnovni sklop porodice RTL. Koju funkciju obavlja taj sklop i kako se ona ostvaruje?
Poznati su sljedei podaci: napon napajanja U
CC
=6 V, tranzistori su silicijski s minimalnim
faktorom istosmjernog strujnog pojaanja h
FE
=25 (reverzna struja zasienja I
CB0
moe se
zanemariti), U
CEzas
=0.3 V, kolektorski otpor iznosi R
C
=1 k a bazni otpori iznose R
B
=10 k.
Odredite:

a) Faktor grananja n
b) Faktor grananja n, uz tolerancije otpora 20%


Osnovni sklop porodice RTL (Resistor-Transistor Logic) je NILI sklop, koji se temelji
na paralelnom radu tranzistora, i prikazan je na sljedeoj slici:

+U
CC
R
B
R
B
R
C
B A f + =
A B


a) Faktor grananja bez tolerancija otpora

Da bismo mogli odrediti faktor grananja, moramo pretpostaviti da se na izlaze ovoga
sklopa spajaju ulazi identinog sklopa, kao to je prikazano na sljedeoj slici.
Promotrimo rad lijevog sklopa.

Kada je na barem jednom od ulaza (A ili B) visoka razina, tada e taj tranzistor (ili oba
ako su oba ulaza na visokoj razini) provesti, i izlaz f bit e pritegnut na nisku razinu. No
kada je izlaz f na niskoj razini, tada tranzistor idueg stupnja ija je baza spojena na taj
izlaz nee voditi, i taj stupanj nee optereivati dodatnom strujom tranzistor u prvom
sklopu koji je proveo. Iz ovoga slijedi da nema nikakvih ogranienja na broj sklopova
koji se mogu spojiti na izlaz. Promotrimo sada i preostali sluaj.

Kada je na oba ulaza (A i B) niska razina, tada niti jedan tranzistor ne vodi, te je izlaz f
sklopa spojen na visoku naponsku razinu. Visoka razina na izlazu f znai da e
324 Zbirka rijeenih zadataka

tranzistori sljedeeg stupnja iji su ulazi spojeni na taj izlaz provesti. Struja koja e
potei iz promatranog sklopa tada se dijeli za struje baza svih tranzistora.

+U
CC
R
B
R
B
R
C
A B
+U
CC
R
B
R
B
R
C
' A ' B
f


Treba uoiti da struja u tom sluaju tee iz U
CC
kroz R
C
na izlaz f, i dalje se dijeli kroz
sve tranzistore sklopova sljedeeg stupnja spojene na taj izlaz. to je ta struja vea, vei
je pad napona na R
C
, i napon izlaza f pada. Ukoliko je previe sklopova spojeno na taj
izlaz, napon na f e previe pasti, i struja vie nee biti dovoljna za dranje svih
tranzistora u zasienju, ime se dobiva neispravan rad. Vidimo dakle da ovaj sluaj
postavlja ogranienje na broj ulaza koje spajamo na promatrani izlaz.

Sklop u ovom sluaju izgleda kako je prikazano na sljedeoj slici.

Kako tranzistori u sljedeem stupnju vode (jer je f=1), njihova maksimalna struja
kolektora odreena je s:

mA
R
U U
I
C
CEzas CC
Czas
7 . 5 =

=

Izraz je dobiven uz pretpostavku da vodi samo jedan od tranzistora u sklopu (jer bi se u
suprotnom sluaju struja dijelila na pola kroz svaki tranzistor).

Struja baze potrebna za odravanje izraunate kolektorske struje odreena je uvjetom
zasienja:

A
m
h
I
I
h
I
I
FE
Czas
Bzas
FE
Czas
Bzas
228
25
7 . 5
= = =

Integrirani logiki sklopovi. 325

+U
CC
R
B
R
B
R
C
A B
+U
CC
R
B
R
B
R
C
' A
' B
f
+U
CC
R
B
R
B
R
C
' ' A ' ' B
n
I
B
I
B
I n ) 1 (
C
I
C
I


Nadomjesna shema:

+U
CC
R
C
+U
BEzas
R
B
+U
BEzas
R
B
n
I
f
U


Napon U moemo izraunati prema Milmannu:

B C
B
BEzas
C
CC
B B C
B
BEzas
B
BEzas
C
CC
R
n
R
R
U
n
R
U
R R R
R
U
R
U
R
U
U
+
+
=
+ + +
+ + +
=
1 1 1 1
"
"


326 Zbirka rijeenih zadataka

Struja I
B
tada je:

C B
BEzas CC
C
B
C
BEzas
C
CC
B
BEzas
B C
B
BEzas
C
CC
B
BEzas
B
nR R
U U
n
R
R
R
U
R
U
R
U
R
n
R
R
U
n
R
U
R
U U
I
+

=
+

+
+
=

=
1

25 . 13 =

=
C B
B B BEzas CC
R I
R I U U
n
Slijedi da je maksimalni broj ulaza koji se smije prikljuiti na izlaz f jednak 13.

b) Faktor grananja uz tolerancija otpora

Odredimo ponovno maksimalnu struju kolektora tranzistora sljedeeg stupnja:

( )
mA
R
U U
R
U U
I
C
CEzas CC
C
CEzas CC
Czas
125 . 7
2 . 0 1
=

=
Struja baze potrebna za odravanje izraunate kolektorske struje odreena je uvjetom
zasienja:

A
m
h
I
I
h
I
I
FE
Czas
Bzas
FE
Czas
Bzas
285
25
125 . 7
= = =

Nadomjesna shema ista je kao i prije. Razlika je samo u tome to svi otpori imaju svoje
tolerancije, pa treba odrediti kada e nastupiti najgori sluaj. To e biti kada jedan otpor
baze bude najvei, a svi ostali otpori baza najmanji, jer e tada kroz najvei otpor tei
najmanja struja (koja moda nee biti dovoljna da tranzistor odrava u zasienju).
Moemo pisati:

( )
B B C
B
BEzas
B
BEzas
C
CC
B B B C
B
BEzas
B
BEzas
B
BEzas
C
CC
R
n
R R
R
U
n
R
U
R
U
R R R R
R
U
R
U
R
U
R
U
U
1 1 1
1
1 1 1 1
+ +
+ +
=
+ + + +
+ + + +
=
"
"


Struja baze tranzistora koji ima najvei bazni otpor tada je:

Integrirani logiki sklopovi. 327

( )
B
B
C C B
BEzas CC
B
B
C
B
C
BEzas
C
CC
B
BEzas
B B C
B
BEzas
B
BEzas
C
CC
B
BEzas
B
R
R
R n R R
U U
R
R
n
R
R
R
U
R
U
R
U
R
n
R R
R
U
n
R
U
R
U
R
U U
I
) 1 (
) 1 ( 1
1 1 1
1
+ +

=
+ +

+ +
+ +
=

=

pa je n odreen izrazom:

( )
998 . 2 =
+
=
B
B
C B
C B B BEzas CC
R
R
R I
R R I U U
n

Dakle, faktor grananja u ovom sluaju iznosi svega 2.

15.2. Zadatak

Nacrtati DTL sklop u diskretnoj izvedbi. Koju funkciju obavlja sklop? Neka je k takvih
sklopova s otvorenim kolektorom spojeno u spojeni I, i neka je na taj izlaz spojeno n ulaza
istih sklopova. Poznati su sljedei podaci: napon napajanja U
CC
=5V, ulazna struja DTL sklopa
I
IL
= 0.5 mA, struja baze izlaznog tranzistora iznosi I
Bzas
= 0.1 mA. Minimalni faktor
istosmjernog pojaanja tranzistora je h
FE
= 40. Odrediti izraz za minimalni iznos vanjskog
otpora da bi sklop radio ispravno. Koliko iznosi taj otpor za sluaj k=6, n=4?


Shema DTL sklopa u diskretnoj izvedbi za dva karakteristina sluaja:

R
C
R
1
R
2
R
3
-U
BB
+U
CC
IL
I
A=N
B=V
f=V

Struja tee iz ulaza sklopa prema van.
R
C
R
1
R
2
R
3
-U
BB
+U
CC
Bzas
I
A=V
B=V
f=N

Nema struje prema van iz ulaza sklopa.

Sklop obavlja logiku funkciju NI.

328 Zbirka rijeenih zadataka

U sluaju da su zadani sklopovi s otvorenim kolektorom spojeni kako je opisano, shema
je:

R
sklop k
sklop 2
sklop 1
R
C
R
1
R
2
R
3
-U
BB
+U
CC
IL
I
f=V
R
C
R
1
R
2
R
3
-U
BB
+U
CC
IL
I
f=V
+U
CC
k n

Ako su svi izlazni tranzistori zatvoreni, tada kroz R ne tee struja. Ako neki od izlaznih
tranzistora vodi, tada mu je struja baze I
B
= 0.1 mA, pa je maksimalna struja kolektora
izlaznog tranzistora jednaka:

mA m I h I
B FE C
4 1 . 0 40
max
= = =

Kada nastupa najgori sluaj? Ako vie tranzistora vodi, tada e se struja koja dolazi iz
ulaza sljedeeg stupnja, kao i kroz otpor R dijeliti kroz te tranzistore. Najgori sluaj je
ako samo jedan izlazni tranzistor vodi, jer e tada on sam morati provesti svu struju i
ostati u zasienju (a struja baze mu je ograniena). U tom sluaju vrijedi:

IL
CEzas CC
C
I n
R
U U
I +

=

Odavde moemo izraunati R:

IL C
CEzas CC
I n I
U U
R

=
max
min


Za sluaj k=6, n=4 imamo:
Integrirani logiki sklopovi. 329


=

= k
m m
R 35 . 2
5 . 0 4 4
3 . 0 5
min


Ujedno vidimo i da broj izlaza koji je spojen zajedno ne utjee na iznos otpora R.

15.3. Zadatak

Za TTL sklopove poznati su sljedei podaci: I
OL
=16mA, I
OH
=250A, I
IL
=1.6mA, I
IH
=40A,
U
OHmin
=2.4V, U
OLmax
=0.4V. Treba odrediti izraz za iznos vanjskog otpora R tako da se k
izlaza sklopova s otvorenim kolektorom moe spojiti u spojeni I, i zatim na tu toku
prikljuiti n ulaza. Odrediti iznos R za sluaj k = 5, n = 4.


Uvijek moramo analizirati najnepovoljnije sluajeve. Neka je spojeni I na visokoj
razini. Kako su kod spojenog I sklopovi spojeni u paralelu, napon u toj toki bit e
odreen najmanjim naponom koji dri neki izlaz.

Tada u izlaze sklopova u najgorem sluaju ulazi struja I
OH
, a u ulaze sklopova struja I
IH
.
Otpor R mora biti takav da propusti potrebnu struju, pa je njegov maksimalni iznos
jednak:

IH OH
OH CC
I n I k
U U
R
+

=
min


&
&
&
&
&
&
+U
CC
R
I


Promotrimo sada sluaj kad je spojeni I na niskoj razini. Tada e maksimalni napon
spojenog I biti upravo U
OLmax
. Tada e sva struja ulaziti u izlaze izlaznih sklopova, pa
najgori sluaj nastupa kada je samo jedan sklop stvarno u niskoj razini, jer e on tada
morati progutati svu struju:

330 Zbirka rijeenih zadataka

&
&
&
&
+U
CC
R
I


U izlaz tog jednog sklopa tada ulazi struja:

IL
OL CC
I n
R
U U
I +

=
max *


Kako izlazni sklop moe maksimalno progutati struju I
OL
, struja I* ograniena je ovom
strujom, pa je minimalni otpor R koji je potreban kako bi struja ostala u dozvoljenim
granicama jednak:
IL OL
OL CC
I n I
U U
R

=
max


Zato je R odreen razlikom
max OL CC
U U a ne gledamo
najnepovoljniji sluaj koji bi generirao najveu struju (pa bi
brojnik trebao biti maksimalan, dakle
CC
U )? Radi se o tome da
je tranzistor aktivan element pa kod njega ne moemo samo
tako izlazni napon uzeti kako elimo i pri tome drati struju po
volji veliku. Pogledajmo jednostavan sklop od jednog
tranzistora i jednog otpornika uz konstantnu baznu struju. Kako
se mijenja izlazni napon (
CE
U ) u ovisnosti o otporu R?
Neka je iznos otpora R jednak 0. Tada je sav napon
CC
U na kolektoru tranzistora, pa
vrijedi
CC CE
U U = . Kolika je tada struja kolektora? Kako je tranzistor u NAPu
(normalnom aktivnom podruju) struja kolektora odreena je strujom baze i za faktor
istosmjernog pojaanja vea od bazne struje, pa iznosi (u naem sluaju kod TTL
sklopa) upravo
OL
I , kao to je prikazano na slici.

konst I
B
=
+U
CC
CE
U
R
Integrirani logiki sklopovi. 331

] [V U
CE
0.1V
0.4V
0
NAP!
OL B FE C
I I h I = =
CC
U
0 > R
R I U U
C CC CE
=
OL B FE C
I I h I =
CEzas CE
U U =
Zasienje
] [ R


Porastom vrijednosti otpora raste pad napona na njemu i smanjuje se napon
CE
U .
Meutim, treba uoiti da je struja kolektora i dalje konstantna i odreena izrazom
OL B FE C
I I h I = = . Meutim, do kada moemo poveavati R? Ako bi R postao jako
veliki, tada bi se prema jednadbi R I U U
C CC CE
= moglo dogoditi da umnoak
kolektorske struje i otpora bude vei od
CC
U , pa bi
CE
U postao negativan. Meutim, to
se fizikalno ne moe dogoditi, jer kako napon
CE
U pada prema nuli, tranzistor polako
ulazi u zasienje, i napon
CE
U nee ii do nule, ve e u dubokom zasienju biti oko
0.1V. No kako jednadba izlaznog kruga i dalje mora vrijediti ( R I U U
C CC CE
= ), to
e sada struja kolektora poeti padati, pa e vrijediti
OL B FE C
I I h I = . Kako u naem
sluaju traimo minimalni iznos otpora, promatrajmo sada proces naopake. Uz jako
velike otpore nema problema. Smanjivanjem otpora polako izlazimo iz zasienja i
napon
CE
U poinje rasti. U naem sluaju dozvoljeno je da izlazni napon poraste do
maksimalno U
OLmax
=0.4V, i u toj toki treba izraunati vrijednost otpora.

Za konkretni sluaj k = 5, n = 4 slijedi:

=
+

= k
I n I k
U U
R
IH OH
OH CC
84 . 1
min


=

= k
I n I
U U
R
IL OL
OL CC
479 . 0
max


pa moemo uzeti npr. otpor od 1k.
332 Zbirka rijeenih zadataka


15.4. Zadatak

Nacrtati standardni TTL. Koju funkciju ostvaruje sklop? Koji su dijelovi sklopa? Analizirati
rad sklopa (bez optereenja i sa optereenjem identinim sklopovima). Analizirati spojeni I
izveden ovim sklopovima.


Standardni TTL sklop prikazan je na slici.

+U
CC
R
2
Tr
2
A
B
Tr
1
V 5
Tr
3
AB f = D
R
4
130
R
3
R
1
k 4
k 62 . 1
k 1
Tr
4


Sklop ostvaruje funkciju NI. Sastoji se od tri dijela: ulaznog I sklopa, meustupnja
(obrta faze) i izlaznog stupnja ("totemski stup"). Ulazne diode slue za uklanjanje
negativnih napona nastalih uslijed refleksija u sustavu.

Promotrimo sluaj kada su oba ulaza na visokoj naponskoj razini. Tr
1
se tada nalazi u
inverznom podruju, a Tr
2
i Tr
3
u zasienju. Oekujemo da e Tr
4
biti u zapiranju.
V U U U
CEzas BEzas B
95 . 0 2 . 0 75 . 0
2 3 4
= + = + =
V U U
CEzas C
2 . 0
3 3
= =
Da bi tranzistor Tr
4
vodio (ili barem doao do ruba voenja), U
BE4
mora biti barem
U

=0.65V, isto kao i U


D
. Slijedi da bi U
B4
-U
C3
moralo biti vee ili jednako od
U

+U

=1.3V. No upravo smo pokazali da je U


B4
-U
C3
=0.95-0.2=0.75V to je manje od
potrebnih 1.3V, pa zakljuujemo da je Tr
4
stvarno u zapiranju. to bi bilo da nema
diode D? Tada bi napon U
B4
-U
C3
=0.75V bio vei od napona U

i tranzistor Tr
4
takoer
bi vodio! Dakle, dioda D potrebna je zato da dri tranzistor Tr
4
iskljuenim.

Pogledajmo sada to se dogaa ako je barem jedan od ulaza spojen na nisku naponsku
razinu (npr. A). Kako identian sklop pobuuje ulaz sklopa, niskom ulaznom naponu
odgovara napon U
CEzas3
=0.2V. Tada je tranzistor Tr
1
duboko u zasienju (napon
U
CEzas1
=0.1V), pa je napon U
B2
jednak:

V U U U u U U
CEzas CEzas CEzas ul C B
3 . 0 1 . 0 2 . 0
1 3 1 1 2
= + = + = + = =

Da bi Tr
2
doao na rub voenja, mora i Tr
3
biti na rubu voenja, pa bi napon baze
tranzistora Tr2 trebao biti barem U

+U

=1.3V. No upravo smo izraunali da je taj napon


Integrirani logiki sklopovi. 333

svega 0.3V to nije dovoljno da provede serija tranzistora Tr
2
i Tr
3
, pa su oni sigurno u
zapiranju.

Pretpostavimo sada da izlaz sklopa nije optereen. Tada je struja baze I
B4
= 0, nema
pada napona na otporu R
2
te je U
B4
=U
CC
. Bitno je uoiti da zbog nepostojanja
optereenja izlaza izlazna je struja jednaka 0, pa Tr4 nije u zasienju (unato visokom
naponu baze) ve je na rubu zapiranja i aktivnog podruja. Tada je U
BE4
isto kao i U
D

jednako U

. Izlazni napon tada je:



V U U U U U U U U
CC D BE B CE izl
7 . 3 65 . 0 65 . 0 5
4 4 3
= = = = =



Sada je oito da je izlazni napon ak i bez optereenja izlaza manji od U
CC
.

Ako izlaz sklopa opteretimo sa n ulaza (pretpostavimo da je I
IH
=100A, i neka bude
n=10, a h
FE
barem 50), tada tranzistor Tr
4
vie nee biti na rubu aktivnog podruja i
zapiranja, ve e ui u aktivno podruje (naime, sada e moi potei struja baze i
kolektora Tr
4
). Struja I
B4
na otporu R
2
stvarati e pad napona i umanjiti napon baze Tr
4

(ali neznatno):

2 4 4
R I U U
B CC B
=

Izlazna struja biti e jednaka:

mA I n I
IH izl
1 100 10 = = =

Kako je to ujedno i emiterska struja Tr
4
, bazna struja bit e h
FE
puta manja, pa vrijedi:

V mV k
m
R
h
I
U R I U U
FE
izl
CC B CC B
9676 . 4 4 . 32 5 62 . 1
50
1
5
2 2 4 4
= = == = =

Tada je izlazni napon:

V U U U U
D zas BE B izl
5676 . 3 7 . 0 7 . 0 9676 . 4
4 4
= = =

Vidimo dakle da izlazni napon vrlo malo ovisi o optereenju izlaza (naime, u primjeru
smo izlaz opteretili s ak 10 ulaza!).

Kada sklop prelazi iz stanja u kojem je izlaz nizak, u stanje u kojem je izlaz visok,
postoji kratkotrajna pojava zbog injenice da se tranzistor Tr
4
prije ukljui no to se Tr
3

iskljui. Zbog toga jedno kratko vrijeme (cca 2 ns) tee struja:

mA
R
U U U UCC
I
zas CE D tas CE
5 . 28
130
3 . 0 7 . 0 3 . 0 5
4
3 4
=

=

=

Analiza spojenog I

Neka jedan sklop na izlazu daje visoku naponsku razinu (lijevi sklop), a drugi nisku
(desni).
334 Zbirka rijeenih zadataka


+U
CC
R
2
Tr
2
A
B
Tr
1
V 5
Tr
3
D
R
4
130
R
3
R
1
k 4
k 62 . 1
k 1
Tr
4
V 5
R
4
130
Tr
3


Lijevi Tr3 biti e u zapiranju, no desni e voditi i zatvoriti e se strujni krug UCC R4
Tr4 D Tr3 masa. Struja koja e potei:

mA
R
U U U U
I
zas CE D zas CE CC
30
130
9 . 3
130
2 . 0 7 . 0 2 . 0 5
4
3 4
= =

=

=
Struja od 30 mA u relativno bi kratkom periodu uzrokovala termiko unitenje
tranzistora, pa se zbog toga spojeni I ne smije izvoditi s standardnim TTL sklopom!

15.5. Zadatak

Nacrtati prijenosnu karakteristiku standardnog TTLa.


Promatramo NI sklop u funkciji invertora.

Kada je U
ul
=0V:

V U U u U U
CEzas CEzas ul C B
1 . 0
1 1 1 2
= = + = =

Da bi Tr
2
doao na rub voenja, mora i Tr
3
biti na rubu voenja, pa bi napon baze
tranzistora Tr2 trebao biti barem U

+U

=1.3V. No upravo smo izraunali da je taj napon


svega 0.3V to nije dovoljno da provede serija tranzistora Tr
2
i Tr
3
, pa su oni sigurno u
zapiranju.

Pretpostavimo sada da izlaz sklopa nije optereen. Tada je struja baze I
B4
= 0, nema
pada napona na otporu R
2
te je U
B4
=U
CC
. Bitno je uoiti da zbog nepostojanja
optereenja izlaza izlazna je struja jednaka 0, pa Tr4 nije u zasienju (unato visokom
naponu baze) ve je na rubu zapiranja i aktivnog podruja. Tada je U
BE4
isto kao i U
D

jednako U

. Izlazni napon tada je:



V U U U U U U U U
CC D BE B CE izl
7 . 3 65 . 0 65 . 0 5
4 4 3
= = = = =



Integrirani logiki sklopovi. 335

Porastom ulaznog napona prva se promjena dogaa kada Tr2 poinje voditi (dolazimo
do toke A). Tada na bazi Tr
2
mora biti napon U
B2
jednak U

, pa je na ulazu potreban
napon:

V U U U
CEzas ul
55 . 0 1 . 0 65 . 0
1
= = =



Sve do tog napona izlaz je bio nepromjenjen (3.7V), i napon U
B4
bio je jednak U
CC
.
Kako sada Tr2 poinje voditi, pada napon baze U
B4
, to direktno smanjuje i izlazni
napon (idemo prema toki B). Nova prekretnica dogaa se u trenutku kada i Tr
3
poinje
voditi (toka B). Tada je i njegov U
BE3
jednak U

, to znai da je odgovarajui ulazni


napon bio:

V U U U U U U U
CEzas zas BE CEzas BE zas BE ul
3 . 1 1 . 0 65 . 0 75 . 0
1 2 1 3 2
= + = + = + =



Struja kroz R
3
tada je:

mA
k R
U
R
U
I
BE
R
65 . 0
1
65 . 0
3 3
3
3
= = = =



Otprilike ta ista struja tee i kroz otpor R
2
, pa izlazni napon jednak:
V k m
U U R I U U U U U U
R CC D BE B CE izl
647 . 2 65 . 0 65 . 0 62 . 1 65 . 0 5
2 3 4 4 3
= =
= = =



Napon baze U
B4
iznosi:

V R I U U
R CC B
947 . 3 65 . 0 65 . 0 647 . 2
2 3 4
= + + = =

Daljnjim porastom ulaznog napona raste struja kroz R
2
i rui napon U
B4
; Tr
4
se
iskljuuje, Tr
2
i Tr
3
idu u zasienje (prema toki C). U toki C Tr
4
je iskljuen. Napon
U
CE1
iznosi 0V, pa je ulazni napon kod kojega se ovo dogodi jednak:

V U U U
zas BE zas BE ul
5 . 1 75 . 0 75 . 0
3 2
= + = + =

Izlazni napon tada je:

V U U
CE izl
2 . 0
3
= =

i dalje ostaje nepromijenjen.

336 Zbirka rijeenih zadataka

u
izl
[V]
u
ul
[V]
1
2
3
4
1 2 3 4
0
A
B
C
Tr
4
vodi
Tr
2
, Tr
3
u zapiranju
Tr
2
vodi
Tr
3
ne vodi
Tr
2
u zasienju
Tr
3
vodi (ide u zasienje)
Tr
4
ide u zapiranje
Tr
2
, Tr
3
u zasienju
Tr
4
u zapiranju
0.55
1.3 1.5
3.7
0.2 V
3.7 V
2.647 V



15.6. Zadatak

Prikazati TTL sklop s tri stanja. Prikazati simbol sklopa. Objasniti nain rada.


Sklop s tri stanja prikazan je na slici.

+U
CC
R
2
Tr
2
A
B
Tr
1
V 5
Tr
3
AB f = D
R
4
R
3
R
1
Tr
4
EN
D'


Integrirani logiki sklopovi. 337

Kada je ulaz EN na nuli, sklop se ponaa kao "obini" standardni TTL sklop. Kad je EN
na visokoj razini, tranzistor provede i uzrokuje zatvaranje Tr
2
(to zatvori i Tr
3
) i Tr
4
.
Izlaz f tada je izoliran i od visoke, i od niske razine.

Simbol sklopa je:

&
EN



15.7. Zadatak

Prikazati i objasniti opu strukturu CMOS sklopa. Izvesti sklopove koji ostvaruju:
a) A f =
b) B A f + =
c) AB f =
d) C B A f + =
e) E D C B A f ) ( + + =


Opa struktura CMOS sklopova prikazana je na slici.

Pull Up Network
(PUN)
Pull Down Network
(PDN)
+U
DD
X
1
X
n
f


Sklop se sastoji od dva dijela: mree za pritezanje na +U
DD
(PUN), i mree za pritezanje
na masu (PDN). Ove dvije mree uvijek ostvaruju komplementarne funkcije, tako da ili
PUN pritee izlaz na U
DD
, ili PDN pritee izlaz na masu. U svakom sluaju, nikada obje
mree nisu aktivne (jer su komplementarne), pa nikada ne tee struja iz U
DD
ka masi
kroz njih. Zbog toga ovi sklopovi troe vrlo malo. PUN mrea ostvaruje se PMOS
tranzistorima, a PDN mrea NMOS tranzistorima. Koristiti emo sljedee simbole
NMOSa i PMOSa:

338 Zbirka rijeenih zadataka


NMOS

PMOS

Rad mrea moemo si pojednostavljeno predoiti sljedeim ekvivalentnim shemama:

+U
DD
f=1

Kada f treba biti 1, izlaz se kratko spaja na
napajanje, a otpaja od mase.
+U
DD
f=0

Kada f treba biti 0, izlaz se kratko spaja na
masu, a otpaja od napajanja.

a) Invertor

Funkcija je zadana izrazom A f = . Ovaj izraz odreuje kada je vrijednost funkcije 1,
dakle odreuje PUN mreu. Kako je PUN sastavljen od PMOSa koji vodi kada je na
upravljakom ulazu (G) niska razina, moemo dovesti direktno A(jer tranzistor i treba
provesti kada je A nisko da izlaz spoji na U
DD
).

PDN mora ostvarivati komplement funkcije, dakle: A A f = = . No kako je PDN
sastavljen od NMOSa koji vodi kada mu je na upravljakoj elektrodi visoka razina,
moemo na njegov ulaz dovesti direktno A (jer PDN mora izlaz pritegnuti na masu kada
je A visoko).

Shema sklopa:


+U
DD
A
A f =
Tr
1
Tr
2


Provjerimo da li sklop radi dobro:

Integrirani logiki sklopovi. 339

A Tr
1
Tr
2
f
nisko vodi ne vodi U
DD

visoko ne vodi vodi 0

Interpretacija u pozitivnoj logici:

A A
f
0 1 1
1 0 0

U tablici je napisana oekivana vrijednost funkcije (dakle, komplement) i stvarna
vrijednost funkcije. Vidi se da je dobivena funkcija upravo A .

b) Nili

Funkcija je zadana izrazom B A f + = . Ovaj izraz odreuje kada je vrijednost funkcije
1, dakle odreuje PUN mreu. Kako je PUN sastavljen od PMOSa koji vodi kada je na
upravljakom ulazu (G) niska razina (pomozimo si na sljedei nain: varijabla je u
logikoj nuli onda kada je komplement 1; zato je pogodno funkciju napisati preko
komplemenata varijabli), primjenimo DeMorgana:

B A B A f = + =

Vidimo da je funkcija 1 onda kada je 1 = A I 1 = B . I funkciju ostvariti emo serijskim
povezivanjem tranzistora u PUNu, a na ulaze dvaju tranzistora dovodimo direktno
varijable A i B.

PDN mora ostvarivati komplement
funkcije, dakle:
B A B A f + = + = . Kako je PDN
sastavljen od NMOSa koji vodi
kada mu je na upravljakoj
elektrodi visoka razina, i budui da
imamo funkciju napisanu direktno
preko varijabli (a ne
komplemenata), na ulaze
tranzistora u PDNu dovesti emo
direktno varijable, a tranzistorima
moramo ostvariti ILI funkciju to
emo dobiti paralelnim
povezivanjem tranzistora.

Shema sklopa prikazana je na slici.




Provjerimo da li sklop radi ispravno:
+U
DD
A B
B A f + =
Tr
1
Tr
2
Tr
3 Tr
4
340 Zbirka rijeenih zadataka


A B Tr
1
Tr
2
Tr
3
Tr
4
f
nisko nisko vodi vodi ne vodi ne vodi U
DD

nisko visoko vodi ne vodi ne vodi vodi 0
visoko nisko ne vodi vodi vodi ne vodi 0
visoko visoko ne vodi ne vodi vodi vodi 0

Interpretacija u pozitivnoj logici:

A B
B A +
f
0 0 1 1
0 1 0 0
1 0 0 0
1 1 0 0

Iz tablice se vidi da je dobivena funkcija upravo B A f + = .

c) Ni

Funkcija je zadana izrazom AB f = . Ovaj izraz odreuje kada je vrijednost funkcije 1,
dakle odreuje PUN mreu. Kako je PUN sastavljen od PMOSa koji vodi kada je na
upravljakom ulazu (G) niska razina, primjenimo DeMorgana:

B A AB f + = =

Vidimo da je funkcija 1 onda kada je 1 = A ILI 1 = B . ILI funkciju ostvariti emo
paralelnim povezivanjem tranzistora u PUNu, a na ulaze dvaju tranzistora dovodimo
direktno varijable A i B.

PDN mora ostvarivati komplement funkcije,
dakle: AB AB f = = . Kako je PDN
sastavljen od NMOSa koji vodi kada mu je
na upravljakoj elektrodi visoka razina, i
budui da imamo funkciju napisanu direktno
preko varijabli (a ne komplemenata), na
ulaze tranzistora u PDNu dovesti emo
direktno varijable, a tranzistorima moramo
ostvariti I funkciju to emo dobiti
serijskim povezivanjem tranzistora.

Shema sklopa prikaza je desno.


Provjerimo da li sklop radi ispravno:

+U
DD
AB f =
A
B
Tr
1
Tr
2
Tr
3
Tr
4
Integrirani logiki sklopovi. 341

A B Tr
1
Tr
2
Tr
3
Tr
4
f
nisko nisko vodi vodi ne vodi ne vodi U
DD

nisko visoko vodi ne vodi ne vodi vodi U
DD

visoko nisko ne vodi vodi vodi ne vodi U
DD

visoko visoko ne vodi ne vodi vodi vodi 0


Interpretacija u pozitivnoj logici:

A B
AB
f
0 0 1 1
0 1 1 1
1 0 1 1
1 1 0 0

Iz tablice se vidi da je dobivena funkcija upravo AB f = .

d) C B A f + =

Funkcija je zadana izrazom C B A f + = . Ovaj izraz odreuje kada je vrijednost
funkcije 1, dakle odreuje PUN mreu. Kako je PUN sastavljen od PMOSa koji vodi
kada je na upravljakom ulazu (G)
niska razina, a funkcija je zadana
upravo preko komplemenata, na
upravljake ulaze dovodit emo
direktno varijable. Pri tome moramo
ostvariti funkciju (A' I B') ILI C', to
znai da emo I funkciju ostvariti
serijskim povzivanjem dvaju
tranzistora, a zatim emo ILI ostvariti
paralelnim povezivanjem.

PDN mora ostvarivati komplement
funkcije, dakle:
C B A C B A C B A f + = = + = ) ( .
Kako je PDN sastavljen od NMOSa
koji vodi kada mu je na upravljakoj
elektrodi visoka razina, i budui da
imamo funkciju napisanu direktno
preko varijabli (a ne komplemenata),
na ulaze tranzistora u PDNu dovesti
emo direktno varijable. Tranzistorima
moramo ostvariti I funkciju to emo dobiti serijskim povezivanjem dvaju tranzistora,
a na jedan ulaz dovodimo rezultat ILI operacije ostvarene paralelnim povezivanjem
tranzistora.

Shema sklopa prikazan na prethodnoj stranici.

+U
DD
A
B
C
Tr
1
Tr
2
Tr
3
Tr
4
Tr
5
Tr
6
C B A f + =
342 Zbirka rijeenih zadataka

Provjerimo da li sklop radi ispravno:

A B C Tr
1
Tr
2
Tr
3
Tr
4
Tr
5
Tr
6
f
nisko nisko nisko vodi vodi vodi ne vodi ne vodi ne vodi UDD
nisko nisko visoko vodi vodi ne vodi ne vodi ne vodi vodi UDD
nisko visoko nisko vodi ne vodi vodi vodi ne vodi ne vodi UDD
nisko visoko visoko vodi ne vodi ne vodi vodi ne vodi vodi 0
visoko nisko nisko ne vodi vodi vodi ne vodi vodi ne vodi UDD
visoko nisko visoko ne vodi vodi ne vodi ne vodi vodi vodi 0
visoko visoko nisko ne vodi ne vodi vodi vodi vodi ne vodi UDD
visoko visoko visoko ne vodi ne vodi ne vodi vodi vodi vodi 0

Interpretacija u pozitivnoj logici:

A B C
C B A + f
0 0 0 1 1
0 0 1 1 1
0 1 0 1 1
0 1 1 0 0
1 0 0 1 1
1 0 1 0 0
1 1 0 1 1
1 1 1 0 0

Iz tablice se vidi da je dobivena funkcija upravo C B A f + = .

e) E D C B A f ) ( + + =

Analogno prethodnom zadatku, PUN je odreen direktno izrazom za f (jer su prisutni
samo komplementi varijabli), pa treba PMOS tranzistore povezati tako da se ostvari
funkcija: (A' I B') ILI ((C' ILI D') I E').

PDN odreujemo iz komplementa:

) ( ) ( ) ( E CD B A E D C B A f + + = + + =

Dakle, uporabom NMOS tranzistora trebati e ostvariti funkciju (A ILI B) I ((C I D)
ILI E).

Sklop je prikazan na slici.

Tranzistori Tr1 i Tr2 spojeni su u seriju i ostvaruju (A' I B'). Tranzistori Tr3 i Tr4
spojeni su u paralelu i ostvaruju (C' ILI D'). Paraleli tranzistora Tr3 i Tr4 u seriju je
spojen Tr5 ime se ostvaruje ((C' ILI D') I E'). Konano, serija tranzistora Tr1 i Tr2
spojena je u paralelu s upravo opisanom podmreom ime se ostvaruje (A' I B') ILI ((C'
ILI D') I E').

Na slian nain moe se analizirati i PDN.
Integrirani logiki sklopovi. 343

+U
DD
A
B
C
D
E
E D C B A f ) ( + + =
Tr
1
Tr
2
Tr
3 Tr
4
Tr
5
Tr
6
Tr
7
Tr
8
Tr
9
Tr
10





344 Zbirka rijeenih zadataka

15.8. Zadatak

CMOS tehnologijom ostvarena je funkcija f (vidi sliku). O kojoj se funkciji radi?

A
B
C
D
E F
A B
C D
E
F
+U
DD
f



Direktnim oitanjem PUN-a dolazimo do funkcije sklopa:

( ) ( ) ( )( ) F E D C B A F E D C B A f + + + = + + = .


15.9. Zadatak

Uporabom CMOS tehnologije izvesti sklopove koji ostvaruju funkcije:
a) B A f + =
b) B A f =
c) C B A f + = ) (
d) ) ( ) ( E CD B A f + + =


Zajednika karakteristika svim navedenim funkcijama jest ovisnost o direktnoj
vrijednosti funkcije (a ne o njezinom komplementu). U prethodnom smo zadatku vidjeli
da PUN, koji direktno odreuje kada je izlaz sklopa u 1, ovisi o komplementima
varijable, zbog P-kanalnih tranzistora. Zbog toga se ovakve funkcije realiziraju na
sljedei nain:

1. korak: realizirati komplement zadane funkcije
f g =
Ovime e funkcija g ovisiti samo o komplementima ulaznih varijabli.
2. korak: invertirati izlaz sklopa
Integrirani logiki sklopovi. 345

f f g izlaz = = =

Krenimo redom u rjeavanje zadanih funkcija.

a) Komplement funkcije glasi:

B A f g = =

Rjeenje je prikazano na slici.

A B
B A g =
Tr
1
Tr
2
Tr
3 Tr
4
+U
DD
B A g f + = =
Tr
5
Tr
6
+U
DD


b) Komplement funkcije glasi:

B A f g + = =

Rjeenje je prikazano na slici.

+U
DD
B A g + =
A
B
Tr
1
Tr
2
Tr
3
Tr
4
+U
DD
AB g f = =
Tr
5
Tr
6



346 Zbirka rijeenih zadataka

c) Komplement funkcije glasi: C B A f g + = = . Rjeenje je prikazano na slici.

+U
DD
A
B
C
Tr
1
Tr
2
Tr
3
Tr
4
Tr
5
Tr
6
C B A g + =
+U
DD
C B A g f + = = ) (
Tr
7
Tr
8


d) Komplement funkcije glasi: E D C B A f g + + = = ) ( . Rjeenje je prikazano na
slici.

+U
DD
A
B
C
D
E
E D C B A g + + = ) (
Tr
1
Tr
2
Tr
3 Tr
4
Tr
5
Tr
6
Tr
7
Tr
8
Tr
9
Tr
10
+U
DD
Tr
11
Tr
12
) ( ) ( E D C B A g f + + = =


Integrirani logiki sklopovi. 347

15.10. Zadatak

Uporabom CMOS tehnologije izvesti sklopove koji ostvaruju funkcije:
a) B A f + =
b) B A f =
c) C B A f + =
d) ) ( ) ( E D C B A f + + =


Kada u funkcijskom izrazu imamo mijeane varijable i komplemente, funkciju emo
ralizirati uz uporabu dodatnih tranzistora koji e ostvarivati invertore. Pri tome emo se
u nastavku razmatranja voditi sljedeim zahtjevom: potrebno je potroiti to manje
tranzistora. Kako bismo to postigli, najprije je potrebno utvrditi to je dominantno u
funkcijskom izrazu varijable ili komplementi. Moemo razluiti etiri (nedisjunktna)
sluaja. Ukoliko su dominantni komplementi, projektiramo sklop direktnim izvoenjem
zadane funkcije, pri emu dodatno generiramo sklopovlje za realizaciju potrebnih
komplemenata varijabli (1. sluaj). Ukoliko su dominantne nekomplementirane
varijable, projektiramo sklop izvoenjem komplementa funkcije nakon ega dodajemo
invertor, te na ulazu generiramo sklopovlje za realizaciju nekomplementiranih ulaza (2.
sluaj). Kao poseban sluaj moemo promotriti izraz kod kojega je broj
komplementiranih varijabli jednak broju nekomplementiranih varijabli (3. sluaj). Tada
se sklop projektira direktnim izvoenjem zadane funkcije (jer se u suprotnom sluaju
troe dva tranzistora vie). Dakle, sluaj 3 rjeava se kao sluaj 1. Takoer specifian
sluaj nastupa kada imamo izraz u kojem je broj nekomplementiranih varijabli za jedan
vei od broja komplementiranih varijabli. Tada se moe izabrati proizvoljan nain
projektiranja sklopa. Neka u tom sluaju funkcija ovisi o 2n+1 varijable, i to n+1
nekomplementiranih i n komplementiranih varijabli. Ovime je nastupio sluaj 2. Krene
li se, zbog toga, realizirati komplement funkcije, trebat e dodati invertor na izlaz, i
napraviti invertore za n komplementiranih ulaznih varijabli, ime je ukupan broj
dodatnih invertora jednak n+1. Ukoliko se ipak odluimo postupiti prema sluaju 1,
potrebno je napraviti invertore za n+1 nekomplementiranu varijablu, ime je broj
dodanih invertora opet jednak n+1.

Krenimo redom u realizaciju zadanih funkcija.

a)

U izrazu imamo jedan komplement (A) i jednu nekomplementiranu varijablu (B).
Nastupio je sluaj 3. Zbog toga emo sve nekomplementirane varijable prevesti u
komplemente (u naem sluaju to je varijabla B), i realizirati ostatak sklopa kao da cijeli
izraz ima samo komplementirane varijable.

Dakle, projektiramo sklop koji obavlja funkciju:

B A f + = '

pri emu na ulaz B dovodimo komplement. Rjeenje je prikazano na slici.
348 Zbirka rijeenih zadataka

+U
DD
B A f + =
A
Tr
1
Tr
2
Tr
3
Tr
4
+U
DD
B
Tr
5
Tr
6
B


b)

U izrazu imamo jedan komplement (B) i jednu nekomplementiranu varijablu (A).
Nastupio je sluaj 3. Zbog toga emo sve nekomplementirane varijable prevesti u
komplemente (u naem sluaju to je varijabla A), i realizirati ostatak sklopa kao da cijeli
izraz ima samo komplementirane varijable.

Dakle, projektiramo sklop koji obavlja funkciju:

B A f = '

pri emu na ulaz A dovodimo komplement. Rjeenje je prikazano na slici.

+U
DD
B
B A f =
Tr
1
Tr
2
Tr
3 Tr
4
+U
DD
Tr
5
Tr
6
A
A

c)

U izrazu imamo dva komplementa (A i B) i jednu nekomplementiranu varijablu (C).
Oito je dominantan komplement, pa je nastupio sluaj 1. Zbog toga emo sve
Integrirani logiki sklopovi. 349

nekomplementirane varijable prevesti u komplemente (u naem sluaju to je varijabla
C), i realizirati ostatak sklopa kao da cijeli izraz ima samo komplementirane varijable.

Dakle, projektiramo sklop koji obavlja funkciju:

C B A f + = '

pri emu na ulaz C dovodimo komplement. Rjeenje je prikazano na slici.

+U
DD
A
B C
Tr
1
Tr
2
Tr
3
Tr
4
Tr
5
Tr
6
C B A f + =
+U
DD
Tr
7
Tr
8
C


d)

U izrazu imamo jedan komplement (A) i etiri nekomplementirane varijable (B, C, D i
E). Oito su dominantne nekomplementirane varijable, pa je nastupio sluaj 2. Zbog
toga emo sve komplementirane varijable prevesti u nekomplementirane (u naem
sluaju to je varijabla A), i realizirati ostatak sklopa kao da cijeli izraz ima samo
nekomplementirane varijable.

Dakle, projektiramo sklop koji obavlja funkciju:

) ( ) ( ' E CD B A f + + =

pri emu na ulaz A dovodimo komplement. Ovakav oblik funkcije rjeava se
realizacijom njezinog komplementa E D C B A f g + + = = ) ( ' ' , i dodatnim
invertorom na izlazu.

Rjeenje je prikazano na slici.

350 Zbirka rijeenih zadataka

+U
DD
A
B
C
D
E
E D C B A g ) ( + + =
Tr
1
Tr
2
Tr
3 Tr
4
Tr
5
Tr
6
Tr
7
Tr
8
Tr
9
Tr
10
Tr
7
Tr
8
+U
DD
A
+U
DD
Tr
1
Tr
2
) ( ) ( E D C B A g f + + = =


15.11. Zadatak

Prikazati "propusna vrata" izvedena u CMOS tehnologiji.


Ovaj sklop uspostavlja elektriku vezu izmeu ulaza A i izlaza B (i to u oba smjera)
ovisno o signalu na upravljakom ulazu EN. Sklop je prikazan na slici. Sklop se sastoji
od dva tranzistora koji su direktno povezani, a na upravljake elektrode se dovode
komplementarni signali. Ponaanje sklopa prikazano je tablici.

EN
EN
EN


EN n-MOS p-MOS izlaz
0 iskljuen iskljuen visoki otpor
1 ukljuen ukljuen "kratki spoj" A i B

Kada su oba tranzistora ukljuena, otpor izmeu toaka A i B iznosi svega nekoliko
stotina , tako da u tom sluaju moemo govoriti o "kratkom spoju".
Integrirani logiki sklopovi. 351


O popularnosti ove strukture dovoljno govori podatak da u seriji 40xx postoji nekoliko
ipova s ovim vratima. ip 4016 sadri 4 propusna vrata, dok ip 4066 sadri vrata
poboljanih karakteristika. ipovi s oznakama 4051, 5052 i 4053 sadre implementacije
multipleksora/demultipleksora uporabom propusnih vrata, i to: 4051 sadri jedan 8/1
multipleksor/demultipleksor, 4052 sadri dva 4/1 multipleksora/demultipleksora a 4053
sadri tri 2/1 multipleksora/demultipleksora. Dobra karakteristika ovih sklopova vidljiva
je iz njihovog opisa: oni mogu biti multipleksori ili demultipleksori, jer propusna vrata
proputaju o oba smjera! To znai da kod npr. multipleksora/demultipleksora 8/1 sklop
moemo koristiti kao multipleksor, pri emu imamo 8 ulaza i 1 izlaz, ili kao
demultipleksor pri emu imamo 1 ulaz i 8 izlaza.

Struktura prikazana na prethodnoj slici gdje se uvodi i odvodi
n- i p-kanalnog MOSFET-a direktno spajaju esto se oznaava
simbolom prikazanim na slici desno. Slovo p pri tome oznaava
upravljaki ulaz (engl. gate) p-kanalnog MOSFET-a, a slovo n
oznaava upravljaki ulaz n-kanalnog MOSFET-a.

15.12. Zadatak

Prikazati multipleksor 2/1 u izveden u CMOS tehnologiji.


Jedna mogua izvedba kojom se moe utediti odreen broj tranzistora prikazana je na
slici:



Za sklop na slici vrijedi:

) , , (
1 0 1 0
S i i MUX i S i S Y = + =

Meutim, multipleksor 2/1 se u CMOS tehnologiji standardno izvodi uporabom
propusnih vrata (a ne realizacijom logikog izraza koji opisuje funkciju multipleksora).
Mogue rjeenje prikazano je na slici.

352 Zbirka rijeenih zadataka

S


Funkcija sklopa opisana je tablicom:

S TG
1
TG
2
Y
0 proputa ne proputa i
0

1 ne proputa proputa i
1


Prikazan sklop ima jednu karakteristiku koja je istovremeno i dobra i loa. Naime,
budui da je sklop ostvaren uporabom propusnih vrata (koja predstavljaju analognu
sklopku, propusnu u oba smjera), sklop se istovremeno moe koristiti i kao multipleksor
(ako su i
0
i i
1
ulazi, a Y izlaz), i kao demultipleksor (ako je Y ulaz a i
0
i i
1
izlazi)!
Meutim, ovakvo ponaanje nije uvijek poeljno, pa se multipleksor esto izvodi
dodavanjem jo triju invertora prethodnom sklopu, kao to je prikazano na slici.

S


Ovaj se sklop moe koristiti samo kao multipleksor.

15.13. Zadatak

Prikazati multipleksor 8/1 izveden u CMOS tehnologiji.


Multipleksor 1 / 2
n
, n>1, se u CMOS tehnologiji ostvaruje izgradnjom
multipleksorskog stabla sa n razina, pri emu se kao temeljni element koristi
multipleksor 2/1 izveden pomou propusnih vrata (vidi prethodni zadatak). Rjeenje je
prikazano na slici.
Integrirani logiki sklopovi. 353



Prilikom realizacije sklopa (uz pretpostavku da se projektira sklop za implementaciju na
ipu) invertori upravljakih signala izbaeni su iz svih sklopova osim jednog u svakoj
razini. Budui da je sklop ostvaren na nain koji osigurava da se na putu izmeu ulaza i
izlaza nalaze samo propusna vrata, ulazi i izlazi su meusobno zamjenjivi, tako da se
sklop moe upotrijebiti i kao demultipleksor.

354 Zbirka rijeenih zadataka

15.14. Zadatak

ip oznake CD40174B proizvoaa Texas Instruments sadri 6 pozitivnim bridom okidanih
D bistabila izveenih CMOS tehnologijom. Bistabili imaju i dodatni ulaz za brisanje. Prouiti
strukturu i nain izvedbe ovih bistabila. Na to se svodi implementacija bridom okidanih D
bistabila u CMOS tehnologiji?


Struktura jednog bistabila preuzeta iz kataloga proizvoaa prikazana je na slici.


1 1
&
&
1
1
1 1
CLR
CLK CL
CL
CL
CL
CL
CL
CL
CL
CL
CL
D
Q


Kako bismo doli do principa izgradnje bistabila, pojednostavnimo shemu tako to
emo eliminirati signal za brisanje. Ovo emo napraviti tako da pretpostavimo da je taj
ulaz stalno spojen na '1'. Kako se ovaj signal vodi iskljuivo do NI logikih sklopova,
pogledajmo u to se oni pretvaraju:

( ) ( ) ( ) X X NI X NI X CLR NI = = , 1 ,

Dakle, svaki NI sklop zapravo se pretvara u invertor. Pojednostavljena shema prikazana
je u nastavku.

Integrirani logiki sklopovi. 355

1 1
1
1
1 1 CLK CL
CL
CL
CL
CL
CL
CL
CL
CL
CL
D Q
1
1


Na slici su odmah i osjenanje dvije interesantne strukture; precrtajmo sliku jo jednom:

1
CL
CL
1
CL
CL
1
1
1
1
D
Q
CL
1 1 CLK CL
CL


356 Zbirka rijeenih zadataka

Uklanjanjem invertora odmah se dolazi do
ve poznatog sklopa D bistabila koji reagira
na pozitivni brid izvedenog pomou dva
multipleksora. Jedan od razloga dodavanja
ovih invertora prilikom izrade bistabila u
CMOS tehnologiji jest injenica da se
multipleksori direktno realiziraju strukturom
prijenosnih vrata, gdje direktno spajanje
izlaza na ulaz vie ne bi funkcioniralo prema
logikoj shemi (jer bismo zapravo kratko
spojili uvod i odvod MOSFET-a). Zbog toga
se dodaju invertori koji osiguravaju elektriko odvajanje izlaza i ulaza multipleksora i
unose kanjenje u povratnu vezu.



15.15. Pismeni ispit, 10. 10. 2003, 10. zadatak

Na raspolaganju su TTL sklopovi podskupine 74N i 74S iji su parametri zadani u tablici.
Sklop iz jedne podskupine pobuuje vie sklopova iz druge podskupine. Koliko se
maksimalno sklopova moe spojiti na izlaz jednog sklopa u oba sluaja?

I
OL
I
IL
I
OH
I
IH

74N 16 mA 1.6 mA 400 A 40 A
74S 8 mA 400 A 400 A 20 A


Analizirajmo oba sluaja. Kada sklop porodice 74N pobuuje vie sklopova porodice
74S, vrijedi:

Izlaz je L:
40
,
,
, ,
=
S IL
N OL
S IL N OL
I
I
n I n I
Izlaz je H:
20
,
,
, ,
=
S IH
N OH
S IH N OH
I
I
n I n I

Kako obje nejednadbe moraju biti zadovoljene, slijedi da je n=20.

Kada sklop porodice 74S pobuuje vie sklopova porodice 74N, vrijedi:

Izlaz je L:
5
,
,
, ,
=
N IL
S OL
N IL S OL
I
I
n I n I
Izlaz je H:
10
,
,
, ,
=
N IH
S OH
N IH S OH
I
I
n I n I

Kako obje nejednadbe moraju biti zadovoljene, slijedi da je n=5.


d
0
d
1
a
y
D
CP
d
0
d
1
a
y Q
Integrirani logiki sklopovi. 357

ZADACI ZA VJEBU

1. U CMOS tehnologiji projektirati sklop ija je funkcija u negativnoj logici zadana
izrazom DE C E A E D C B A f + = ) , , , , ( .
2. Objasnite izvedbu spojenog I kod:
a) Standardnih TTL sklopova
b) TTL sklopova s otvorenim kolektorom
c) CMOS sklopova
Obratite panju na struje i napone koji se pri tome pojavljuju.
3. Prikaite izlazni stupanj standardnog TTL sklopa. Objasnite zato je iznos otpora ba
130 (odnosno, ime je odreena gornja a ime donja granica).
4. U CMOS tehnologiji ostvariti funkciju ( ) ( ) ( ) Y B C X P A P Y X C B A f + + = , , , , , .
5. Objasnite (definirajte) to znae sljedee oznake: I
ILmax
, I
IHmax
, I
OLmax
, I
OHmax
. Ako su ti
podaci poznati za neku porodicu, na koji se nain rauna faktor grananja izlaza (engl.
fan-out) nekog sklopa iz te porodice? Izraunajte to za sluaj 74S porodice, kod koje su
podaci sljedei: I
ILmax
=400A, I
IHmax
=20A, I
OLmax
=8mA, I
OHmax
=400A. Objasnite to
je to faktor grananja na ulazu sklopa (engl. fan-in) i ime je on odreen? Pokaite to na
primjeru NI i NILI sklopova izvedenih u CMOS-u. Koji od ta dva sklopa ima vei
faktor grananja na ulazu i zato? Objasnite (definirajte) to znae sljedee oznake:
U
OHmin
, U
IHmin
, U
ILmax
, U
OLmax
. U kakvom su meusobnom odnosu ti naponi? Definirajte
kako se na temelju tih podataka rauna granica istosmjerne smetnje?
6. Zadan je CMOS invertor. Na izlaz invertora spojen je otpor R
1
iznosa 1k prema
U
DD
=5V, te otpor R
2
iznosa 1k prema masi. Ako su za invertor poznati sljedei
podaci: U
OLmax
= 0.1V, U
ILmax
= 1.5V, U
IHmin
= 3.5V, U
OHmin
= 4.9V, odredite koliko
iznose izlazni naponi za sluaj kada je na izlazu logika 0, odnosno logika jedinica.
Izraunajte koliko iznose struje I
OLmax
i I
OHmax
, uzimajui pri tome u obzir da napon na
izlazu sklopa mora potivati zadane naponske raspone! Pretpostavite da su otpori
iskljuenih tranzistora vei od 100 M, otpor ukljuenog NMOS tranzistora 100, a
otpor ukljuenog PMOS tranzistora 200.
7. TTL sklopom potrebno je pobuivati CMOS sklop. Oba sklopa rade s naponom
napajanja od 5V. Za TTL sklop poznato je U
OLmax
=0.5V, U
OHmin
=2.7V. Za CMOS sklop
poznato je U
ILmax
=1.5V, U
IHmin
=3.5V. Objasnite kako treba izvesti ovo spajanje, i zato.
8. TTL sklopom koji radi s naponom napajanja 5V potrebno je pobuivati CMOS sklop
koji radi s naponom napajanja od 10V. Za TTL sklop poznato je U
OLmax
=0.5V,
U
OHmin
=2.7V. Za CMOS sklop poznato je U
ILmax
=3V, U
IHmin
=7V. Objasnite kako treba
izvesti ovo spajanje, i zato.
9. CMOS sklopom potrebno je pobuivati TTL sklop. Oba sklopa rade s naponom
napajanja od 5V. Objasnite kako treba izvesti ovo spajanje, i zato.
10. CMOS sklopom koji radi s naponom napajanja 10V potrebno je pobuivati TTL sklop
koji radi s naponom napajanja 5V. Objasnite kako treba izvesti ovo spajanje, i zato.


Dodatak 1. RC mrea. 359


Dodatak 1. RC mrea

Zadana je RC mrea prema slici. Izvor napona u(t)
spojen je na RC mreu. Izraunajte napon na
kondenzatoru ako su poznati iznosi otpora R i
kapaciteta C, te vrijedi:

<=
< <=
<
=
t t U
t t U
t
t u
L
H
1
1
,
0 ,
0 , 0
) ( .



Uoimo da vrijedi

+ = dt t i
C
R t i t u ) (
1
) ( ) ( . (1)
Kako je napon na kondenzatoru jednak

= dt t i
C
t u
C
) (
1
) ( (2)
slijedi
C
t i
t u
C
) (
) ( = . (3)
Uvrtavanjem (3) u (1) dobiva se
) ( ) ( ) ( t u RC t u t u
C C
+ = (4)
odnosno
) (
1
) ( ) (
1
t u
RC
t u t u
RC
C C
+ = . (5)
Da bismo opisali kretanje napona na kondenzatoru, potrebno je dakle rijeiti (5). Ovo se
moe obaviti na vie naina, a jedan je opisan u nastavku. Homogena jednadba od (5)
glasi
) (
1
) ( 0 t u
RC
t u
C C
+ = (6)
odnosno
) (
1 ) (
0 t u
RC dt
t du
C
C
+ = .
Rjeenje jednadbe separacijom varijabli daje
1
) ( ) ( ln
1
) (
) (
1
K
RC
t
C C
C
C
e t u K
RC
t
t u dt
RC t u
t du
+
= + = =
odnosno
K e t u
RC
t
C
=

) ( . (7)

Kako bismo rijeili (5), koristiti emo varijaciju konstante. U tu svrhu pretpostavimo da
K nije konstanta, pa pronaimo derivaciju od u
C
(t). Iz (7) slijedi
R
) (t u
C
) (t i
) (t u
C
360 Zbirka rijeenih zadataka

) ( ) (
1
) ( t K e t K e
RC
t u
RC
t
RC
t
C

+ =

. (8)
Uvrtavanjem (7) i (8) u (5) slijedi
) (
1
) ( ) (
1
) (
1
t K e
RC
t K e t K e
RC
t u
RC
RC
t
RC
t
RC
t
+ + =


odnosno
) ( ) (
1
t K e t u
RC
RC
t

. (9)
U zadatku koji rjeavamo, pobuda u(t) je vremenski promjenjiva, ali bitno je uoiti da je
po dijelovima konstantna. Ukoliko se ograniimo na rjeavanje jednadbe po
dijelovima, moemo postupiti na slijedei nain. Ako (9) zapiemo kao
dt
t dK
e t u
RC
RC
t
) (
) (
1
=


moemo opet primijeniti separaciju varijabli budui da je u(t) u odreenom intervalu
konstantno
dt t u e
RC
t dK
RC
t
= ) (
1
) ( .
Slijedi
W t u e t K
RC
t
+ = ) ( ) ( . (10)
pri emu je W konstanta. Uvrtavanjem (10) u (7) konano slijedi
W e t u e e t u
RC
t
RC
t
RC
t
C
+ =

) ( ) (
odnosno
W e t u t u
RC
t
C
+ =

) ( ) ( . (11)

Ovime smo doli do opeg rjeenja. Promotrimo sada kako se to primjenjuje na na
konkretni zadatak.

U trenutku t=0, pobuda skae na U
H
. U tom trenutku napon na kondenzatoru u
C
(0)
iznosi 0V. Ako te podatke uvrstimo u (11) za t=0, slijedi
W e U
RC
H
+ =

0
0 .
iz ega slijedi iznos konstante W
H
U W = . (12)
Uvrtavanjem (12) u (11) slijedi jednadba koja opisuje kretanje napona u
C
(t) od
trenutka t=0, pa do trenutka t=t
1
(naime, u tom intervalu u(t)=U
H
)
) 1 ( ) (
RC
t
H
RC
t
H H C
e U e U U t u

= = . (13)

U trenutku t=t
1
, pobuda u(t) pada na U
L
. Do tog trenutka vrijedila je (13) pa moemo
izraunati napon u
C
(t
1
) koji je u tom trenutku vladao kondenzatoru
) 1 ( ) (
1
1
RC
t
H C
e U t u

= .
(14)
Uvrtavanjem (14) u (11) u trenutku t=t
1
moemo odrediti novi iznos konstante W
Dodatak 1. RC mrea. 361

W e U e U
RC
t
L
RC
t
H
+ =

1 1
) 1 (
te je
RC
t
L
RC
t
H
e U e U W
1 1
) 1 (
|
|
.
|

\
|
=

(15)
Uvrtavanjem (15) u (11) slijedi jednadba koja opisuje kretanje napona u
C
(t) od
trenutka t=t
1
na dalje (jer u tom intervalu ostaje u(t)=U
L
)
RC
t
L
RC
t
H
RC
t
L C
e U e U e U t u
1 1
) 1 ( ) (
|
|
.
|

\
|
+ =


odnosno
RC
t t
L
RC
t
H L C
e U e U U t u
1 1
) 1 ( ) (

|
|
.
|

\
|
+ = (16)
Iz (13) i (16) slijedi iznos napona u
C
(t)

<=
|
|
.
|

\
|
+
< <=
<
=

t t e U e U U
t t e U
t
t u
RC
t t
L
RC
t
H L
RC
t
H C
1
1
, ) 1 (
0 ), 1 (
0 , 0
) (
1 1


Dodatak 2. Booleova algebra pregled potrebnih formula. 363


Dodatak 2. Booleova algebra pregled potrebnih formula

Pregled potrebnih formula

Definicija Booleove algebre:

1. Skup S od barem dva elementa S={a,b,}
2. Binarni operacije + i zatvorene obzirom na S.
3. Aksiomi: A.1, A.2, A.3, A.4

A.1. Neutralni element
a) A A = + 0
b) A A = 1

A.2. Komplement
a) 1 = + A A
b) 0 = A A

A.3. Komutativnost
a) A B B A + = +
b) A B B A =

A.4. Distributivnost
a) C A B A C B A + = + ) (
b) ) ( ) ( C A B A C B A + + = +

Vrijedi metateorem o dualnosti: ako zamijenimo 1 i 0 te + i iz a) dobijemo b) i
obrnuto.

Neka je ) 1 , 0 , , , ,..., , , ( + = C B A f f . Dualna funkcija glasi ) 0 , 1 , , , ,..., , , ( + = C B A f f
D
.

Koristit emo jo i sljedee zakone.

Zakon involucije: A A = .

Zakon asocijacije:
a) ) ( ) ( C B A C B A + + = + +
b) ) ( ) ( C B A C B A =

De Morganov zakon:
a) B A B A = +
b) B A B A + =

364 Zbirka rijeenih zadataka

Jo jedna definicija Booleove algebre

Booleova algebra moe se definirati na razliite naine. Osim definicije koritene u
Zbirci, jedna od mogunosti prikazana je u nastavku.

Booleova algebra je neprazni skup B nad kojim su definirane dvije binarne operacije i
koje zadovoljavaju sljedee aksiome (za svaki X, Y i Z iz B):

A1. ) ( ) ( Z Y X Z Y X =
) ( ) ( Z Y X Z Y X =
Asocijativnost

A2. X Y Y X =
X Y Y X =
Komutativnost

A3. Postoji 0B: X X = 0
Postoji 1B: X X = 1
Neutralni element

A4. 0 = X X Samoinverz
X X X = Idempotentnost

A5. ) ( ) ( ) ( Z X Y X Z Y X =
Distributivnost

Operator nazvat emo I, a operator ISKLJUIVO-ILI.

Operatore + i tada moemo definirati na sljedei nain:

Def1. ) ( Y X Y X Y X = +
Def2. X X =1




Dodatak 3. K tablice. 365


Dodatak 3. K tablice

Prazne K-tablice

Tablica za dvije varijable:

A
0 1
B 0
1


Tablica za tri varijable:

AB
00 01 11 10
C 0
1

Tablica za etiri varijable:

AB
00 01 11 10
CD 00
01
11

10


Tablica za pet varijabli (direktno Grayev kod):

366 Zbirka rijeenih zadataka

ABC
000 001 011 010 110 111 101 100
DE 00
01
11

10


Tablica za pet varijabli (3D prikaz; A odreuje visinu):

ABC
000 001 011 010 100 101 111 110
DE 00
01
11

10


Popis minterma po tablicama:

Tablica za dvije varijable:

A
0 1
B 0 0 2
1 1 3


Tablica za tri varijable:

AB
00 01 11 10
C 0 0 2 6 4
1 1 3 7 5


Dodatak 3. K tablice. 367

Tablica za etiri varijable:

AB
00 01 11 10
CD 00 0 4 12 8
01 1 5 13 9
11
3 7 15 11
10
2 6 14 10

Tablica za pet varijabli (direktno Grayev kod):

ABC
000 001 011 010 110 111 101 100
DE 00 0 4 12 8 24 28 20 16
01 1 5 13 9 25 29 21 17
11
3 7 15 11 27 31 23 19
10
2 6 14 10 26 30 22 18

Tablica za pet varijabli (3D prikaz; A odreuje visinu):

ABC
000 001 011 010 100 101 111 110
DE 00 0 4 12 8 16 20 28 24
01 1 5 13 9 17 21 29 25
11
3 7 15 11

19 23 31 27
10
2 6 14 10

18 22 30 26

368 Zbirka rijeenih zadataka

Susjednost:

Kod K-tablica za dvije do etiri varijable susjedna polja su na istoku, zapadu, sjeveru i
jugu (da se posluimo "zemljopisnom" terminologijom). Ako se radi o polju koje je npr.
na vrhu tablice, onda se termin polje iznad odnosi na polje koje je u istom stupcu ali na
drugom kraju (kao da smo tablicu zamotali u valjak). Pogledajmo tablicu za etiri
varijable. Vrijedi npr.:

Polje Susjedna polja
7 3, 5, 6, 15
3 1, 2, 7, 11
0 1, 2, 4, 8
10 2, 8, 11, 14

K-tablica za pet varijabli donekle je problematina. Naime, kod K-tablice dobivene
direktno Grayevim kodom vrijedi sljedee: polje 21, osim to ima susjedna polja (istok,
zapad, sjever, jug) = (29, 17, 20, 23), ima i susjedno polje 5 (zbog promjene varijable
A)! Zbog toga se puno ee koristi K-tablica za pet varijabli koja se dobije ako se A
varijabla shvati kao dimenzija koja u 3D prostoru odreuje na kojoj se visini nalazi
tablica. U tom sluaju imamo dvije tablice dimenzija 44, pri emu je kod lijeve A=0, a
kod desne A=1 pa u prostoru desna tablica lei tono iznad lijeve tablice. Tada se
susjednost moe odrediti puno lake, jer su susjedna polja (istok, zapad, sjever, jug), te
polje iznad odnosno ispod. Pogledajmo ponovno sluaj za polje 21. To polje se nalazi u
desnoj (gornjoj, A=1) tablici, pa e susjedna polja biti (istok, zapad, sjever, jug) = (29,
17, 20, 23) i polje ispod, a to je polje 5.




Literatura 369

Literatura

1. Materijali s auditornih vjebi (A.G. 2001./2002.)
2. Peruko, U., Digitalna elektronika. Logiko i elektriko projektiranje, III.
proireno izdanje, kolska knjiga, Zagreb, 1991.
3. Glavini, V., Predavanja iz Digitalne elektronike (radni materijali za predavanje
iz predmeta ZER03O4 Digitalna elektronika), Zagreb, 2002.
4. Glavini, V., Digitalno upravljanje, zbirka rijeenih zadataka, I dio, Uvod u
digitalnu tehniku, Sveuilina naklada, d.o.o., Zagreb, 1991.
5. Szabo, A., Impulsna i digitalna elektronika, Sveuilina naklada Liber, Zagreb,
1976.
6. Gajski, D. D., Principles of digital design, Prentice Hall, Upper Saddle River,
New Yersey, 1997.
7. Brown, S., Vranesic, Z., Fundamentals of digital logic with VHDL design,
McGraw-Hill Companies, Inc., 2000.
8. Elec 326: Digital Logic Design,
http://www.owlnet.rice.edu/~elec326/
Rice University
(posjeeno: 05. 05. 2003.)
9. Lattice Semiconductor Corporation
http://www.latticesemi.com/
(posjeeno: 05. 05. 2003.)
10. ELCT 762, Signal Integrity for High Speed Circuits - Fall 2003
http://www.ee.sc.edu/classes/fall03/elct762/
University of South Carolina
(posjeeno: 06. 12. 2003.)
11. ECE 410, Fall 2003
http://www.egr.msu.edu/classes/ece410/mason/
Michigan State University College of Engineering
(posjeeno: 17. 05. 2004.)
12. 6.111, Introductory Digital Systems Laboratory
http://sunpal7.mit.edu/6.111/s2003/
Massachusetts Institute of Technology
(posjeeno: 17. 05. 2004.)
13. CS/CoE 536, Reconfigurable System on Chip Design, Fall 2002
http://www.arl.wustl.edu/~lockwood/class/cs536/
Applied Research Laboratory
(posjeeno: 17. 05. 2004.)
14. Internet (Google)

You might also like