Escolar Documentos
Profissional Documentos
Cultura Documentos
Capítulo 06
Circuitos Aritméticos
Somador
n
Co S
transporte
1 1
1 1 1 1
0 1 1 0
0 1 0 1
Full-Adder Half-Adder
cin s
Half-Adder
a
Half-Adder
cout
b
Subtrador
n
To S
Half- 0 0 0 0
Subtractor 0 1 1 1
to s
1 0 1 0
s = a xor b
to s 1 1 0 0
to = a'b
Full- 0 0 0 0 0
Subtractor 0 0 1 1 1
0 1 0 1 1
Subt.
to s 0 1 1 0 1 Completo
1 0 0 1 0 to s
1 0 1 0 0 s = a xor b xor ti
1 1 0 0 0 co = a'b + bti + a’ ti
1 1 1 1 1
UFERSA/CMPF – Souza, 2019 PEX0240 – Circuitos Digitais 47
Subtradores
▪ Projeto de um Subtrator:
▪ Subtrator Completo (Full-Subtractor) – Forma alternativa:
tin s
Half-
Subtractor
a
Half- tout
b Subtractor
a3 b3 a2 b2 a1 b1 a0 b0
a b wi a b wi a b wi a b a3 a2 a1 a0 b3 b2 b1 b0
FS FS FS HS 4-bit subtractor
wo s wo s wo s wo s wo s3s2s1s0
wo s3 s2 s1 s0
a3 b3 a2 b2 a1 b1 a0 b0
a b wi a b wi a b wi a b wi a3 a2 a1 a0 b3 b2 b1 b0
FS FS FS FS 4-bit subtractor wi
wo s wo s wo s wo s wo s3s2s1s0
wo s3 s2 s1 s0
Exemplo No. 13: Projete um circuito que seja capaz de realizar a soma ou
subtração de dois números, em complemento de dois, utilizando como
núcleo um somador. O controle deverá ser feito a partir de um sinal de
controle denominado de S.
Y = abs(X)
Incrementador
N
s=a+1
Somador
Somador
Decrementador
N
s=a-1
Multiplicador
2N
a*b
p0 = b0a0
p1 = b0a1 + b1a0 (gera c1)
p2 = b0a2 + b1a1+b2a0+c1 (gera c2)
p3 = b0a3+b1a2+b2a1+b3a0+c2 (gera c3)
Y = 5*abs(X) - 7
a b
N N
Comparador
eq
eq = (a3 xnor b3) * (a2 xnor b2) * (a1 xnor b1) * (a0 xnor b0)
a3 b3 a2 b2 a1 b1 a0 b0
a3 a2 a1 a0 b3 b2 b1 b0
4-bit equality comparator
eq
(b)
eq
(a)
Comparador
de Magnitude
1 1 0 0 1 0 1 1
0
1
0
1 1 0 0 1 0 1 1
0 0
1 1
0 0
1 1 0 0 1 0 1 1
0 0 0
1 1 1
0 0 0
1 1 0 0 1 0 1 1
0 0 0 1
1 1 1 0
0 0 0 0
1 1 0 0 1 0 1 1
0 0 0 1 1
1 1 1 0 0
0 0 0 0 0
C2 = 255 - R
M2 = 255 - G
Y2 = 255 – B
K = min(C2, M2, Y2)
C = C2 – K
M = M2 – K
Y = Y2 - K
sh Deslocador
N
y
Entrada a3 a2 a1 a0
Deslocamento
a2 a1 a0 0
à Esquerda
Saída b3 b2 b1 b0
▪ Utilização de multiplexadores;
▪ Caso sh=0 ➔ bk = ak;
▪ Caso sh = 1 ➔ bk = ak-1;
sh <<1
N
b
Entrada a3 a2 a1 a0
Deslocamento
0 a3 a2 a1
à Direita
Saída b3 b2 b1 b0
▪ Utilização de multiplexadores;
▪ Caso sh=0 ➔ bk = ak;
▪ Caso sh = 1 ➔ bk = ak+1;
sh >>1
N
b
Entrada a3 a2 a1 a0
Deslocamento
a2 a1 a0 0
à Esquerda
Deslocamento
0 a3 a2 a1
à Direita
Saída b3 b2 b1 b0
Deslocador
sh
M Barrel
N
y
sh2 <<4
sel ALU
M
N
out
quantidade de operações = 2M
a b
N N
sel ALU
M
N
out
Referência complementar:
▪ SZAJNBERG, MORDKA - Eletrônica Digital: Teoria, Componentes e Aplicações. LTC,
2015.
▪ WAKERLY, JOHN - Digital Design: Principles and Practices. 4º Edição, Pearson, 2004.
▪ PEDRONI, VOLNEI A. - Eletrônica Digital Moderna e VHDL: Princípios Digitais,
ELetrônica Digital, Projeto Digital, Microeletrônica e VHDL. Editora Campus, 2012.