You are on page 1of 39

PROGRAMABILNA

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

(a) grafički simbol (b) tabela istinitosti (c) logička mreža


f0 = E∙ x1 · x0
f1 = E∙ x1 · x0
f2 = E∙ x1 · x0
f3 = E∙ x1 · x0
Dekoderi
 Dekoder 4/16 primenom dekodera 2/4
 Realizacija mreže u obliku stabla sa dva nivoa logike
x x y f
0 0 0 0
x x y f
1 1 1 1
DEC0 y f
2 2
E y f
3 3

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

primenom multipleksera 2/1


x1 0

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

(a) grafički simbol (b) struktura


s2
s1
Multiplekseri s0

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

d7 d6 d5 d4 d3d2 d1 d0 d6 d5 d4 d3 d2d1 d0 dd dl d7 d6 d5 d4d3 d2 d1

Rotiranje ulevo Rotiranje udesno


d7 d6 d5 d4 d3d2 d1 d0 d7 d6 d5 d4 d3d2 d1 d0 S2 S1 S0 Funkcija

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

(a) grafički simbol (b) tabela istinitosti

 Demultiplekser 1/4 s0 x0 y0 f0
s1 x1 y1
primenom dekodera y2
f1
f2
2/4 i obrnuto d E
y3 f3

(c) dekoder 2/4 kao


demultiplekser 1/4
Komparatori
 Komparator neoznačenih n-bitnih brojeva
2 n-bitna ulaza (X i Y)
 3 jednobitna izlaza (G, E, L)

 Samo jedan izlaz ima vrednost 1, dok su ostali na


0 u zavisnosti od odnosa ulaznih vrednosti:
G = 1 ako je X>Y
 E = 1 ako je X=Y
n
 L = 1 ako je X<Y X x0..n-1 G X >Y

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

X(3) Y(3) X(2) Y(2) X(1) Y(1) X(0) Y(0)


4 4 4 4 4 4 4 4

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

 ∆t = 2tg, gde je tg kašnjenje kroz jedan gejt


xn-1 yn-1 x1 y1 x0 y0

c1
cn
FA
cn-1 ... c2
FA FA
c0

sn-1 s1 s0

MSB pozicija LSB pozicija


Aritmetičke mreže
 2n-bitni sabirač na bazi xn-1 x0 yn-1 y0
n-bitnog sabirača ... ...
 Sprega višebitnih sabirača
sa rednim prenosom cn n-bitni sabirač c0

...
sn-1 s0

x2n-1 xn y2n-1 yn xn-1 x0 yn-1 y0

... ... ... ...


xn-1 x0 yn-1 y0 xn-1 x0 yn-1 y0
c2n cn n-bitni sabirač c0 cn n-bitni sabirač c0 c0
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

Prekoračenje cn-1 cn-2 c2 c1


cn
FA FA
... FA FA
c0

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

Univerzalna logička jedinica


 Logička jedinica (LU) koja može da obavi bilo koju
od 16 funkcija
yi
2 jednobitna operanda: x, y
X Y
 4 selekciona signala: S3, S2, S1 i S0
 1 jednobitni izlaz f S0
S1
koduje se preko kontrolnih signala Si i potpunih
 S2 Logička jedinica
S3
proizvoda mi za koje ima vrednost 1:
fi = S0m0+S1m1+S2m2+S3m3
S
f
(c)
xi yi f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15

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

 S1, S0 - izbor operacije

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

LE - logički ekspander AE - aritmetički ekspander


Aritmetičko-logička jedinica (ALU)
 Aritmetički ekspander (AE)
M S1 S0 Funkc. F X Y c0
1 0 0 Dekrement A-1 A sve jedinice 0
1 0 1 Sabiranje A+B A B 0
1 1 0 Oduzimanje A+B+1 A B 1
1 1 1 Inkrement A+1 A sve nule 1

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

0M=0 0 1M=1 aibi M

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

You might also like