Professional Documents
Culture Documents
PLK pr4 17
PLK pr4 17
LOGIČKA KOLA
KOMBINACIONE LOGIČKE
MREŽE
Grafički opis dizajna i hijerarhijski princip
projektovanja digitalnog hardvera
Kombinacione mreže
Kombinacione mreže imaju izlaze čija
vrednost zavisi samo od trenutnih
vrednosti ulaznih signala
Primeričesto korišćenih kombinacionih
mreža u digitalnim sistemima su:
Dekoderi
x0
Koderi
x1 f0
Multiplekseri
x2
Demultiplekseri f2
Kombinaciona
Komparatori
mreža
Sabirači/oduzimači
fm
Aritmetičko/logičke jedinice xn-2
... xn-1
Dekoderi
Dekoder n/2n
n ulaza
2n izlaza
Ulaz za dozvolu rada
E = 0 yi = 0 (i = 0,…,2n-1) za bilo koju kombinaciju vrednosti
ulaznih promenljivih svi izlazi imaju vrednost 0
E = 1 yi = 1 (i = 0,…, 2n-1) za odgovarajuću kombinaciju
vrednosti ulaznih promenljivih samo jedan od izlaza ima
vrednost 1
x0 f0
. .DEC n/2
n . . . .
n
ulaza . . . . 2n
x n-1 . . izlaza
dozvola
rada E f2n-1
Dekoderi
Dekoder 2/4
2 ulaza
4 izlaza
E ulaz za dozvolu rada
x0
f0
x1
DEC 2/4 E x 1 x 0 f3 f2 f1 f1
f0
x0 f0
f1 1 0 0 0 0 0 1
x1 1 0 1 0 0 1 0 f2
f2
1 1 0 0 1 0 0
E f3 1 1 1 1 0 0 0
f3
0 X X 0 0 0 0 E
x y f
0 0 4
x y f
1 1 5
y
DEC1 2 f
6
x x y y
2 E f
0 0 3 7
x x y
3 1 1
y
DEC 2 x y f
0 0 8
E E y
3 x y f
1 1 9
y f
DEC2 2 10
E y f
3 11
x y f
0 0 12
x y f
1 1 13
DEC3 y2 f
14
DEC 4/16 E y
3
f
15
Koderi
Binarni koder 2n/n
2n ulaza
n izlaza
na izlazima (f0,…fn) se dobija n-bitni broj čija vrednost
odgovara indeksu ulaza koji ima vrednost 1
Samo jedan od ulaza (x0,…,x2n-1) sme da ima vrednost 1
KODER 2n/n
x0
f0
2n . . . .
. . . . n
ulaza
. . . . izlaza
f n-1
x
2n -1
Koderi
Binarni koder 4/2
x0
x3 x2 x1 x0 f 1 f 0 x1
f0
x x x x x x
0 0 0 1 0 0 x2
0 0 1 0 0 1
0 1 0 0 1 0 x3 f1
1 0 0 0 1 1
x x x x x x (b) realizacija
x x x x x x x1 x0 x1 x0
x x x x x x
. . . . . . x3 x2 00 01 11 10 x3 x2 00 01 11 10
00 x 0 x 1 00 x 0 x 0
. . . . . . 01 0 x x x 01 1 x x x
. . . . . . 11 x x x x 11 x x x x
x x x x x x 10 1 x x x 10 1 x x x
(a) tabela istinitosti
f0 x1 x3 f1 x2 x3
izlaz je nedefinisan
Koderi
Primena binarnog kodera 8/3 za kodiranje
položaja višepoložajnog preklopnika
x0
x1
0 1
2
x2
Binarni koder
7 y2 0
6 3 x3
8 /3
5 4 y1 1
x4
y0 1
x5
x6
x7
Koderi
Prioritetni koder 4/2
Svakom ulazu (x0,…,x3) je dodeljen
prioritet
Binarni broj dobijen na izlazu
dekodera (y1, y0) ukazuje na indeks
aktivnog ulaza najvišeg prioriteta
x1 x0 x1 x0
x3 x2 x1 x0 y1 y0 x3 x2 00 01 11 10 x3 x2 00 01 11 10
00 x 0 1 1 00 x 0 0 0
0 0 0 0 X X 01 1 1 1 1
01 0 0 0 0
0 0 0 1 0 0
0 0 1 X 0 1 11 1 1 1 1 11 1 1 1 1
0 1 X X 1 0 10 1 1 1 1 10 1 1 1 1
1 X X X 1 1
y0 x3 x 2 x1 y1 x2 x3
Multiplekseri
Multiplekser 2/1
2 ulazna podatka
1 kontrolni ulaz
1 izlaz
s x1 x0 f
s
s f 0 0 0 0
s 0 0 1 1
Digitalni 0 1 0 0
x1 1 prekidač 0 1 1 1
0 x0
MUX 2/1
x1 1 0 0 0
f f 1 0 1 0
x0 1 x1
x0 0 1 1 0 1
1 1 1 1
f s x0 s x1
Multiplekseri
Multiplekser 4/1
4 ulazna podatka
2 selekciona ulaza
1 izlaz
s0
s1
s0 x0
s1 s1 s0 f
x1
x0 0 0 0 x
MUX 4/1
0
x1 1 0 1 x f
f 1
x2 2 1 0 x 2 x2
x3 3 1 1 x 3
x3
f s1 s0 x0 s1 s0 x1 s1 s0 x2 s1 s0 x3
Multiplekseri
s
x0 0
MUX 2/1
f0
Multiplekser 2xm/m y0 1
MUX 2/1
2 m-bitna ulaza f1
y1 1
1 m-bitni izlaz
s
Mreža sa jednim
nivoom logike x0 .. xm-1
m
MUX 2xm/m
0
m
f0 .. fm-1 xm-1 0
MUX 2/1
m
y0 .. ym-1 1 fm
ym-1 1
x0
0
MUX 2/1
Multiplekser 8/1 x1
0
s2 s1 s0 f
MUX 2/1
primenom
0 0 0 x0
1
x2
multipleksera 2/1
0
MUX 2/1
0 0 1 x1
0 1 0 x2
8 ulaza x3
1
x3
0
0 1 1
MUX 2/1
1 0 0 x4 f
1 izlaz 1 0 1 x5 x4
1
0
MUX 2/1
Mreža sa tri 1 1 0 x6
x7
1 1 1
nivoa logike x5
0
MUX 2/1
(a) tabela istinitosti
1
x6
0
MUX 2/1
x7
1
(b) struktura mreže
Kombinacioni pomerači i rotatori na
bazi multipleksera 2/1
Univerzalni pomerač/rotator za jednu bitsku
poziciju
U režimu pomerača na priključke dl i dd može da se
dovede vrednost 1 ili 0 (to su vrednosti koje se
upisuju na upražnjena mesta u registru)
S2 S1 S0 Funkcija
d7 d6 d5 d4 d3 d2 d1 d0
dl
dd 0 X X Nema pomeranja
S2 1 0 0 Pomeranje ulevo
S1 1 0 1 Rotiranje ulevo
S0
y7 y6 y5 y4 y3 y2 y1 y0 1 1 0 Pomeranje udesno
1 1 1 Rotiranje udesno
Kombinacioni pomerači i rotatori na
bazi multipleksera 2/1
Nema pomeranja Pomeranje ulevo Pomeranje udesno
d7 d6 d5 d4 d3d2 d1 d0 d7 d6 d5 d4 d3d2 d1 d0 d7 d6 d5 d4 d3d2 d1 d0
X dl X dl 1/0 dl
X dd 1/0 dd X dd
0 S2 1 S2 1 S2
0 S1 0 S1 1 S1
X S0 0 S0 0 S0
X dl X dl 0 X X Nema pomeranja
X dd X dd
1 S2 1 S2
1 0 0 Pomeranje ulevo
0 S1 1 S1 1 0 1 Rotiranje ulevo
1 S0 1 S0
1 1 0 Pomeranje udesno
1 1 1 Rotiranje udesno
d6 d5 d4 d3 d2d1 d0 d7 d0 d7 d6 d5 d4d3 d2 d1
Kombinacioni pomerači i rotatori na
bazi multipleksera 2/1
Pomerač/rotator za jednu bitsku poziciju
Realizacija pomoću multipleksera
d7 d6 d5 d4 d3 d2 d d
1 0
dd
dl
1 0 1 0
S mux mux
0
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
mux mux mux mux mux mux mux mux
S1
S2
y7 y6 y5 y4 y3 y2 y1 y0
Kombinacioni pomerači i rotatori na
bazi multipleksera 2/1
d7 d6 d5 d4 d3 d2 d1 d0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
mux mux mux mux mux mux mux mux
S0
Rotator za
proizvoljan
broj pozicija 1
mux
0 1
mux
0 1
mux
0 1
mux
0 1
mux
0 1
mux
0 1
mux
0 1
mux
0
Podatak se S1
rotira za
broj bita koji
se zadaje
selekcionim
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
signalima mux mux mux mux mux mux mux mux
S0, S1 i S2 S2
y7 y6 y5 y4 y3 y2 y1 y0
Demultiplekseri
Demultiplekser 1/4
s0
1 ulazni podatak s1 s1 s0 f3 f2 f1 f0
0 f0 0 0 0 0 0 d
2 kontrolna ulaza
DMUX 4/1
1 f1 0 1 0 0 d 0
d f2
2 1 0 0 d 0 0
4 izlaza
3 f3 1 1 d 0 0 0
Demultiplekser 1/4 s0 x0 y0 f0
s1 x1 y1
primenom dekodera y2
f1
f2
2/4 i obrnuto d E
y3 f3
E X =Y
n
Y y0..n-1 L X<Y
Komparatori
1–bitni komparator je mreža koja ima
2 jednobitna ulaza
3 jednobitna izlaza (G, E, L)
G X Y
X G (X > Y)
KOMPARATOR E (X = Y) E X Y X Y X Y X Y X Y
Y L (X < Y)
L X Y
X>Y X=Y X<Y
X Y
G E L G (X > Y )
0 0 0 1 0
X
0 1 0 0 1 E (X = Y )
1 0 1 0 0 Y
1 1 0 1 0 L (X < Y )
Komparatori
4-bitni komparator
2 četvorobitna ulaza
3 jednobitna izlaza (G, E, L)
x3
G ( x3 y3 )
x2
x1
G (x > y)
( x3 y3 )( x2 y2 )
x0 ( x3 y3 )( x2 y2 )( x1 y1)
( x3 y3 )( x2 y2 )( x1 y1)( x0 y0 )
KOMPARATOR E (x = y)
y3
y2
y1 L (x < y)
E ( x3 y3 )(x2 y2 )(x1 y1)(x0 y0 )
y0
L ( x3 y3 )
G x y ( x3 y3 )( x2 y2 )
E x y x y x y x y x y ( x3 y3 )( x2 y2 )( x1 y1)
L x y ( x3 y3 )( x2 y2 )( x1 y1)( x0 y0 )
Komparator
8-bitni komparator pomoću dva 4-bitna
komparatora
4 XH>YH
x3..0 G
XH G (X>Y)
XH=YH
E
8 4 XH<YH
X y3..0 L
YH
E (X=Y)
8 4 XL>YL
Y x3..0 G
XL XL=YL
E L (X<Y)
4 XL<YL
y3..0 L
YL
Komparatori
16-bitni komparator pomoću četiri 4-bitna
komparatora
1 g l K3 K2 K1 K0
E
0 g l G E L G E L G E L G E L
g1 g0 l0
1 g l g3 l3 g2 l2 l1
G
0 g l 4 4
1 g l x y
L K4
0 g l
G E L
Aritmetičke mreže
Polusabirač je kombinaciona mreža koja sabira
dva bita
2 jednobitna ulaza
2 jednobitna izlaza
Prenos Suma
x x y c s
0 0 1 1
+y +0 +1 +0 +1 0 0 0 0
cs 00 01 01 10 0 1 0 1
Bit Bit
prenosa sume
1 0 0 1
1 1 1 0
x
x s
s x y x y x y y
y s x
x
HA s
y HA
c x y c y c
HA c
Aritmetičke mreže
Potpuni sabirač je kombinaciona mreža koja
sabira dva bita i bit prenosa ci
si
3 jednobitna ulaza xi FA
ci+1
2 jednobitna izlaza yi
x i yi ci c i+ 1 s i
0 0 0 0 0 xi yi
xi yi
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0 HA
HA
1 0 0 0 1 ci
c s c s
1 0 1 1 0 ci+1 FA
1 1 0 1 0 c ci HA
1 1 1 1 1
HA ci+1 c s
Si xi yi ci FA
ci 1 ci ( xi yi ) xi yi
s
si si
Aritmetičke mreže
Višebitni sabirač sa rednim prenosom
(Ripple-Carry Adder)
Najsporijii najjednostavniji sabirači
Ukupno kašnjenje n-bitnog sabirača je:
tp = n∆t, gde je ∆t kašnjenje kroz jedan FA
c1
cn
FA
cn-1 ... c2
FA FA
c0
sn-1 s1 s0
...
sn-1 s0
... ...
s2n-1 sn sn-1 s0
Aritmetičke mreže
Sabirač/oduzimač na bazi višebitnog sabirača
Dodavanjem EX-ILI kola na jedan od ulaza
yn-1 y1 y0
... Add/Sub
xn-1 x1 x0
... ...
c0
cn n-bitni sabirač
...
sn-1 s1 s0
Analiza aritmetičkog prekoračenja
sabirača/oduzimača
Analitičko prekoračenje se javlja kada je rezultat
pozitivan i suviše veliki ili negativan i suviše mali
tako da ne može da se predstavi raspoloživim bitima
Primer: 4-bitni označen broj sa znakom
Nalazi se u opsegu: -810(10002) ÷ 710(01112)
Negativni brojevi se predstavljaju u drugom komplementu
Prenos koji se dobije sabiranjem dva označena broja se odseca
(ignoriše)
Analiza generisanja prenosa:
(-7) 1001 (+7) 0111 (-7) 1001
(+7) 0111
+ (+2) + 0010 + (-2) + 1110 + (-2) + 1110
+ (+2) + 0010
(-5) 1011 (+5) 1 0101 (-9) 1 0111
(+9) 1001
c4 = 0 c4 = 0 c4 = 1 c4 = 1
c3 = 1 c3 = 0 c3 = 1 c3 = 0
Netačan rezultat Netačan rezultat
Aritmetičke mreže
Sabirač/oduzimač sa detekcijom aritmetičkog
prekoračenja preko bita prenosa
yn-1 yn-2 y1 y0
Add/Sub
xn-1 xn-2 x1 x0
cn-1 cn
sn-1 sn-2 s1 s0
Pozicija MSB LSB
znaka pozicija pozicija
Sabirač/oduzimač sa detekcijom
prekoračenja
Sabirač/oduzimač sa detekcijom aritmetičkog
prekoračenja preko analize MSB ulaznih podataka
i sume
yn-1 y1 y0
... Add/Sub
xn-1 x1 x0
... ...
c0
(xn-1 sn-1) (yn-1 sn-1) n-bitni sabirač
Prekoračenje
...
sn-1 s1 s0
Univerzalna logička jedinica
Logička jedinica omogućava obavljanje jedne od
nekoliko raspoloživih logičkih iperacija (npr. AND,
OR, XOR...) nad dva proizvoljna n-bitna operanda
X= xn-1 … x0
Y= yn-1 … y0
Izabrana logička operacija se primenjuje na svaki
par bita iste težine dva višebitna operanda
Univerzalna logička jedinica može da obavi sve
logičke funkcije nad zadatim operandima
Izborlogičke funkcije obavlja se kontrolnim
signalima za selekciju
LU
m0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S0
m1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 S1
m2 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 S2
m3 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 S3
Univerzalna logička jedinica xi yi
Na bazi univerzalne
logičke jedinice za xi yi f0 f1 f2 f3 f4 f5 f6 f7
S0
f8 Sf19 f10 f11 f12 f13 f14 f15
jednobitne operande m0 0 0 0 1 0 1 0 1 0 1
S2
0 S13 0 1 0 1 0 1 S0
LU
(LU) može da se m1
m2
0
1
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
1
S1
S2
projektuje univerzalna m3 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 S3
m
logička jedinica za
m
si
LU m
višebitne operande
(b) (a)
m
si
x7 y7 x6 y6 x5 y5 x4 y4 x3 y3 x2 y2 x1 y1 x0 y0
(b)
S0
Y
S1
S2 x7 y7 x6
S3
S0
X Y
LU LU LU LU LU LU S1 LU LU
S2
S3
S0
S1 LU LU
S2 Logička jedinica
s7 s6 s5 s4 S3 s3 s2 s1 s0
Aritmetičko-logička jedinica (ALU)
ALU koja može da obavlja 4 aritmetičke i 4
logičke operacije
Izbor tipa aritmetičko/logičke operacije
M = 0 logička operacija
M = 1 aritmetička operacija
M=1 M=0
S1 S0 Ime funkcije S1 S0 Ime funkcije
0 0 Dekrement 0 0 Komplement
0 1 Sabiranje 0 1 AND
1 0 Oduzimanje 1 0 Identitet
1 1 Inkrement 1 1 OR
Aritmetičko-logička jedinica (ALU)
ALU na bazi višebitnog potpunog sabirača sa
rednim prenosom
a3 b3 a2 b2 a1 b1 a0 b0
S0
S1
M
LE AE LE AE LE AE LE AE
x3 y3 x2 y2 x1 y1 x0 y0
c3 c2 c1 c0
c4 FA FA FA FA
Prekoračenje f3 f2 f1 f0
M S1 S0 bi yi bi
1 0 0 0 1
1 0 0 1 1 S0
1 0 1 0 0 S1
M
1 0 1 1 1
1 S1
1 S0
0 0 1
bi 00 01 11 10 AE
1 1 0 1 0
0 1 1
1 1 1 0 0
1 1 1
1 1 1 1 0
yi = MS1'bi + MS0'bi’ yi
0 X X X 0
Aritmetičko-logička jedinica (ALU)
Logički ekspander (LE)
M S1 S0 Ime funkcije F X Y c0
0 0 0 Komplement A A 0 0
0 0 1 AND A AND B A AND B 0 0
0 1 0 Identitet A A 0 0
0 1 1 OR A OR B A OR B 0 0
ai bi
M S1 S0 xi
S0
0 0 0 ai S1
00 01 11 10 00
0 1 001 11 10
ai
1
1 0 1 1 1 ai+bi
1 1 1 1 1 1 1
1 1 X
1 1 X1 1 a1 i LE
xi=M'S1'S0'ai’+M'S1S0bi+S0aibi+S1ai+Mai
xi
Test 5 min
1. Šta se dobija na izlazu mreže multipleksera (f = ?) prikazane na Slici 1,
ako su vrednosti signala na priključcima s:
s2
s2 = 1 s1= 0 s0= 0 s1
s0
2. Kako se zove kombinaciona mreža čija
je realizacija prikazana na Slici 2 x
0
MUX 2/1
0
Slika 2 X
x1
0
MUX 2/1
A Y
B
1
x2
0
Z
MUX 2/1
3. Ako koder ima 6 ulaza, koliko treba da ima x3
0
MUX 2/1
f
izlaza? a) 64 b) 3 c ) 36
x4
1
0
4. Stanje na izlazu kombinacione mreže zavisi
MUX 2/1
a) samo od trenutnog stanja ulaza x5
0
MUX 2/1
b) od trenutnog stanja ulaza i signala takta
1
5. Demultiplekser može da se realizuje pomoću: x 6
0
MUX 2/1
a) multipleksera b) komparatora c) dekodera x 7
1
Slika 1