Você está na página 1de 50

EA772 Circuitos Lgicos - Prof. J.M.

De Martino 258
Mdulos Combinacionais
l Mdulos combinacionais
n Implementam funes consideradas teis para uma
grande variedade de aplicaes.
n Disponveis no mercado.
n Facilita o projeto e implementao de circuitos mais
complexos.
n Mdulos-padro importantes
u Decodificadores
u Codificadores
u Multiplexadores (seletores)
u Demultiplexadores (distribuidores)
u Deslocadores (shifters)
EA772 Circuitos Lgicos - Prof. J.M. De Martino 259
Mdulos Combinacionais
l Decodificador binrio
EA772 Circuitos Lgicos - Prof. J.M. De Martino 260
Mdulos Combinacionais
l Decodificador binrio
n Entradas
x = (x
n-1
... x
0
), x
i
{0, 1}
E {0,1} (Enable sinal de habilitao)
n Sadas
y = (y
2
n
-1
... y
0
), y
i
{0, 1}
n Funo
( ) ( )
1 2 ..., 0, i
2 x x
com
contrrio caso 0
1 E e i x se 1
n
1 - n
0 j
j

'

j
i
y
EA772 Circuitos Lgicos - Prof. J.M. De Martino 261
Mdulos Combinacionais
l Decodificador binrio de 3 entradas
E x
2
x
1
x
0
x y
7
y
6
y
5
y
4
y
3
y
2
y
1
y
0
1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 1 1 0 0 0 0 0 0 1 0
1 0 1 0 2 0 0 0 0 0 1 0 0
1 0 1 1 3 0 0 0 0 1 0 0 0
1 1 0 0 4 0 0 0 1 0 0 0 0
1 1 0 1 5 0 0 1 0 0 0 0 0
1 1 1 0 6 0 1 0 0 0 0 0 0
1 1 1 1 7 1 0 0 0 0 0 0 0
0 x x x x 0 0 0 0 0 0 0 0
u Observao: Cada sada do decodificador tem
valor 1 para uma nica atribuio (configurao
de bits) da entrada. Portanto, cada sada pode ser
representada por um mintermo.
EA772 Circuitos Lgicos - Prof. J.M. De Martino 262
Mdulos Combinacionais
l Decodificador binrio de 2 entradas
E x
1
x
0
x y
3
y
2
y
1
y
0
1 0 0 0 0 0 0 1
1 0 1 1 0 0 1 0
1 1 0 2 0 1 0 0
1 1 1 3 1 0 0 0
0 x x x 0 0 0 0
y
0
= x
1
x
0
E
y
1
= x
1
x
0
E
y
2
= x
1
x
0
E
y
3
= x
1
x
0
E
EA772 Circuitos Lgicos - Prof. J.M. De Martino 263
Mdulos Combinacionais
l Decodificador Exemplo de uso
n Decodificar cdigo de instruo de computador
EA772 Circuitos Lgicos - Prof. J.M. De Martino 264
Mdulos Combinacionais
l Decodificador Exemplo de uso
n Decodificar endereo de memria
EA772 Circuitos Lgicos - Prof. J.M. De Martino 265
Mdulos Combinacionais
l Decodificador e OR conjunto universal
n Decodificador binrio + porta OR definem conjunto
universal, isto , podem realizar qualquer funo
lgica de n variveis.
n Exemplo
x
2
x
1
x
0
z
2
z
1
z
0
0 0 0 0 1 0
0 0 1 1 0 0
0 1 0 0 0 1
0 1 1 0 1 0
1 0 0 0 0 1
1 0 1 1 0 1
1 1 0 0 0 0
1 1 1 1 0 0
z2 = m
1
+ m
5
+ m
7
z1 = m
0
+ m
3
z0 = m
2
+ m
4
+ m
5
EA772 Circuitos Lgicos - Prof. J.M. De Martino 266
Mdulos Combinacionais
l Decodificador e OR
n Exemplo
z2 = m
1
+ m
5
+ m
7
z1 = m
0
+ m
3
z0 = m
2
+ m
4
+ m
5
EA772 Circuitos Lgicos - Prof. J.M. De Martino 267
Mdulos Combinacionais
l Redes de decodificadores
n Restries de tamanho (nmero de portas e conexes
externas) limitam os decodificadores disponveis no
mercado a mdulos com pequeno nmero de
entradas (4 um valor mximo comum).
n Para a implementao decodificadores maiores
utilizada redes de decodificadores.
n Abordagens projeto de redes de decodificadores:
u Decodificao coincidente.
u Decodificao em rvore.
EA772 Circuitos Lgicos - Prof. J.M. De Martino 268
Mdulos Combinacionais
l Decodificao coincidente (8 bits de entrada)
x = (x
7
, x
6
, x
5
, x
4
, x
3
, x
2
, x
1
, x
0
)
x = (x
e
, x
d
)
x
e
= (x
7
, x
6
, x
5
, x
4
)
x
d
= (x
3
, x
2
, x
1
, x
0
)
x = 2
4
x
e +
x
d
EA772 Circuitos Lgicos - Prof. J.M. De Martino 269
Mdulos Combinacionais
l Decodificao em rvore (4 bits de entrada)
x = (x
3
, x
2
, x
1
, x
0
)
x = (x
e
, x
d
)
x
e
= (x
3
, x
2
)
x
d
= (x
1
, x
0
)
EA772 Circuitos Lgicos - Prof. J.M. De Martino 270
Mdulos Combinacionais
l Comparao redes de decodificadores (2k bits)
Coincidente rvore
Decodificadores 2 2k+1
AND 2
2k
-
Carga entrada 1 2
k
Carga sada decodificador 2
k
ANDs 1
Entradas de mdulo 2k + 2 + 2
2k+1
1 + k + 2
k
+ k2
k
Retardo t
dec
+t
AND
2t
dec
EA772 Circuitos Lgicos - Prof. J.M. De Martino 271
Mdulos Combinacionais
l Comparao redes de decodificadores
Coincidente rvore
Decodificadores 2 9
AND 64 -
Carga entrada 1 8
Carga sada decodificador 8 ANDs 1
Entradas de mdulo 136 36
Retardo t
dec
+t
AND
2t
dec
EA772 Circuitos Lgicos - Prof. J.M. De Martino 272
Mdulos Combinacionais
l Codificador binrio
EA772 Circuitos Lgicos - Prof. J.M. De Martino 273
Mdulos Combinacionais
l Codificador binrio
n Entradas
x = (x
2
n
-1
... x
0
), x
i
{0, 1}
E {0,1} (Enable sinal de habilitao)
n Sadas
y = (y
n-1
... y
0
), y
i
{0, 1}
A {0, 1} (Ativo mdulo ativo)
n Funes
( ) ( )
( ) ( )
1 2 ..., 0, i
2 y y
com

contrrio caso 0
1 E e 1 x algum se 1
A
contrrio caso 0
1 E e i x se
n
1 - n
0 j
j
i
i

'

'

j
i
y
EA772 Circuitos Lgicos - Prof. J.M. De Martino 274
Mdulos Combinacionais
l Codificador binrio de 8 entradas
E x
7
x
6
x
5
x
4
x
3
x
2
x
1
x
0
y y
2
y
1
y
0
A
1 0 0 0 0 0 0 0 1 0 0 0 0 1
1 0 0 0 0 0 0 1 0 1 0 0 1 1
1 0 0 0 0 0 1 0 0 2 0 1 0 1
1 0 0 0 0 1 0 0 0 3 0 1 1 1
1 0 0 0 1 0 0 0 0 4 1 0 0 1
1 0 0 1 0 0 0 0 0 5 1 0 1 1
1 0 1 0 0 0 0 0 0 6 1 1 0 1
1 1 0 0 0 0 0 0 0 7 1 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 x x x x x x x x 0 0 0 0 0
EA772 Circuitos Lgicos - Prof. J.M. De Martino 275
Mdulos Combinacionais
l Codificador binrio de 8 entradas
y
0
= E (x
1
+ x
3
+ x
5
+ x
7
)
y
1
= E (x
2
+ x
3
+ x
6
+ x
7
)
y
2
= E (x
4
+ x
5
+ x
6
+ x
7
)
A = E (x
0
+ x
1
+ x
2
+ x
3
+ x
4
+ x
5
+ x
6
+ x
7
)
EA772 Circuitos Lgicos - Prof. J.M. De Martino 276
Mdulos Combinacionais
l Codificador Exemplo de uso
n Codificao varivel de entrada (direo do vento)
EA772 Circuitos Lgicos - Prof. J.M. De Martino 277
Mdulos Combinacionais
l Codificador de prioridade
n Entradas
x = (x
2
n
-1
... x
0
), x
i
{0, 1}
E {0,1} (Enable sinal de habilitao)
n Sadas
y = (y
n-1
... y
0
), y
i
{0, 1}
A {0, 1} (Ativo mdulo ativo)
n Funes
( ) ( ) ( )
( ) ( )
{ } 1 2 ..., 0, k i,
2 y y
com

contrrio caso 0
1 E e 1 x algum se 1
A
contrrio caso 0
1 E e i k 0, x e i x se
n
1 - n
0 j
j
i
k i

'

'

>

j
i
y
EA772 Circuitos Lgicos - Prof. J.M. De Martino 278
Mdulos Combinacionais
l Codificador de prioridade de 8 entradas
E x
7
x
6
x
5
x
4
x
3
x
2
x
1
x
0
y y
2
y
1
y
0
A
1 0 0 0 0 0 0 0 1 0 0 0 0 1
1 0 0 0 0 0 0 1 x 1 0 0 1 1
1 0 0 0 0 0 1 x x 2 0 1 0 1
1 0 0 0 0 1 x x x 3 0 1 1 1
1 0 0 0 1 x x x x 4 1 0 0 1
1 0 0 1 x x x x x 5 1 0 1 1
1 0 1 x x x x x x 6 1 1 0 1
1 1 x x x x x x x 7 1 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 x x x x x x x x 0 0 0 0 0
EA772 Circuitos Lgicos - Prof. J.M. De Martino 279
Mdulos Combinacionais
l Codificador de prioridade - implementao
EA772 Circuitos Lgicos - Prof. J.M. De Martino 280
Mdulos Combinacionais
l Codificador de prioridade exemplo uso
n Codificador de prioridade de interrupo
EA772 Circuitos Lgicos - Prof. J.M. De Martino 281
Mdulos Combinacionais
l Multiplexador (seletor)
EA772 Circuitos Lgicos - Prof. J.M. De Martino 282
Mdulos Combinacionais
l Multiplexador (seletor)
n Entradas
x = (x
2
n
-1
... x
0
), x
i
{0, 1}
s = (s
n-1
... s
0
), s
i
{0, 1}
E {0,1} (Enable sinal de habilitao)
n Sadas
z {0, 1}
n Funo

'

1 - n
0 j
j
2 s s
com

contrrio caso 0
1 E
j
s
x
z
EA772 Circuitos Lgicos - Prof. J.M. De Martino 283
Mdulos Combinacionais
l Multiplexador 4 entradas (x
3
, x
2
, x
1
, x
0
)
E s
1
s
0
z
1 0 0 x
0
1 0 1 x
1
1 1 0 x
2
1 1 1 x
3
0 x x 0
z = E ( x
0
m
0
(s
1
, s
0
) + x
1
m
1
(s
1
, s
0
) + x
2
m
2
(s
1
, s
0
) +
x
3
m
3
(s
1
, s
0
) )
z = E (x
0
s
1
' s
0
' + x
1
s
1
' s
0
+ x
2
s
1
s
0
' + x
3
s
1
s
0
)
( ) ( )
mintermo simos - i :

1 2
0
i
i
i i
m
s m x E z
n
1
]
1

EA772 Circuitos Lgicos - Prof. J.M. De Martino 284


Mdulos Combinacionais
l Multiplexador de 4 entradas (x
3
, x
2
, x
1
, x
0
)
z = E ( x
0
m
0
(s
1
, s
0
) + x
1
m
1
(s
1
, s
0
) + x
2
m
2
(s
1
, s
0
) +
x
3
m
3
(s
1
, s
0
) )
z = E (x
0
s
1
' s
0
' + x
1
s
1
s
0
+ x
2
s
1
s
0
+ x
3
s
1
s
0
)
EA772 Circuitos Lgicos - Prof. J.M. De Martino 285
Mdulos Combinacionais
l Multiplexador exemplo de uso
n Seleo dos operandos de uma unidade funcional
EA772 Circuitos Lgicos - Prof. J.M. De Martino 286
Mdulos Combinacionais
l Multiplexador mdulo universal
n mdulo universal, e, portanto, pode ser utilizado
para implementar qualquer funo lgica.
n Multiplexador de 2
n
pode ser utilizado para
implementar funo de n variveis.
u Conectar as variveis da funo na entrada de
seleo do multiplexador.
u Definir a entrada de dados do multiplexador com
os valores da funo para cada atribuio das
variveis de seleo
u UTILIZAR UMA DAS VARIVEIS DA
FUNO COM ENTRADA DO
MULTIPLEXADOR PERMITE REDUZIR O
TAMANHO DO MULTIPLEXADOR
m Multiplexador de 2
n
pode ser utilizado para
implementar funo de n +1 variveis.
EA772 Circuitos Lgicos - Prof. J.M. De Martino 287
Mdulos Combinacionais
l Multiplexador mdulo universal
n Exemplo
( )
( ) ( ) ( )
( ) ( )
( ) ( )
( ) ( ) ( )
( ) ( ) ( ) ( )
0 1 3 2 0 1 2 0 1 1 2 0 1 0 2
0 1 3 2 0 1 2 2 0 1 0 2
0 1 2 2 0 1 1 2
0 1 2 0 1 2
0 1 2 0 1 2 0 1 2
0 1 2
, , , ,
, , ,
, ,
) 7 , 6 , 4 , 2 , 1 ( , ,
x x m x x x m x x m x x x m x
x x m x x x m x x x m x
x x m x x x m x
x x x x x x
x x x x x x x x x
m x x x f
+ + +
+ +
+ +
+
+ + +

EA772 Circuitos Lgicos - Prof. J.M. De Martino 288


Mdulos Combinacionais
l Multiplexador mdulo universal
n Exemplo
EA772 Circuitos Lgicos - Prof. J.M. De Martino 289
Mdulos Combinacionais
l Multiplexador mdulo universal
n Exerccio
u Implementar somador total com mdulos
multiplexadores (caso necessrio utilize
adicionalmente portas inversoras).
EA772 Circuitos Lgicos - Prof. J.M. De Martino 290
Mdulos Combinacionais
l Multiplexador mdulo universal
n Exerccio (somador total)
EA772 Circuitos Lgicos - Prof. J.M. De Martino 291
Mdulos Combinacionais
l rvore de Multiplexadores
n Tambm possvel implementar multiplexadores
maiores (maior nmero de entradas) a partir de
multiplexadores menores
u Abordagem rvore de multiplexadores
n Exemplo
u Multiplexador de 16 entradas a partir de
multiplexadores de 4 entradas
EA772 Circuitos Lgicos - Prof. J.M. De Martino 292
Mdulos Combinacionais
l rvore de Multiplexadores
( )
( )
( )
( )
( )
s
d e
S s s
S j j
d
e
x z
s s s
x w z
j x w
s s s
s s s
s s s s s
d e e
d

+
+
4
3 0 ,
,
,
, , ,
4
4
0 1
2 3
0 1 2 3
EA772 Circuitos Lgicos - Prof. J.M. De Martino 293
Mdulos Combinacionais
l Demultiplexador (distribuidor)
EA772 Circuitos Lgicos - Prof. J.M. De Martino 294
Mdulos Combinacionais
l Demultiplexador (distribuidor)
n Entradas
x, E {0, 1}
s = (s
n-1
... s
0
), s
i
{0, 1}
n Sadas
y = (y
2
n
-1
... y
0
), y
i
{0, 1}
n Funo
( ) ( )
( ) ( )
1 2 0 , 2 s s
com
0 E ou s i se 0
1 E e s i se x
1 - n
0 j
2
j

'

n j
i
i
y
EA772 Circuitos Lgicos - Prof. J.M. De Martino 295
Mdulos Combinacionais
l Demultiplexador de 4 sadas (y
3
y
2
y
1
y
0
)
E s
1
s
0
s y
3
y
2
y
1
y
0
1 0 0 0 0 0 0 x
1 0 1 1 0 0 x 0
1 1 0 2 0 x 0 0
1 1 1 3 x 0 0 0
0 0 0 0 0
EA772 Circuitos Lgicos - Prof. J.M. De Martino 296
Mdulos Combinacionais
l Demultiplexador de 4 sadas (y
3
y
2
y
1
y
0
)
y
i
= E . x . m
i
(s
1
, s
0
), 0 i 2
n
-1
EA772 Circuitos Lgicos - Prof. J.M. De Martino 297
Mdulos Combinacionais
l Demultiplexador exemplo de uso
n Transmisso de dados por um mesmo canal de
transmisso
MUX
DEMUX
Sel
EA772 Circuitos Lgicos - Prof. J.M. De Martino 298
Mdulos Combinacionais
l Deslocador simples
EA772 Circuitos Lgicos - Prof. J.M. De Martino 299
Mdulos Combinacionais
l Deslocador simples
n Entradas
x = (x
n
, x
n-1
... x
0, ...,
x
-1
), x
i
{0, 1}
s {SIM, NO}
d {ESQUERDA, DIREITA}
E {0,1} (Enable sinal de habilitao)
n Sadas
y = (y
n-1,
..., y
0
), y
i
{0, 1}
n Funo
( ) ( ) ( )
( ) ( ) ( )
( ) ( )
( )
1 0
0 se o
1 e NO se x
1 e SIM e DIREITA se x
1 e SIM e ESQUERDA se x
i
1 i
1 - i

'

+
n i
E
E s
E s d
E s d
y
i
EA772 Circuitos Lgicos - Prof. J.M. De Martino 300
Mdulos Combinacionais
l Deslocador simples de 4 entradas
s d x
4
x
3
x
2
x
1
x
0
x
-1
1 0 0 1 1 0
no deslocar NO 0 0 1 1
direita SIM DIREITA 1 0 0 1
esquerda SIM ESQUERDA 0 1 1 0
y
3
y
2
y
1
y
0
EA772 Circuitos Lgicos - Prof. J.M. De Martino 301
Mdulos Combinacionais
l Deslocador simples implementao
n Com portas
n Com multiplexadores
EA772 Circuitos Lgicos - Prof. J.M. De Martino 302
Mdulos Combinacionais
l Deslocador simples implementao
n Com portas
n Com multiplexadores
EA772 Circuitos Lgicos - Prof. J.M. De Martino 303
Mdulos Combinacionais
l Deslocador-p
EA772 Circuitos Lgicos - Prof. J.M. De Martino 304
Mdulos Combinacionais
l Deslocador-p
n Entradas
x = (x
n+p-1
, ... x
0, ...,
x
-p
), x
i
{0, 1}
s {0, 1, ..., p}
d {ESQUERDA, DIREITA}
E {0,1} (Enable sinal de habilitao)
n Sadas
y = (y
n-1,
..., y
0
), y
i
{0, 1}
n Funo
( ) ( )
( ) ( )
( )
1 0
0 se 0
1 e DIREITA se x
1 e ESQUERDA se x
s i
s - i

'

+
n i
E
E d
E d
y
i
EA772 Circuitos Lgicos - Prof. J.M. De Martino 305
Mdulos Combinacionais
l Deslocador-p implementaco deslocador
encadeado (barrel shifter) p = 15
EA772 Circuitos Lgicos - Prof. J.M. De Martino 306
Mdulos Combinacionais
l Deslocador unidirecional implementao com
multiplexadores p = 3
EA772 Circuitos Lgicos - Prof. J.M. De Martino 307
Mdulos Combinacionais
l Deslocador exemplo de uso
n Multiplicao/diviso por potncia de 2.
n Extrair sub-vetor de um vetor de bits.
n Remoo de bits mais (menos) significativos de um
vetor de bits (por exemplo em operao envolvendo
a codificao em sinal e magnitude).
n Alinhamento de um vetor de bits (por exemplo, na
adio em ponto flutuante que representa um nmero
real utilizando 2 vetores e bits: um para representar a
mantissa, outro o expoente. Nesta operao
necessrio que o expoente sejam iguais antes de se
adicionar as mantissas)