Sunteți pe pagina 1din 75

DIGITALNA I MIKROPROCESORSKA TEHNIKA

1. UVOD

2. SINTEZA KOMBINACIJSKIH
LOGIKIH STRUKTURA
3. SINTEZA SEKVENCIJALNIH
SKLOPOVA
4. OSNOVE ARHITEKTURE
MIKRORAUNALA

2. SINTEZA KOMBINACIJSKIH
LOGIKIH STRUKTURA
2.1. BOOLEOVA ALGEBRA

2.2. BOOLEOVE FUNKCIJE

2.3. MINIMIZACIJA BOOLEOVIH FUNKCIJA


I SINTEZA PRIMJENOM LOGIKIH VRATA
2.4. SINTEZA PRIMJENOM MULTIPLEKSERA
I DEMULTIPLEKSERA
2.5. PROGRAMABILNE STRUKTURE

2.1. BOOLEOVA ALGEBRA


Booleova algebra:

B.A. = {G , x , =, S}
G - skup operatora;
x - Booleova varijabla, uzima vrijednosti iz S;
S - Booleove konstante:

S = {0, 1}; x S

LOGIKA SUDOVA

Iz logike poznajemo operatore:


A

T
T

KONJUNKCIJA DISJUNKCIJA
A&B
AB

T
T

NEGACIJA
A

T
T

ISTINA (TRUTH) T
NEISTINA (FALSE) ,F
tablicu zovemo TABLICA ISTINE

ALGEBRA LOGIKE
Izaberemo G koji sadri:
konjunkciju, disjunkciju i negaciju - ALGEBRA LOGIKE
A.L. = {&, , , =, x , S = {0, 1}}; T 1, 0 (pozitivna log ika )
x1 x 2

0
0
1
1

x1 & x 2

x1 x 2

x1

x2

0
0
0
1

0
1
1
1

1
1
0
0

1
0
1
0

0
1
0
1

ALGEBRA LOGIKE
Oita svojstva (postulati):
1. ZATVORENOST:
a)
b)

x1 , x 2 S x1 x 2 S
x1 , x 2 S x1 & x 2 S

2. NEUTRALNI ELEMENT:
a)

x1 , 0 S x1 0 = x1

b)

x1 , 1 S x1 & 1 = x1

ALGEBRA LOGIKE
Oita svojstva (postulati):
3. KOMUTATIVNOST:
a)

x1 , x 2 S x1 x 2 = x 2 x1 S

b)

x1 , x 2 S x1 & x 2 = x 2 & x1 S

4. DISTRIBUTIVNOST:
a)
b)

x1 , x 2 , x 3 S

x 1 (x 2 & x 3 ) = (x 1 x 2 ) & (x 1 x 3 )
x1 , x 2 , x 3 S

x 1 & (x 2 x 3 ) = (x 1 & x 2 ) (x 1 & x 3 )

ALGEBRA LOGIKE
Oita svojstva (postulati):
5. KOMPLEMENTIRANJE:
a)
b)

x1 S x1 x1 = 1
x1 S x1 & x1 = 0

6. ASOCIJATIVNOST:
a)
b)

x1 , x 2 , x 3 S

x 1 (x 2 x 3 ) = (x 1 x 2 ) x 3

x1 , x 2 , x 3 S

x 1 & (x 2 & x 3 ) = (x 1 & x 2 ) & x 3

ALGEBRA LOGIKE
Postulati slijede iz tablice, npr. distributivnost:
x1

x2

x3

x2 & x3

x1 (x 2 & x 3 )

x1 x 2

x1 x 3

(x1 x 2 ) & (x1 x 3 )

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
0
1
0
0
0
1

0
0
0
1
1
1
1
1

0
0
1
1
1
1
1
1

0
1
0
1
1
1
1
1

0
0
0
1
1
1
1
1

REDOSLIJED:
1. negacija (i sve ispod)
2. konjunkcija
3. disjunkcija

ALGEBRA LOGIKE
Analogija s operacijama nad skupovima:

Piemo i itamo:

x1 & x 2 = x1 x 2 = x1 x 2 = x1 x 2

x1 x 2 = x1 x 2

x1 i x 2 / x1 x 2

x1 ili x 2 x1 vel x 2

ALGEBRA LOGIKE
Izvedena svojstva (teoremi):

x1 1 = 1

1. APSORPCIJA za disjunkciju:

(x1 1) 1 = (x1 1) (x1 x1 ) = x1 (1 x1 ) = x1 x1 = 1

P2 b

P5 a

P4 a

P2 b

P5 a

x1 0 = 0

5. APSORPCIJA za konjunkciju:

x1 0 0 = x1 0 x1 x1 = x1 (0 x1 ) = x1 x1 = 0

P2 a

P5 b

P4 b

P2 a

P5 b

ALGEBRA LOGIKE
Izvedena svojstva (teoremi):
2. IDEPOTENTNOST za disjunkciju:

x1 x1 = x1

(x 1 x 1 ) 1 = ( x 1 x 1 ) (x 1 x 1 ) = x 1 (x 1 x 1 ) = x 1 0 = x 1

P2 b

P5 a

P4 a

3. IDEPOTENTNOST za konjunkciju:

P5 b

P2 a

x1 x1 = x1

x 1 x 1 0 = x 1 x 1 x 1 x 1 = x 1 (x 1 x 1 ) = x 1 1 = x 1

P2 a

P5 b

P4 b

P5 a

P2 b

ALGEBRA LOGIKE
Izvedena svojstva (teoremi):
4. DVOSTRUKA NEGACIJA:

x1 = x1

x1

x1

(x1 ) = x1

0
1

1
0

0
1

ALGEBRA LOGIKE
Izvedena svojstva (teoremi):
DeMORGANOVI TEOREMI:
T12:

x1 x 2 = x1 x 2

A A =1

A = x1 x 2
A = x1 x 2 = x1 x 2
A = x1 x 2

x 1 x 2 (x 1 x 2 ) = 1

x 1 x 2 (x 1 x 2 ) = (x 1 x 2 x 1 ) (x 1 x 2 x 2 ) = 1 1 = 1

AA = 0

x 1 x 2 (x 1 x 2 ) = 0

x1 x 2 (x1 x 2 ) = (x1 x 2 x1 ) (x1 x 2 x 2 ) = 0 0 = 0

ALGEBRA LOGIKE
Izvedena svojstva (teoremi):
DeMORGANOVI TEOREMI:
T13:

x1 x 2 = x1 x 2

x1 x 2 = x1 x 2
x1 x 2 = x1 x 2

x1 x 2 = x1 x 2 = x1 x 2

2.2. BOOLEOVE FUNKCIJE


Ako je X skup svih n varijabli x:

X = {x 1 , x 2 ,K, x n }

tada je Pn(X) skup svih kodnih rijei varijabli x:


Pn (X ) = {00 K 0, 00 K1, LL ,11K 0, 11K1}

BOOLEOVA FUNKCIJA

y = f (x 1 , x 2 ,K, x n )
je preslikavanje iz skupa svih kodnih rijei u skup Booleovih
konstanti S:

S = {0, 1}; x S

2.2. BOOLEOVE FUNKCIJE


grafiki:

BOOLEOVE FUNKCIJE
Booleova funkcija je interesantna jer opisuje rad digitalnog
sklopa:
x1
xj

f (x 1 , x 2 ,K, x n )

xn
u nekom trenutku
x 1 , x 2 ,K , x n

y je funkcija od
x 1 , x 2 ,K , x n

ine kodnu rije

BOOLEOVE FUNKCIJE
Booleovu funkciju je najjednostavnije zapisati tablino:
s lijeve strane napiemo sve
kodne rijei prirodnim
binarnim nizom

i x1
0 0
1 0

x2
0
0

x3
0
1

y1
1
0

y2
1
R

s desne strane napiemo


vrijednosti funkcije
(vrijednosti y)

Ti
T0
T1

2
3
4
5
6

1
1
0
0
1

0
1
0
1
0

0
0
1
1
1

0
0
1
1
1

T2
T3
T4
T5
T6

takvu strukturu zovemo


TABLICA ISTINE

0
0
1
1
1

funkcija moe biti


7 1 1 1 1 1
POTPUNO ILI NEPOTPUNO
specificirana za redundantne kodne rijei n znamo T

T7

BOOLEOVE FUNKCIJE
Osim tablice istine, interesantan je
ALGEBARSKI OBLIK zapisa (formula):

y = x1 x1 x 2 x 3
jer uvodi operatorske veze meu varijablama potrebne za
crtanje logikog dijagrama i sheme:

x1
x2
x3

&

Krui
oznaava
negaciju

10

BOOLEOVE FUNKCIJE
Uvjerimo se u istovjetnost tablice i algebarskog oblika:

x1x 2 x 3
1
0
0

x1
0
0
0

x1 x1x 2 x 3
1
0
0

0
1
1
1

0
0
0
0

0
1
1
1

0
1
1
1

x1
0
0
0

x2
0
0
1

x3
0
1
0

y
1
0
0

0
1
1
1

1
0
0
1

1
0
1
0

BOOLEOVE FUNKCIJE
U praksi su najvaniji
NORMALNI ALGEBARSKI OBLICI
zbog:
mogue ih je napisati neposredno iz tablice istine
omoguavaju izradu sklopa s najmanjim kanjenjem
sklop ima jednoliko kanjenje
mogue ih je minimizirati egzaktnim postupcima
garantiran je prijelaz na NI i NILI operatore

11

BOOLEOVE FUNKCIJE
POTPUNI DISJUNKTIVNI NORMALNI OBLIK (PDNO)
PDNO je disjunkcija svih onih MINTERMA mi
za koje je vrijednost funkcije i-tog retka Ti jednaka jedinici:
2 n 1

f (x 1 , x 2 ,K, x n ) = m i Ti
i =0

MINTERM mi i-tog retka tablice istine je konjunkcija SVIH


varijabli tako da su one koje u pripadnoj kodnoj rijei imaju
vrijednost nula negirane, a one u jedinici nenegirane:

m 3 (x 1 , x 2 , x 3 ) = x 1 x 2 x 3
011

za pripadnu kodnu rije minterm je jednak jedinici, inae nuli

BOOLEOVE FUNKCIJE
SVI MINTERMI ZA n=3

i
0
1
2
3

x1
0
0
0
0

x2
0
0
1
1

x3
0
1
0
1

m i (x1 x 2 x 3 )
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3

x1 x 2 x 3

5
6
7

1
1
1

0
1
1

1
0
1

x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3

x1 x 2 x 3

12

BOOLEOVE FUNKCIJE
Npr. za gornju funkciju:
f1 (x1 , x 2 , x 3 ) = m 0 T0 m1 T1 m 2 T2 m 3 T3 m 4 T4 m 5 T5 m 6 T6 m 7 T7 =
= m 0 1 m1 0 m 2 0 m 3 0 m 4 1 m 5 1 m 6 1 m 7 1 =

= m 0 m 4 m 5 m 6 m 7 = (0,4,5,6,7 )

Raspiimo minterme prema definiciji pa imamo PDNO:

f1 (x ) = x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3

BOOLEOVE FUNKCIJE
POTPUNI KONJUNKTIVNI NORMALNI OBLIK (PKNO)
je konjunkcija svih onih MAKSTERMA Mi
za koje je vrijednost funkcije i-tog retka Ti jednaka nuli:
2 n 1

f (x 1 , x 2 ,K, x n ) = & (M i Ti )
i =0

MAKSTERM Mi i-tog retka tablice istine je disjunkcija


SVIH varijabli tako da su one koje u pripadnoj kodnoj rijei
imaju vrijednost jedan negirane, a one u nuli nenegirane:

M 3 (x 1 , x 2 , x 3 ) = x 1 x 2 x 3
011

za pripadnu kodnu rije maksterm je jednak nuli, inae jedinici

13

BOOLEOVE FUNKCIJE
SVI MAKSTERMI ZA n=3

i
0
1
2
3
4
5
6
7

x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

M i (x 1 , x 2 , x 3 )
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3

BOOLEOVE FUNKCIJE
Npr. za gornju funkciju:

y(x1 , x 2 , x 3 ) = M1 & M 2 & M 3 = &(1,2,3)


napiimo maksterme prema definiciji i dobijemo PKNO:

y = (x1 x 2 x 3 ) (x1 x 2 x 3 ) (x1 x 2 x 3 )

14

BOOLEOVE FUNKCIJE
PDNO nepotpuno specificirane funkcije:
y 2 = x1 x 2 x 3 x1 x 2 x 3 R 1 x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3

y 2 (x 1 , x 2 , x 3 ) = (0, R 1 ,4,5,6,7 )

PKNO nepotpuno specificirane funkcije :


y 2 = (x 1 x 2 x 3 R 1 ) & (x 1 x 2 x 3 ) & (x 1 x 2 x 3 )
y 2 (x 1 , x 2 , x 3 ) = &(R 1 ,2,3)

BOOLEOVE FUNKCIJE
Prikaz BOOLEOVIH funkcija Vennovim dijagramima:

x1
0

x2
0

x3
0

f1
1

f2
1

0
0
0
1
1
1
1

0
1
1
0
0
1
1

1
0
1
0
1
0
1

0
0
0
1
1
1
1

R
0
0
1
1
1
1

15

BOOLEOVE FUNKCIJE
Stilizirani Vennovi dijagrami - VEITCHEVI dijagrami:

BOOLEOVE FUNKCIJE
VEITCHEVI dijagrami za n=1, 2 i 4:

16

BOOLEOVE FUNKCIJE
VEITCHEV dijagram za n=5:

VEITCHEV dijagram za n=6:

17

BOOLEOVE FUNKCIJE

Primjer prikaza funkcija Veitchevim dijagramom n=3:

BOOLEOVE FUNKCIJE
Dvodimenzionalne tablice:
tablica crtana dvodimenzionalno tede prostor na papiru:

npr. tablica kodiranja znakova a,b,c,d

18

BOOLEOVE FUNKCIJE
Grayev kod:
ima svojstvo susjednosti:

i x1
0 0
1 0

x2
0
0

x3
0
1

2
3
4
5

0
0
1
1

1
1
1
1

1
0
0
1

6
7

1
1

0
0

1
0

koristi se kod optikih senzora poloaja ili kuta

BOOLEOVE FUNKCIJE
K-TABLICE (Karnaugh):
tablica istine crtana dvodimenzionalno, Grayev kod:

OTEANO OITAVANJE LANOVA!

19

BOOLEOVE FUNKCIJE
LOGIKI DIJAGRAM:

f1 (x ) = x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3

BOOLEOVE FUNKCIJE
SHEMA SKLOPA:
x1 x2 x3

f1 (x ) = x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3

f1 (x)

td

td

20

BOOLEOVE FUNKCIJE
SHEMA SKLOPA:

f1 (x ) = (x 1 x 2 x 3 ) (x 1 x 2 x 3 ) (x 1 x 2 x 3 )

x1 x2 x3

f 1 (x)

BOOLEOVE FUNKCIJE
SVOJSTVA NORMALNIH OBLIKA
2 n 1

2 n 1

i =0

i=0

mi = 1

& Mi = 0

mi = M i

Mi = mi

mi M i = 1

mi Mi = 0

mi m j = 0

Mi M j = 1

i j

i j

21

BOOLEOVE FUNKCIJE
NEGIRANA FUNKCIJA

x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

f 2 (x )
1
R
0
0
1
1
1
1

f 2 (x )
0
R
1
1
0
0
0
0

BOOLEOVE FUNKCIJE
NEGIRANA FUNKCIJA
2 n 1

f (x ) = m i Ti
i =0

f (x ) = m i Ti = & m i Ti = & (m i Ti ) = & (M i Ti )


2 n 1

2 n 1

2 n 1

2 n 1

i =0

i =0

i=0

i =0

2 n 1

2 n 1

2 n 1

2 n 1

i =0

i=0

i=0

i=0

f (x ) = & (M i Ti ) = M i Ti = M i Ti = m i Ti
Dokaz dobijemo neposredno preko

f f =1 i f &f = 0

22

BOOLEOVE FUNKCIJE
RAZBIJANJE PDNO-a NA PARCIJALNE (PREOSTALE)
FUNKCIJE: po x1, x2
2 1
f (x ) = m i Ti = x1 x 2 x 3 T0 x1 x 2 x 3 T1 x1 x 2 x 3 T2 x1 x 2 x 3 T3
i =0
n

{x1 , x 2 , x 3 }

x1 x 2 x 3 T4 x1 x 2 x 3 T5 x1 x 2 x 3 T6 x1 x 2 x 3 T7 =
= x1 x 2 (x 3 T0 x 3 T1 ) x1 x 2 (x 3 T2 x 3 T3 ) x1 x 2 (x 3 T4 x 3 T5 )
x1 x 2 (x 3 T6 x 3 T7 ) =

= x1 x 2 f 0 (x 3 ) x1 x 2 f1 (x 3 ) x1 x 2 f 2 (x 3 ) x1 x 2 f 3 (x 3 )
f (x ) = m 0 (x1 x 2 ) f 0 (x 3 ) m1 (x1 x 2 ) f1 (x 3 ) m 2 (x1 x 2 ) f 2 (x 3 ) m 3 (x1 x 2 ) f 3 (x 3 ) =
2 m 1

= m j (x1 L x m )f j (x m +1 L x n );
j= 0

2 n m 1

f j (x m +1 L x n ) = m k (x m +1 L x n )Tj2nm + k
k =0

BOOLEOVE FUNKCIJE
RAZBIJANJE PDNO-a NA PARCIJALNE (PREOSTALE)
FUNKCIJE: po x1

f (x ) = x 1 (x 2 x 3 T0 x 2 x 3T1 x 2 x 3T2 x 2 x 3 T3 )

x 1 (x 2 x 3T4 x 2 x 3 T5 x 2 x 3 T6 x 2 x 3T7 ) =
= m 0 (x 1 ) f 0 (x 2 , x 3 ) m1 (x 1 ) f1 (x 2 , x 3 ) =
2 m 1

= m j (x 1 ) f j (x 2 , x 3 )
i =0

23

BOOLEOVE FUNKCIJE
RAZBIJANJE PDNO - prikaz TABLICOM ISTINE

f 0 (x 2 , x 3 )

f1 (x 2 , x 3 )

x1

x2

x3

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

f (x )
1
0
0
0
1
1
1
1

T0
T1

f 0 (x 3 )

T2
T3

f1 (x 3 )

T4
T5

f 2 (x 3 )

T6
T7

f 3 (x 3 )

BOOLEOVE FUNKCIJE
RAZBIJANJE PDNO - prikaz VEITCHEVIM
DIJAGRAMOM

24

BOOLEOVE FUNKCIJE
RAZBIJANJE PDNO - prikaz VEITCHEVIM
DIJAGRAMOM

Za funkciju f1

BOOLEOVE FUNKCIJE
POTPUNI SKUPOVI FUNKCIJA ALGEBRE LOGIKE:
Interesiraju nas druge mogue funkcije, osim &, V i FUNKCIJE JEDNE VARIJABLE:

x1

0
1

f0

f1

f2

f3

0
0

1
0

0
1

1
1

Oito:
n
n
N = 2 n ; F = 2 N = 2 (2 ) = 2 2

f 0 (x 1 ) = 0

f1 (x 1 ) = x 1
f 2 (x 1 ) = x 1
f 3 (x 1 ) = 1

25

BOOLEOVE FUNKCIJE
FUNKCIJE DVIJE VARIJABLE:
x1

x2

f0

0
0
1
1

0
1
0
1

0
0
0
0

f1
1
0
0
0

f2
0
1
0
0

f3
1
1
0
0

f4
0
0
1
0

f5
1
0
1
0

f6
0
1
1
0

f7
1
1
1
0

f8
0
0
0
1

f9
1
0
0
1

f10
0
1
0
1

f 11

f 12

f 13

f 14

f 15

1
1
0
1

0
0
1
1

1
0
1
1

0
1
1
1

1
1
1
1

f15 = 1

f 2 = x 2 x 1 implikacija

f1 = x 1 x 2 NILI PIERCE OPERATOR

f 4 = x 1 x 2 implikacija

f 7 = x 1 x 2 NI SHAEFFER OPERATOR

f11 = x 1 x 2 implikacija

f0 = 0

f 3 = x1

f5 = x 2

f10 = x 2

f12 = x 1

f14 = x 1 x 2 ILI

f8 = x1 x 2 I

f 6 = x 1 x 2 ekskluzivno ILI

f13 = x 2 x 1 implikacija

f 9 = x1 x 2 = x 1 x 2 ekvivalencija

BOOLEOVE FUNKCIJE
Potpuni skup funkcija:
ONAJ, KOJIM SE U KONANOM ALGEBARSKOM IZRAZU
MOE PRIKAZATI PROIZVOLJNA BOOLEOVA FUNKCIJA
SKUP (&,V,-) je potpun:
1. Nad njim je definirana ALGEBRA LOGIKE
2. PDNO i PKNO su potvrdni primjeri
STOGA DOKAZUJEMO:

P.S.F.A.L. : {&, , }
SKUP JE POTPUN AKO MOEMO IZRAZITI (&,V, -)

26

BOOLEOVE FUNKCIJE
Analizirajmo neke skupove funkcija:

{&}: x 1 x 2 nije potpun


{}: x1 x 2 nije potpun

{&,}:

{}:

x 1 nije potpun

x1 x 2
x1
x 1 x 2 = x 1 x 2 = x 1 x 2 potpun je!

{,}:

x1 x 2
x1
x 1 x 2 = x 1 x 2 = x 1 x 2 potpun je!

BOOLEOVE FUNKCIJE
NI operator, Shaeffer (NAND) je potpun:

{ }, SHAEFFER, NI, x

x2;

x1 x1 = x1 x1 = x1 ili x1 1 = x1 1 = x1

(x1 | x1 ) | (x 2 | x 2 ) = x1 | x 2 = x1 x 2 = x1 x 2 = x1 x 2

(x1 | x 2 ) | (x1 | x 2 ) = x1 | x 2 = x1 x 2 = x1 x 2
problem zapisa:

x1 | x 2 | x 3 = x1 x 2 x 3

(x1 | x 2 ) | x 3 = x1 x 2 x 3

x 1 | x 2 | x 3 (x 1 | x 2 ) | x 3

koristimo sustav (&,-) i svojstvo asocijativnosti konjunkcije

27

BOOLEOVE FUNKCIJE
NILI operator, Pierce (NOR) je potpun:

{ }, PIERCE, NILI, x

x2;

x1 x1 = x1 x1 = x1 ili x1 0 = x1 0 = x1

(x

(x

x1 ) (x 2 x 2 ) = x1 x 2 = x1 x 2 = x1 x 2 = x1 x 2

x 2 ) (x1 x 2 ) = x1 x 2 = x1 x 2 = x1 x 2

problem zapisa:

x1 x 2 x 3 = x1 x 2 x 3

x1 x 2 x 3 x1 x 2 x 3

x
=
x

x
1
2
3
1
2
3
koristimo sustav (V,-) i svojstvo asocijativnosti disjunkcije

(x

2.3. MINIMIZACIJA BOOLEOVIH F.


I SINTEZA SKLOPOVA PRIMJENOM LOGIKIH VRATA

U praksi, imamo sloeni sklop s vie ulaza i izlaza:

a zapravo se sastoji od vie sklopova s jednim izlazom


svaki je opisan jednom Booleovom funkcijom!
Osim to realizira funkciju, stvarni sklop ima i neko kanjenje.

28

MINIMIZACIJA BOOLEOVIH FUNKCIJA


elimo da sklop bude:
ekonomian u proizvodnji i eksploataciji
minimalan
brz
minimalno i jednoliko kanjenje
dizajn
postupci, prijelaz na NI i NILI vrata
Minimalnost ?!:
minimalan broj (diskretnih) komponenti
minimalan broj integriranih krugova
minimalan broj logikih vrata
minimalna povrina tampane ploice
minimalna potronja energije

MINIMIZACIJA BOOLEOVIH FUNKCIJA


Ve smo pokazali proceduru:
Booleova funkcija (algebarski oblik)
Logiki dijagram Shema sklopa
elimo da Booleova funkcija bude napisana na nain:
minimalan oblik
osigurava minimalno i jednoliko kanjenje
omoguava postupke minimizacije
omoguava prijelaz na NI i NILI vrata
Optimalni su MINIMALNI NORMALNI OBLICI
Minimalni disjunktivni normalni oblik (MDNO)
Minimalni konjunktivni normalni oblik (MKNO)

29

MINIMIZACIJA NORMALNIH OBLIKA


NORMALNE OBLIKE MINIMIZIRAMO:
algebarski
nekim postupkom na osnovu algebarskog:
metoda Veitchevog dijagrama (runo)
Quinn-McClusky metoda
Harvardska metoda (raunalom)
Algebarski oblik minimizacije
koritenjem svojstava algebre logike (postulati, teoremi)
transformiramo PDNO u MDNO, (ili PKNO u MKNO)
Razlikujemo
osnovni algebarski postupak minimizacije
pomoni algebarski postupak minimizacije (proirenje)

MINIMIZACIJA NORMALNIH OBLIKA


OSNOVNI ALGEBARSKI POSTUPAK MINIMIZACIJE:
U PDNO (PKNO) pronalazimo susjedne lanove:
susjedni su lanovi oni kojima su pripadne kodne rijei susjedne
Koritenjem svojstava asocijativnosti i komutativnosti:
izdvojimo zajedniki dio
Koritenjem svojstva distributivnosti:
izluimo (izvuemo) zajedniki dio
u zagradama ostane oblik x 1 x 1 ili x 1 & x 1
Koritenjem svojstva komplementiranja:
ostatak je jednak konstanti 1 ili 0
Koritenjem svojstva neutralnog elementa:
konstantu 1 ili 0 eliminiramo (briemo)

30

MINIMIZACIJA NORMALNIH OBLIKA


Primjer za PDNO:

x1 x 2 x 3 x1 x 2 x 3 K =

P4 b

x 1 x 2 (x 3 x 3 ) K = x 1 x 2 1 K = x 1 x 2 K
P5 a

P2 b

to rezultira utedama u sklopu:

UTEDIMO: jedna logika vrata i jedan ulaz na prvoj razini


+ jedan ulaz na drugoj razini logikih vrata

MINIMIZACIJA NORMALNIH OBLIKA


Slino za PKNO:

(x1 x 2 x 3 ) (x1 x 2 x 3 ) (K) P=

3a

= (x 2 x 3 x1 ) (x 2 x 3 x1 ) (K) =
= (x 2 x 3 (x1 x1 )) (K) =
= (x 2 x 3 0) (K) =
= (x 2 x 3 ) (K)

P4 a

P5 b

P2 a

ISTA UTEDA!

31

MINIMIZACIJA NORMALNIH OBLIKA


POMONI ALGEBARSKI POSTUPAK MINIMIZACIJE:
proirenje postojeim lanom
(Teorem o idepotentnosti):

x1 x1 = x1

x1 & x1 = x1

proirenje redundantnim lanom:


izvorite nikad nee poslati kodnu rije
koja nema znaenja
za tu kodnu rije sklop moe obaviti
proizvoljno preslikavanje
Utedimo jedan ulaz na prvoj razini (moe biti znaajno)!

MINIMIZACIJA NORMALNIH OBLIKA


PROIRENJE POSTOJEIM LANOM:

x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 K =
= x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 K =

T2

= x1 x 2 x1 x 3 K

32

MINIMIZACIJA NORMALNIH OBLIKA


PROIRENJE REDUNDANTNIM LANOM:

x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 R =1 K =

= x 1 x 2 x 1 x 2 K = x 1 (x 2 x 2 ) K = x 1 1 K = x 1 K

Ovdje je u dva koraka lan reduciran na jednu varijablu!

MINIMIZACIJA NORMALNIH OBLIKA


PROBLEM JEDNOLIKOG KANJENJA:

koristimo pojaala ili invertore


(teorem o dvostrukoj negaciji)

33

MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
UPISUJEMO FUNKCIJU U VEITCHEV DIJAGRAM:
ZA PDNO UPISUJEMO 1 i R
ZA PKNO UPISUJEMO 0 i R

x1 x 2 x 3 x1 x 2 x 3 = x1 x 2

npr:

Susjednim mintermima odgovaraju susjedna podruja!


Rezultat minimizacije je ekvivalentan ujedinjavanju podruja!

MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
PRIMJER:

f (x ) = x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3

PDNO:

f (x ) = x 1 x 2 x 1 x 3

PKNO:

f (x ) = x 1 (x 2 x 3 )

34

MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
PRIMJER:

x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 R = x1 x 2 x1 x 2 = x1
PDNO:

PKNO:

f (x ) = x 1
(iznimno)

MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
MINIMIZACIJA PDNO u MDNO:
u Veitchev dijagram upiemo 1 i R
zaokruimo sve jedinice
to manjim brojem to veih povrina
ispiemo MDNO na osnovu koordinata povrina
dvostruko zaokruivanje jedinice znai
proirenje postojeim lanom
zaokruivanje redundantnog lana znai proirenje izraza
tim lanom i time sklop obavlja preslikavanje u 1
ne-zaokruivanje redundantnog lana znai izostavljanje
tog lana i time sklop obavlja preslikavanje u 0

35

MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
DEFINIRAMO MDNO:
Minimalni disjunktivni normalni oblik je disjunkcija nunih
elementarnih lanova tipa minterma.
lan tipa minterma je konjunkcija nekih ili svih varijabli,
negiranih prema pravilu pisanja minterma.
Elementarni lan je onaj koji nema susjeda.
Nuni elementarni lan je onaj, bez kojeg bi vrijednost
funkcije bila poremeena.

MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
DEFINIRAMO MKNO:
Minimalni konjunktivni normalni oblik je konjunkcija
nunih elementarnih lanova tipa maksterma.
lan tipa maksterma je disjunkcija nekih ili svih varijabli,
negiranih prema pravilu pisanja maksterma.
Elementarni lan je onaj koji nema susjeda.
Nuni elementarni lan je onaj, bez kojeg bi vrijednost
funkcije bila poremeena.

36

MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
MINIMIZACIJA PKNO u MKNO:
preko PKNO - NE
problem disjunkcija, zagrada i negativne logike
preko NEGIRANE (inverzne) FUNKCIJE:
u Veitchev dijagram upiemo PDNO negirane funkcije
provedemo postupak za MDNO i izraunamo MKNO

f = x1 x 2 x 3
f = f = x1 x 2 x 3 = x1 x 2 x 3 =

= x 1 (x 2 x 3 ) = x 1 (x 2 x 3 )

QUINN-McCLUSKY POSTUPAK
POSTUPAK:
ispitujemo susjednost minterma
i formiramo elementarne lanove:

odaberemo na kraju nune lanove, moe za MDNO i MKNO

37

QUINN-McCLUSKY POSTUPAK
NPR. ZA RANIJE DEFINIRANU FUNKCIJU:
i
0
1
2
3
4
5
6
7

x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

f (x )
1
R
0
0
1
1
1
1

f (x ) = x 1 x 2

QUINN-McCLUSKY POSTUPAK

f (x ) = x 1 x 2

38

HARVARDSKA METODA
UNAPRIJED ISPIEMO ELEMENTARNE LANOVE:
(npr. n=3)
i
0
1
2
3
4
5
6
7

x1

x2

x3

x1 x 2

x1 x 3

x2 x3

x1 x 2 x 3

x1
x1
x1
x1
x1
x1
x1
x1

x2
x2
x2
x2
x2
x2
x2
x2

x3
x3
x3
x3
x3
x3
x3
x3

x1 x 2
x1 x 2
x1 x 2
x1 x 2
x1 x 2
x1 x 2
x1 x 2
x1 x 2

x1 x 3
x1 x 3
x1 x 3
x1 x 3
x1 x 3
x1 x 3
x1 x 3
x1 x 3

x2 x3
x2 x3
x2 x3
x2 x3
x2 x3
x2 x3
x2 x3
x2 x3

x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3
x1 x 2 x 3

f (x )
0
R
0
0
1
1
1
1

HARVARDSKA METODA
LANOVE OZNAIMO BROJEVIMA
(da ne bi ovisili o oznakama varijabli):
i
0
1
2
3
4
5
6
7

x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

x1 x 2
0
0
1
1
2
2
3
3

x1 x 3
0
1
0
1
2
3
2
3

x2 x3
0
1
2
3
0
1
2
3

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

f (x )
1
R
0
0
1
1
1
1

varijable (sve kombinacije) upiemo u gornjem redu!

39

HARVARDSKA METODA
PROVODIMO POSTUPAK:
u gornji red upiemo kombinacije varijabli
u desni stupac upiemo vrijednost funkcije
(1) prekriimo sve redove za koje je vrijednost funkcije 0
prekriimo (ravno) sve brojeve koji su prekrieni u (1)
s desna na lijevo, prekriimo (koso) sve brojeve koji s lijeve
strane imaju neprekrien krai broj (lan)
neprekrieni brojevi su elementarni lanovi
izaberemo nune elementarne lanove
ispiemo MDNO
MKNO dobijemo preko inverzne funkcije
Koristi se esto u raunalnim programima za minimizaciju.

HARVARDSKA METODA
Za raniji primjer:
i
0
1
2
3
4
5
6
7

x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

x1 x 2
0
0
1
1
2
2
3
3

x1 x 3
0
1
0
1
2
3
2
3

x2 x3
0
1
2
3
0
1
2
3

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

f (x )
1
R
0
0
1
1
1
1

f (x ) = x 1 x 2

40

REALIZACIJA BF NI i NILI VRATIMA


NI I NILI su PSFAL:
jednim tipom vrata realiziramo proizvoljnu funkciju
postiemo optimalni (minimalni) broj integriranih krugova

radimo preko negirane funkcije!

REALIZACIJA BF NI i NILI VRATIMA


REALIZACIJA NI (NAND, Shaeffer) vratima
polazimo do PDNO originalne funkcije
izraunamo MDNO originalne funkcije
dvostruko negiramo MDNO (cijeli izraz)
primjenom DeMorganovih teorema transformiramo za NI

f1 (x ) = x1 x 2 x 2 x 3
f1 (x ) = x 1 x 2 x 2 x 3 = x 1 x 2 x 2 x 3
DeM .T .

41

REALIZACIJA BF NI i NILI VRATIMA


f1 (x ) = x 1 x 2 x 2 x 3 = x 1 x 2 x 2 x 3

REALIZACIJA BF NI i NILI VRATIMA


REALIZACIJA NILI (NOR, Pierce) vratima
polazimo do PDNO negirane (inverzne) funkcije
izraunamo MDNO negirane funkcije
negiramo obje strane izraza, to je ve NILI
dvostruko negiramo pojedine lanove
primjenom DeMorganovih teorema transformiramo za NILI

f 2 (x ) = x 2 x 4 x 1 x 3
f 2 (x ) = x 2 x 4 x1 x 3 = x 2 x 4 x1 x 3

42

REALIZACIJA BF NI i NILI VRATIMA

f 2 (x ) = (x 2 x 4 ) (x1 x 3 ) = x 2 x 4 x1 x 3

PRIMJER ZA NI VRATA
x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

f (x )
1
0
0
0
1
1
1
1

f1 (x ) = x1 x 2 x 3 = x1 x 2 x 3

f1 (x ) = x1 x 2 x 3
x1 x2 x 3
f1 (x)

43

PRIMJER ZA NILI VRATA


x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

f (x )
1
0
0
0
1
1
1
1

f 2 (x ) = x1 x 2 x1 x 3
f 2 (x ) = x 1 x 2 x 1 x 3 = x 1 x 2 x 1 x 3

f 2 (x ) = x 1 x 2 x 1 x 3

SKLOPOVI ZA ZBRAJANJE
elimo izraunati sumu:

a+b=s

u binarnom brojevnom sustavu:

a n 1 a n 2 a n 3 K a 2 a 1 a 0
+

b n 1 b n 2 b n 3 K b 2 b1 b 0
c n 1 c n 2 c n 3 c n 4 K c 2 c1 c 0
s n 1 s n 2 s n 3

K s 2 s1 s 0

44

SKLOPOVI ZA ZBRAJANJE
Na najmanje znaajnom bitu imamo:

b0
0
0
1
1

a0
0
1
0
1

s0
0
1
1
0

c0
0
0
0
1

gdje s slijedi sumu po modulu, a c konjunkciju

s 0 = a 0 b 0 = b0 a 0 b 0 a 0
c0 = a 0 b0 = a 0 b0

SKLOPOVI ZA ZBRAJANJE
Dobijemo sklop:

45

SKLOPOVI ZA ZBRAJANJE
Obavimo transformaciju:

s 0 = b 0 a 0 b0 a 0 0 0 =
= b 0 a 0 b0 a 0 b 0 b0 a 0 a 0 =
= b 0 a 0 b0 a 0 b0 a 0 =

) (

= b0 a 0 b0 a 0 a 0 b0

SKLOPOVI ZA ZBRAJANJE
I dobijemo sklop koji zovemo POLUSUMATOR:

Utedjeli smo ulazne invertore.


Uoimo da sklop daje negirani pretek!

46

SKLOPOVI ZA ZBRAJANJE
Na bilo kojem bitu (osim LSB) imamo:

c j1

aj

bj

sj

cj

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
1
0
1
0
0
1

0
0
0
1
0
1
1
1

SKLOPOVI ZA ZBRAJANJE
Pokuajmo minimizirati:

Transformiramo:

s j = a j b j c j1 a j b j c j1 a j b jc j1 a j b j c j1

s j = c j1 a j b j a j b j c j1 a j b j a j b j
s j = c j1 a j b j c j1 (a j b j )

s j = c j1 (a j b j )

47

SKLOPOVI ZA ZBRAJANJE
Nacrtamo koritenjem dva polusumatora:

SKLOPOVI ZA ZBRAJANJE
Potrebno je generirati pretek:

c j = a j b j b j c j1 a j c j1
proirimo:

c j = a j b j (a j a j )b j c j1 a j b j b j c j1

c j = a j b j a j b j c j1 a j b j c j1 a j b j c j1 a j b j c j1
kako je:
slijedi:

c j = a j b j a j b j c j1 = a j b j (1 c j1 ) = a j b j

c j = a j b j c j1 a j b j a j b j

48

SKLOPOVI ZA ZBRAJANJE
i konano:

c j = a j b j c j1 (a j b j ) = a j b j c j1 sj = cj cj = c j c j
Ili koritenjem preteka koje generiraju dva polusumatora,
i to bez invertora:

SKLOPOVI ZA ZBRAJANJE
Sklop bi izgledao:

49

2.4. SINTEZA SKLOPOVA PRIMJENOM


MULTIPLEKSERA I DEMULTIPLEKSERA
Minimizacija BF: sklopove realiziramo logikim vratima

ogranienje broja izvoda (noica) integriranog kruga


ogranienje na niski stupanj integracije
ELIMO KORISTITI TEHNOLOGIJU
SREDNJEG STUPNJA INTEGRACIJE

umjesto odvojenih logikih vrata koristimo sloenije


strukture - funkcionalne blokove
ostvarujemo mogunost koritenja vie logikih vrata
po izvodu integriranog kruga
interesantni su MULTIPLEKSER,
DEMULTIPLEKSER i ENKODER PRIORITETA

MULTIPLEKSER, DEMULTIPLEKSER I
ENKODER PRIORITETA

selektor/multiplekser

dekoder/demultiplekser

50

MULTIPLEKSER, DEMULTIPLEKSER I
ENKODER PRIORITETA

dekoder

enkoder prioriteta

MULTIPLEKSER
MULTIPLEKSER je sklop koji ima

m adresnih ulaza am-1..., a1, a0


2m informacijskih ulaza u2n-1, , u1, u0
1 informacijski izlaz i
kontrolne ulaze k (ne u kolskom modelu)
MULTIPLEKSER na izlaz i dovodi vrijednost sa onog
informacijskog ulaza uj, iji je redni broj j u prirodnom
binarnom obliku, kao kodna rije, prisutan na adresnim
ulazima am-1..., a1, a0.
Kontrolni ulaz k iskljuuje sklop postavljajui izlaz u
logiku 0 ili u stanje visoke impedancije.

51

MULTIPLEKSER
Multiplekser sa m adresnih ulaza:

MULTIPLEKSER
Pokuajmo na osnovu definicije nacrtati shemu i formulu:

2 m 1

i = m j (a ) u j =
j=0

2 m 1

= m j (a ) u j =
j=0

2 m 1

= & m j (a ) u j
j=0

52

MULTIPLEKSER
Multiplekser realiziramo NI vratima:

MULTIPLEKSER
Multiplekser koristimo:
Ako su informacijski ulazi slobodno promjenljivi, a adresa
stacionarna, izlaz e slijediti vrijednost sa odabranog ulaza.
Obavili smo selektiranje ulaza na izlaz.
Ako su informacijski ulazi stacionarni, a adrese mijenjamo u
prirodnom binarnom nizu nekim ritmom, na izlazu e se
pojaviti niz bita ulazne kodne rijei.
Obavili smo paralelno-serijsku pretvorbu.
Multiplekser se esto jo naziva i SELEKTOR, ili
kombinirano multiplekser-selektor.

53

MULTIPLEKSER
Realizirajmo Booleovu funkciju pomou multipleksera:

Vrijednost funkcije se moe pojaviti


samo na izlazu multipleksera:

i = f (x 1 , K, x n )

MULTIPLEKSER
Slijedi:
2 m 1

2 n 1

j= 0

i =0

m j (a m 1 , K, a 0 ) u j = m i (x 1 , K, x n )Ti

Imamo jednu jednadbu, a trebamo spojiti m+2m ulaza!


U posebnom sluaju, m=n:
2 m 1

2 m 1

j= 0

j= 0

m j (a ) u j = m j (x )Tj

pa je lijeva strana strukturno identina desnoj.

54

MULTIPLEKSER
Obinu jednakost zamijenimo identitetom, te izjednaimo po
dijelovima! Tako dobijemo potrebnih m+ m+2m jednadbi.

u j = Tj

m j (a ) = m j (x )
a m 1 a m 2 K a 1
x1

a e = x me
a0

x 2 K x m 1 x m

Ili: na adresne ulaze dovedemo varijable funkcije xj redom,


a na informacijske ulaze dovedemo vrijednost funkcije Tj

MULTIPLEKSER
Struktura sklopa je:

55

MULTIPLEKSER
Za openiti sluaj n>m gubimo strukturni identitet.
2 m 1

2 n 1

j= 0

i =0

m j (a ) u j = m i (x )Ti

Pokuajmo transformirati desnu stranu.


Rastavimo mi na osnovu svojstva asocijativnosti konjunkcije:

mi :

(x1 x 2 K x m ) (x m 1 K x n )

m i (x 1 K x n ) = m j (x 1 K x m ) m k (x m +1 K x n )

MULTIPLEKSER
U PDNO funkcije grupiramo minterme sa zajednikim prvim
dijelom, te koritenjem svojstva distributivnosti izluimo
prvi, zajedniki dio:

2 m 1

f (x ) = m j (x 1 K x m ) m 0 (x m +1 K x n )Tj2
j= 0

K m2

n m

n m

(x m +1 K x n )Tj2

+0

nm

+ 2 n m 1

Izraz u zagradi je PDNO preostale funkcije


(vidi razbijanje funkcije na parcijalne funkcije)!
2 m 1

2 m 1

2 m 1

j= 0

j= 0

j=0

m j (a ) u j = m j (x1 K x m ) f j (x m +1 K x n ) = m j (x ) f j (x )

Uoimo da su sve preostale funkcije, funkcije istih varijabli!

56

MULTIPLEKSER
Opet je uspostavljen strukturni identitet!

m j (a ) = m j (x )

a e = x m e

uj = fj

Ili: na adresne ulaze dovedemo m izabranih varijabli


funkcije redom, pa ih zovemo adresne varijable.
Na informacijske ulaze dovedemo preostale funkcije fj redom,
a to su funkcije preostalih varijabli.
Preostale funkcije treba realizirati nekim sklopovima,
uporabom logikih vrata ili multipleksera.
Tada imamo MULTIPLEKSERSKO STABLO.
Potpuno stablo ekvivalentno je jednom multiplekseru.

MULTIPLEKSER
Sad je struktura sklopa:

57

MULTIPLEKSER
Kod algebarske analize uzimali smo prvih m varijabli.
Znamo da moemo izabrati bilo kojih m varijabli.
Varijable biramo po kriteriju minimalnosti sklopa!
Za sluaj koritenja LOGIKIH VRATA
adresne varijable za osnovni multiplekser biramo tako
da ukupna struktura bude minimalna
Za sluaj koritenja MULTIPLEKSERSKOG STABLA
adresne varijable za osnovni multiplekser biramo tako
da to vei broj grana stabla bude eliminiran
to vei broj preostalih funkcija mora biti
FUNKCIJA JEDNE VARIJABLE

MULTIPLEKSER
SPECIJALNI SLUAJ: n=m+1
Sve preostale funkcije su funkcije jedne varijable
Multiplekserom s m adresnih ulaza moemo realizirati
funkciju s m+1 varijabli.
Multiplekser neposredno realizira PDNO funkcije, bilo u
osnovnom obliku ili nakon razbijanja na parcijalne funkcije.
Preostale funkcije raunamo koritenjem metode
Veitchevog dijagrama.
Veitchev dijagram se izborom adresne varijable raspada na
dijelove, od kojih svaki predstavlja jednu preostalu funkciju!

58

MULTIPLEKSER
Prisjetimo se, za n=3, m=1 i 2:

MULTIPLEKSER
Ili npr. Za n=4, m=2:

59

MULTIPLEKSER
Primjer za ranije zadanu funkciju, m=1:
x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

f (x )
1
0
0
0
1
1
1
1

x2 :

f0 x 2 x3 :

f 00 = 1

f1 = x 1

f 01 = x 1

MULTIPLEKSER
Nacrtamo shemu:

60

DEMULTIPLEKSER
DEMULTIPLEKSER je sklop koji ima

m adresnih ulaza am-1..., a1, a0


2m informacijskih izlaza i2n-1, , i1, i0
1 informacijski ulaz u
kontrolne ulaze k (ne u kolskom modelu)
DEMULTIPLEKSER dovodi vrijednost sa informacijskog
ulaza u na onaj informacijski izlaz ij, iji je redni broj
j u prirodnom binarnom obliku, kao kodna rije, prisutan
na adresnim ulazima am-1..., a1, a0.
Kontrolni ulaz k iskljuuje sklop postavljajui izlaze u
logiku 0 ili u stanje visoke impedancije.
Stvarni demultiplekseri imaju esto INVERTIRANE izlaze.

DEMULTIPLEKSER
Demultiplekser sa m adresnih ulaza:

61

DEMULTIPLEKSER
Pokuajmo na osnovu definicije nacrtati shemu i formulu:

i j = m j (a ) u
j = 0K 2m 1

i j = m j (a ) u
j = 0K 2m 1

DEMULTIPLEKSER
Demultiplekser realiziramo NI vratima (invertirani izlazi):

62

DEMULTIPLEKSER
Demultiplekser koristimo:
Ako je informacijski ulaz slobodno promjenljiv, a adresa
stacionarna, odabrani izlaz e slijediti vrijednost sa ulaza.
Obavili smo razvoenje ulaza na odabrani izlaz.
Ako se informacijski ulaz mijenja istovremeno (sinkrono) sa
adresama, a adrese mijenjamo u prirodnom binarnom nizu,
na izlazima e se pojaviti niz bita sa ulaza.
Obavili smo serijsko-paralelnu pretvorbu.
Ako na ulaz trajno dovedemo 1, adresom biramo jedan od
izlaza. Demultiplekser preuzima funkciju DEKODERA.
Demultiplekser se esto zove DEKODER ili kombinirano
dekoder-demultiplekser.

DEMULTIPLEKSER
Realizirajmo Booleovu funkciju pomou demultipleksera:
Demultiplekser koristimo u sklopu DEKODERA:

u =1
i j = m j (a ) 1 = m j (a )
j = 0K 2m 1
Vidimo da realizira sve minterme od m varijabli.
Dovoljno je dodati ILI vrata, te direktno realizirati PDNO
funkcije.

63

DEMULTIPLEKSER
Za n=m:
2 m 1

f (x ) = m j (x ) Tj
j= 0

i j = m j (a )

a m 1 , K , a 1 , a 0
x 1 , K, x m 1 , x m
a e = x m e
e = 0 K m 1

m j (a ) = m j (x ) = i j

2 m 1

f (x ) = i j Tj
j= 0

DEMULTIPLEKSER
Na ILI vrata spojimo samo one izlaze, za koje je vrijednost
funkcije jednaka jedinici (simboliki prikaz):

Mana: realizira PDNO, nema minimizacije


Prednost: realizira vie funkcija istih varijabli

64

DEMULTIPLEKSER
Ako dvostruko negiramo izraz:

f (x ) =

2 m 1

2 m 1

2 m 1

i j T j = i j Tj = & i j T j
j= 0

j= 0

j= 0

moemo koristiti
demultiplekser s
negiranim izlazima
i NI vrata:

DEMULTIPLEKSER
Umjesto ILI odnosno NI vrata koristimo diodnu logiku:

i realiziramo ILI vrata s potrebnim brojem ulaza.

65

DEMULTIPLEKSER
Za n>m pokuamo transformirati PDNO funkcije:
2n 1

2m 1

i =0

j=0

f (x ) = m i (x ) Ti = m j (x1 , K, x m ) f j (x m+1 ,K, x n )


2 m 1

f (x ) = i j f j (x )
i =0

2 m 1

2 n m 1

i =0

k =0

f (x ) = i j m k (x ) T2nm j+ k

DEMULTIPLEKSER
Rjeenje rezultira nezgrapnim sklopom:

66

DEMULTIPLEKSER
Ako preostalu funkciju realiziramo demultiplekserom
moemo koristiti ulaz, koji je konjunktivno vezan sa izlazima,
a ranije smo ga iskljuili:
2 m 1

2 n m 1

i =0

k =0

f (x ) = i j u i k (x ) T2nm j+ k
na nain da izlaz glavnog demultipleksera dovedemo na ulaz
demultipleksera preostale funkcije.
Dobili smo DEMULTIPLEKSERSKO STABLO!
Potpuno stablo ekvivalentno je jednom demultiplekseru.
Izborom adresnih varijabli eliminiramo grane stabla, kad je
preostala funkcija jednaka KONSTANTI 0 ili 1.

DEMULTIPLEKSER
Sklop sada ima strukturu:

67

DEMULTIPLEKSER
Primjer za ranije zadanu funkciju, m=3:
Direktno realiziramo PDNO. Pazimo na REDOSLIJED:
x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

f (x )
1
0
0
0
1
1
1
1

DEMULTIPLEKSER
Primjer za ranije zadanu funkciju, m=1:

x1 :

f1 = 1
f 0 x 1 x 2 : f 00 x 1 x 2 x 3 : f 000 = 1
f 01 = 0

f 001 = 0

68

DEMULTIPLEKSER
Crtamo shemu:

DEMULTIPLEKSER
Primjetimo da osnovni demultiplekser nije potreban:
2 n 1

f (x ) = m i (x ) Ti =
i =0
1

= m j (x 1 ) f j (x 2 K x m ) =
j= 0

= m 0 (x 1 ) f 0 (x ) m1 (x 1 ) f1 (x ) =
= x 1 f 0 (x ) x 1 f1 (x ) =
= i 0 f 0 (x ) i1 f1 (x )

69

DEMULTIPLEKSER
Za gornji primjer:

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Demultiplekserom realizirajmo preostale funkcije
multipleksera, ili multiplekserom razbijmo ILI vrata
demultipleksera na vie manjih:

70

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Teimo da matrica bude kvadratina:

f (x 1 , K, x n )

m+d=n

(M je broj multipleksera)
Broj logikih vrata:

L = 2 m + 2d
je minimalan kad je matrica
kvadratina!
Ovu strukturu integriramo
i dobijemo ROM
(Read Only Memory),

M 2 m 2d
2m
2
4
8

m
1
2
3

d
9
8
7

4
5
6
7

6 16
5 32
4 64
3 128

2d
L
512 514
256 260
128 136
64
32
16
8

80
64
80
136

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
odnosno varijante:
PROM, EPROM, EEPROM, Flash-EPROM
PROM:

EPROM, EEPROM, Flash:

Ili RAM (Random Access Memory)


i varijante SRAM i DRAM (bistabili, parazitni kapaciteti).

71

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
EPROM 27256:

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Demultiplekser i ROM:
programabilna ILI matrica,
demultiplekser realiziran I vratima - FIKSNA I matrica

72

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Ideja: PROGRAMABILNE OBJE MATRICE - FPLA
omoguiti minimizaciju pojedine funkcije,
omoguiti izbor elementarnih lanova

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Praksa: PAL, GAL
FPLA kompliciran,
dovoljna je programabilna I matrica

73

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Struktura GALa:

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Fleksibilnost:
koncept makro elije,
povratne veze

74

MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
CPLD, ASIC
Logiki blokovi
Spojne veze
U/I blokovi

Hardware definition language VHDL

75

S-ar putea să vă placă și