Professional Documents
Culture Documents
DVSP 2 New
DVSP 2 New
1. UVOD
2. SINTEZA KOMBINACIJSKIH
LOGIČKIH STRUKTURA
3. SINTEZA SEKVENCIJALNIH
SKLOPOVA
4. OSNOVE ARHITEKTURE
MIKRORAČUNALA
2. SINTEZA KOMBINACIJSKIH
LOGIČKIH STRUKTURA
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
ISTINA (TRUTH) … T
NEISTINA (FALSE) … ⊥,F
tablicu zovemo TABLICA ISTINE
ALGEBRA LOGIKE
x1 x 2 x1 & x 2 x1 ∨ x 2 x1 x2
0 0 0 0 1 1
0 1 0 1 1 0
1 0 0 1 0 1
1 1 1 1 0 0
ALGEBRA LOGIKE
REDOSLIJED:
• negacija (i sve ispod)
• konjunkcija
• disjunkcija
ALGEBRA LOGIKE
Pišemo i čitamo:
x1 & x 2 = x1 ∧ x 2 = x1 ⋅ x 2 = x1 x 2 x1 i x 2 / x1 x 2
x1 ∨ x 2 = x1 ∨ x 2 x1 ili x 2 x1 vel x 2
ALGEBRA LOGIKE
5. APSORPCIJA za konjunkciju: x1 ⋅ 0 = 0
≡ 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
3. IDEPOTENTNOST za konjunkciju: 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
x1 x1 (x1 ) = x1
0 1 0
1 0 1
ALGEBRA LOGIKE
A⋅A = 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
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
BOOLEOVA FUNKCIJA
y = f (x 1 , x 2 ,K, x n )
je preslikavanje iz skupa svih kodnih riječi u skup Booleovih
S = {0, 1}; x ∈ S
konstanti S:
2.2. BOOLEOVE FUNKCIJE
grafički:
BOOLEOVE FUNKCIJE
y = x1 ∨ x1 ⋅ x 2 ⋅ x 3
jer uvodi operatorske veze među varijablama potrebne za
crtanje logičkog dijagrama i sheme:
Kružić
označava
x1 V y negaciju
x2 &
x3
BOOLEOVE FUNKCIJE
U praksi su najvažniji
NORMALNI ALGEBARSKI OBLICI
zbog:
• moguće ih je napisati neposredno iz tablice istine
• omogućavaju izradu sklopa s najmanjim kašnjenjem
• sklop ima jednoliko kašnjenje
• moguće ih je minimizirati egzaktnim postupcima
• garantiran je prijelaz na NI i NILI operatore
BOOLEOVE FUNKCIJE
m 3 (x 1 , x 2 , x 3 ) = x 1 ⋅ x 2 ⋅ x 3
011
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
M 3 (x 1 , x 2 , x 3 ) = x 1 ∨ x 2 ∨ x 3
011
y = (x 1 ∨ x 2 ∨ x 3 ) ⋅ (x 1 ∨ x 2 ∨ x 3 ) ⋅ (x 1 ∨ x 2 ∨ x 3 )
BOOLEOVE 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 )
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
mi = M i Mi = mi
mi ∨ Mi = 1 mi Mi = 0
mi m j = 0 Mi ∨ M j = 1
i≠ j i≠ j
BOOLEOVE FUNKCIJE
NEGIRANA FUNKCIJA
x1 x2 x3 f 2 (x ) f 2 (x )
0 0 0 1 0
0 0 1 R R
0 1 0 0 1
0 1 1 0 1
1 0 0 1 0
1 0 1 1 0
1 1 0 1 0
1 1 1 1 0
BOOLEOVE FUNKCIJE
NEGIRANA FUNKCIJA
2 n −1
f (x ) = ∨ m i Ti ⇒
i=0
i=0 i =0 i=0 i =0
2 n −1 2 n −1 2 n −1 2 n −1
f (x ) = & (M i ∨ Ti ) = ∨ M i ∨ Ti = ∨ M i ⋅ Ti = ∨ m i ⋅ Ti
i =0 i =0 i=0 i =0
x1 x2 x3 f1 f2
0 0 0 1 1
0 0 1 0 R
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 1 1
BOOLEOVE FUNKCIJE
Dvodimenzionalne tablice:
tablica crtana dvodimenzionalno štede prostor na papiru:
Grayev kod: i x1 x2 x3
ima svojstvo susjednosti: 0 0 0 0
1 0 0 1
2 0 1 1
3 0 1 0
4 1 1 0
5 1 1 1
6 1 0 1
7 1 0 0
K-TABLICE (Karnaugh):
tablica istine crtana dvodimenzionalno, Grayev kod:
LOGIČKI 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: 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
x1 x2 x3
f1 (x)
td td
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
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
{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 ) ⇒
= 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
BOOLEOVE FUNKCIJE
x1 x2 x3 f (x )
0 0 0 1 T0
f 0 (x 3 )
0 0 1 0 T1
f 0 (x 2 , x 3 )
0 1 0 0 T2
f1 (x 3 )
0 1 1 0 T3
1 0 0 1 T4
f 2 (x 3 )
1 0 1 1 T5
f1 (x 2 , x 3 )
1 1 0 1 T6
f 3 (x 3 )
1 1 1 1 T7
BOOLEOVE FUNKCIJE
Za funkciju f1
BOOLEOVE FUNKCIJE
(2 ) f 3 (x 1 ) = 1
N=2 ; F=2 =2 =2
n n
n 2 N
BOOLEOVE FUNKCIJE
P.S.F.A.L. : {&, ∨, −}
SKUP JE POTPUN AKO MOŽEMO IZRAZITI (&,V, -)
BOOLEOVE FUNKCIJE
{∨,−}: x1 ∨ x 2
x1
x 1 ⋅ x 2 = x 1 ⋅ x 2 = x 1 ∨ x 2 ⇒ potpun je!
BOOLEOVE FUNKCIJE
(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
⇒ x 1 | x 2 | x 3 ≠ (x 1 | x 2 ) | x 3
(x1 | x 2 ) | x 3 = x1 x 2 x 3
koristimo sustav (&,-) i svojstvo asocijativnosti konjunkcije
BOOLEOVE FUNKCIJE
(x 1 ↓ 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 2 ↓ x 3 = x1 ∨ x 2 ∨ x 3
1
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 uštedama u sklopu:
= (x 2 ∨ x 3 ∨ x1 ) ⋅ (x 2 ∨ x 3 ∨ x1 ) ⋅ (K) =
P4 a
= (x 2 ∨ x 3 ∨ (x1 ⋅ x1 )) ⋅ (K) =
P5 b
= (x 2 ∨ x 3 ∨ 0 ) ⋅ (K) =
P2 a
= (x 2 ∨ x 3 ) ⋅ (K)
ISTA UŠTEDA!
MINIMIZACIJA NORMALNIH OBLIKA
x1 ∨ x1 = x1 x1 & x1 = x1
• proširenje redundantnim članom:
izvorište nikad neće poslati kodnu riječ
koja nema značenja
⇒ za tu kodnu riječ sklop može obaviti
proizvoljno preslikavanje
Uštedimo jedan ulaz na prvoj razini (može biti značajno)!
MINIMIZACIJA NORMALNIH OBLIKA
= x1 x 2 ∨ x1 x 3 ∨ K
MINIMIZACIJA NORMALNIH OBLIKA
f (x ) = x 1 x 2 ∨ x 1 x 3 f (x ) = x 1 ⋅ (x 2 ∨ x 3 )
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 upišemo 1 i R
• zaokružimo sve jedinice
što manjim brojem što većih površina
• ispišemo MDNO na osnovu “koordinata površina”
• dvostruko zaokruživanje jedinice znači
proširenje postojećim članom
• zaokruživanje redundantnog člana znači proširenje izraza
tim članom i time sklop obavlja preslikavanje u 1
• ne-zaokruživanje redundantnog člana znači izostavljanje
tog člana i time sklop obavlja preslikavanje u 0
MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
DEFINIRAMO MDNO:
Minimalni disjunktivni normalni oblik je disjunkcija nužnih
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.
Nužni elementarni član je onaj, bez kojeg bi vrijednost
funkcije bila poremećena.
MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
DEFINIRAMO MKNO:
Minimalni konjunktivni normalni oblik je konjunkcija
nužnih 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.
Nužni elementarni član je onaj, bez kojeg bi vrijednost
funkcije bila poremećena.
MINIMIZACIJA VEITCHEVIM
DIJAGRAMOM
MINIMIZACIJA PKNO u MKNO:
preko PKNO - NE
problem disjunkcija, zagrada i negativne logike
preko NEGIRANE (inverzne) FUNKCIJE:
• u Veitchev dijagram upišemo PDNO negirane funkcije
• provedemo postupak za MDNO i izračunamo 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:
i x1 x2 x3 f (x )
0 0 0 0 1
1 0 0 1 R
2 0 1 0 0
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1 f (x ) = x 1 ∨ x 2
QUINN-McCLUSKY POSTUPAK
f (x ) = x 1 ∨ x 2
HARVARDSKA METODA
i x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 f (x )
0 x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 0
1 x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 R
2 x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 0
3 x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 0
4 x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 1
5 x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 1
6 x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 1
7 x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 1
HARVARDSKA METODA
PROVODIMO POSTUPAK:
• u gornji red upišemo kombinacije varijabli
• u desni stupac upišemo vrijednost funkcije
• (1) prekrižimo sve redove za koje je vrijednost funkcije 0
• prekrižimo (ravno) sve brojeve koji su prekriženi u (1)
• s desna na lijevo, prekrižimo (koso) sve brojeve koji s lijeve
strane imaju neprekrižen kraći broj (član)
• neprekriženi brojevi su elementarni članovi
• izaberemo nužne elementarne članove
• ispišemo MDNO
MKNO dobijemo preko inverzne funkcije
Koristi se često u računalnim programima za minimizaciju.
HARVARDSKA METODA
Za raniji primjer:
i x1 x2 x3 x1 x 2 x1 x 3 x2 x3 x1 x 2 x 3 f (x )
0 0 0 0 0 0 0 0 1
1 0 0 1 0 1 1 1 R
2 0 1 0 1 0 2 2 0
3 0 1 1 1 1 3 3 0
4 1 0 0 2 2 0 4 1
5 1 0 1 2 3 1 5 1
6 1 1 0 3 2 2 6 1
7 1 1 1 3 3 3 7 1
f (x ) = x 1 ∨ x 2
REALIZACIJA BF NI i NILI VRATIMA
NI I NILI su PSFAL:
• jednim tipom vrata realiziramo proizvoljnu funkciju
• postižemo optimalni (minimalni) broj integriranih krugova
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 .
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
f 2 (x ) = x 2 x 4 ∨ x 1 x 3
f 2 (x ) = x 2 x 4 ∨ x 1 x 3 = x 2 ∨ x 4 ∨ x 1 ∨ x 3
REALIZACIJA BF NI i NILI VRATIMA
f 2 (x ) = (x 2 ∨ x 4 ) ⋅ (x 1 ∨ x 3 ) = x 2 ∨ x 4 ∨ x 1 ∨ x 3
PRIMJER ZA NI VRATA
x1 x2 x3 f (x )
0 0 0 1 f 1 (x ) = x 1 ∨ x 2 x 3 = x 1 ∨ x 2 x 3
0 0 1 0
0
0
1
1
0
1
0
0
f1 (x ) = x 1 ⋅ x 2 x 3
1 0 0 1
1 0 1 1 x1 x2 x 3
1 1 0 1
1 1 1 1
f1 (x)
PRIMJER ZA NILI VRATA
x1 x2 x3 f (x )
0 0 0 1 f 2 (x ) = x1 x 2 ∨ x1 x 3
0 0 1 0
0 1 0 0 f 2 (x ) = x 1 x 2 ∨ x 1 x 3 = x 1 ∨ x 2 ∨ x 1 ∨ x 3
0 1 1 0
f 2 (x ) = x 1 ∨ x 2 ∨ x 1 ∨ x 3
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
SKLOPOVI ZA ZBRAJANJE
Želimo izračunati sumu:
a+b=s
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
SKLOPOVI ZA ZBRAJANJE
Na najmanje značajnom bitu imamo:
b0 a0 s0 c0
0 0 0 0
0 1 1 0
1 0 1 0
1 1 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:
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:
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
SKLOPOVI ZA ZBRAJANJE
Pokušajmo minimizirati:
Transformiramo:
s j = a j b j c j−1 ∨ a j b j c j−1 ∨ a j b jc j−1 ∨ a j b j c j−1
( ) (
s j = c j−1 a j b j ∨ a j b j ∨ c j−1 a j b j ∨ a j b j )
s j = c j−1 a j ⊕ b j ∨ c j−1 (a j ⊕ b j ) s j = c j−1 ⊕ (a j ⊕ b j )
SKLOPOVI ZA ZBRAJANJE
Nacrtamo korištenjem dva polusumatora:
SKLOPOVI ZA ZBRAJANJE
Potrebno je generirati pretek:
c j = a j b j ∨ b j c j−1 ∨ a j c j−1
proširimo:
(
c j = a j b j ∨ (a j ∨ a j )b j c j−1 ∨ a j b j ∨ b j c j−1 )
c j = a j b j ∨ a j b j c j−1 ∨ a j b j c j−1 ∨ a j b j c j−1 ∨ a j b j c j−1
c j = a j b j ∨ a j b j c j−1 = a j b j (1 ∨ c j−1 ) = a j b j
kako je:
slijedi:
(
c j = a j b j ∨ c j−1 a j b j ∨ a j b j )
SKLOPOVI ZA ZBRAJANJE
i konačno:
selektor/multiplekser dekoder/demultiplekser
MULTIPLEKSER, DEMULTIPLEKSER I
ENKODER PRIORITETA
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
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 riječi.
Obavili smo paralelno-serijsku pretvorbu.
Multiplekser se često još naziva i SELEKTOR, ili
kombinirano multiplekser-selektor.
MULTIPLEKSER
Realizirajmo Booleovu funkciju pomoću multipleksera:
i = f (x 1 , K, x n )
Vrijednost funkcije se može pojaviti
samo na izlazu multipleksera:
MULTIPLEKSER
Slijedi:
2 m −1 2 n −1
∨ m j (a m −1 , K, a 0 ) u j = ∨ m i (x 1 , K, x n )Ti
j= 0 i=0
2 m −1 2 m −1
∨ m j (a ) u j = ∨ m j (x )Tj
j= 0 j= 0
m j (a ) = m j (x ) ⇒ a e = x m −e
a m −1 a m − 2 K a 1 a0
x1 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
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 zajedničkim prvim
dijelom, te korištenjem svojstva distributivnosti izlučimo
prvi, zajednički dio:
2 m −1
j= 0
[
f (x ) = ∨ m j (x 1 K x m ) m 0 (x m +1 K x n )Tj2 n −m
+0
∨K
K ∨ m2 n −m
−1
(x m +1 K x n )Tj2 n −m
+ 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
∨ 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 )
j= 0 j=0 j=0
m j (a ) = m j (x ) a e = x m−e uj = fj
i j = m j (a ) u
j = 0K 2 − 1
m
i j = m j (a ) u
j = 0K 2m − 1
DEMULTIPLEKSER
Demultiplekser realiziramo NI vratima (invertirani izlazi):
DEMULTIPLEKSER
Demultiplekser koristimo:
Ako je informacijski ulaz slobodno promjenljiv, a adresa
stacionarna, odabrani izlaz će slijediti vrijednost sa ulaza.
Obavili smo razvođenje 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
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.
DEMULTIPLEKSER
Za n=m:
2 m −1
f (x ) = ∨ m j (x ) Tj ⇒ i j = m j (a )
j= 0
a m −1 , K , a 1 , a 0
x 1 , K, x m −1 , x m
a e = x m −e
m j (a ) = m j (x ) = i j
e = 0 K m −1
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 (simbolički prikaz):
2 m −1 2 m −1
f (x ) = ∨ i j Tj = ∨ i j Tj = & i j Tj
2 m −1
j= 0 j= 0 j= 0
možemo koristiti
demultiplekser s
negiranim izlazima
i NI vrata:
DEMULTIPLEKSER
2 m −1
⇒ f (x ) = ∨ i j f j (x )
i =0
2 m −1 2 n −m −1
⇒ f (x ) = ∨ i j ∨ m k (x ) T2n−m ⋅ j+ k
i =0 k =0
DEMULTIPLEKSER
Rješenje rezultira nezgrapnim sklopom:
DEMULTIPLEKSER
Ako preostalu funkciju realiziramo demultiplekserom
možemo koristiti ulaz, koji je konjunktivno vezan sa izlazima,
a ranije smo ga isključili:
2 m −1 2 n −m −1
f (x ) = ∨ i j ∨ u ⋅ i k (x ) T2n−m ⋅ j+ k
i =0 k =0
x1 x2 x3 f (x )
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
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
DEMULTIPLEKSER
Crtamo shemu:
DEMULTIPLEKSER
Primjetimo da osnovni demultiplekser nije potreban:
2 n −1
f (x ) = ∨ m i (x ) Ti =
i =0
= ∨ m j (x 1 ) f j (x 2 K x m ) =
1
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 )
DEMULTIPLEKSER
Za gornji primjer:
MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
L=2 +2
m d 2 8 4 256 260
3 7 8 128 136
je minimalan kad je matrica 4 6 16 64 80
kvadratična!
5 5 32 32 64
Ovu strukturu integriramo 6 4 64 16 80
i dobijemo ROM 7 3 128 8 136
(Read Only Memory),
MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
odnosno varijante:
PROM, EPROM, EEPROM, Flash-EPROM
PROM: EPROM, EEPROM, Flash:
EPROM 27256:
MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Demultiplekser i ROM:
• programabilna ILI matrica,
• demultiplekser realiziran I vratima - FIKSNA I matrica
MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Ideja: PROGRAMABILNE OBJE MATRICE - FPLA
• omogućiti minimizaciju pojedine funkcije,
• omogućiti izbor elementarnih članova
MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Praksa: PAL, GAL
• FPLA kompliciran,
• dovoljna je programabilna I matrica
MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Struktura GALa:
MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
Fleksibilnost:
• koncept makro ćelije,
• povratne veze
MULTIPLEKSERSKO-DEMULTIPLEKSERSKA
STRUKTURA
CPLD, ASIC
Logički blokovi
Spojne veze
U/I blokovi