Download - modulos combinacionais
EA772 Circuitos Lógicos - Prof. J.M. De Martino 258
Módulos Combinacionais
l Módulos combinacionais
n Implementam funções consideradas úteis para uma grande variedade de aplicações.
n Disponíveis no mercado.
n Facilita o projeto e implementação de circuitos mais complexos.
n Módulos-padrão importantes
u Decodificadores
u Codificadores
u Multiplexadores (seletores)
u Demultiplexadores (distribuidores)
u Deslocadores (shifters)
EA772 Circuitos Lógicos - Prof. J.M. De Martino 259
Módulos Combinacionais
l Decodificador binário
EA772 Circuitos Lógicos - Prof. J.M. De Martino 260
Módulos Combinacionais
l Decodificador binário
n Entradasx = (xn-1 ... x0), xi ∈{0, 1}E ∈ {0,1} (Enable – sinal de habilitação)
n Saídasy = (y2n-1 ... y0), yi ∈{0, 1}
n Função
( ) ( )
12 ..., 0, i
2x x
com
contrário caso01E e ix se1
n
1-n
0jj
−=
=
==
=
∑=
j
iy
EA772 Circuitos Lógicos - Prof. J.M. De Martino 261
Módulos Combinacionais
l Decodificador binário de 3 entradas
E x2 x1 x0 x y7 y6 y5 y4 y3 y2 y1 y0
1 0 0 0 0 0 0 0 0 0 0 0 11 0 0 1 1 0 0 0 0 0 0 1 01 0 1 0 2 0 0 0 0 0 1 0 01 0 1 1 3 0 0 0 0 1 0 0 01 1 0 0 4 0 0 0 1 0 0 0 01 1 0 1 5 0 0 1 0 0 0 0 01 1 1 0 6 0 1 0 0 0 0 0 01 1 1 1 7 1 0 0 0 0 0 0 00 x x x x 0 0 0 0 0 0 0 0
u Observação: Cada saída do decodificador tem valor 1 para uma única atribuição (configuração de bits) da entrada. Portanto, cada saída pode ser representada por um mintermo.
EA772 Circuitos Lógicos - Prof. J.M. De Martino 262
Módulos Combinacionais
l Decodificador binário de 2 entradas
E x1 x0 x y3 y2 y1 y0
1 0 0 0 0 0 0 11 0 1 1 0 0 1 01 1 0 2 0 1 0 01 1 1 3 1 0 0 00 x x x 0 0 0 0
y0 = x1’ x0’ Ey1 = x1’ x0 Ey2 = x1 x0’ Ey3 = x1 x0 E
EA772 Circuitos Lógicos - Prof. J.M. De Martino 263
Módulos Combinacionais
l Decodificador – Exemplo de uso
n Decodificar código de instrução de computador
EA772 Circuitos Lógicos - Prof. J.M. De Martino 264
Módulos Combinacionais
l Decodificador – Exemplo de uso
n Decodificar endereço de memória
EA772 Circuitos Lógicos - Prof. J.M. De Martino 265
Módulos Combinacionais
l Decodificador e OR conjunto universal
n Decodificador binário + porta OR definem conjunto universal, isto é, podem realizar qualquer função lógica de n variáveis.
n Exemplo
x2 x1 x0 z2 z1 z0
0 0 0 0 1 00 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 = m1 + m5 + m7
z1 = m0 + m3
z0 = m2 + m4 + m5
EA772 Circuitos Lógicos - Prof. J.M. De Martino 266
Módulos Combinacionais
l Decodificador e OR
n Exemplo
z2 = m1 + m5 + m7
z1 = m0 + m3
z0 = m2 + m4 + m5
EA772 Circuitos Lógicos - Prof. J.M. De Martino 267
Módulos Combinacionais
l Redes de decodificadores
n Restrições de tamanho (número de portas e conexões externas) limitam os decodificadores disponíveis no mercado a módulos com pequeno número de entradas (4 é um valor máximo comum).
n Para a implementação decodificadores maiores é utilizada redes de decodificadores.
n Abordagens projeto de redes de decodificadores:
u Decodificação coincidente.
u Decodificação em árvore.
EA772 Circuitos Lógicos - Prof. J.M. De Martino 268
Módulos Combinacionais
l Decodificação coincidente (8 bits de entrada)x = (x7, x6, x5, x4, x3, x2, x1, x0)x = (xe, xd)xe = (x7, x6, x5, x4)xd = (x3, x2, x1, x0)x = 24 xe + xd
EA772 Circuitos Lógicos - Prof. J.M. De Martino 269
Módulos Combinacionais
l Decodificação em árvore (4 bits de entrada)x = (x3, x2, x1, x0)x = (xe, xd)xe = (x3, x2)xd = (x1, x0)
EA772 Circuitos Lógicos - Prof. J.M. De Martino 270
Módulos Combinacionais
l Comparação redes de decodificadores (2k bits)
Coincidente ÁrvoreDecodificadores 2 2k+1AND 22k -Carga entrada 1 2k
Carga saída decodificador 2k ANDs 1Entradas de módulo 2k + 2 + 22k+1 1 + k + 2k + k2k
Retardo tdec+tAND 2tdec
EA772 Circuitos Lógicos - Prof. J.M. De Martino 271
Módulos Combinacionais
l Comparação redes de decodificadores
Coincidente ÁrvoreDecodificadores 2 9AND 64 -Carga entrada 1 8Carga saída decodificador 8 ANDs 1Entradas de módulo 136 36Retardo tdec+tAND 2tdec
EA772 Circuitos Lógicos - Prof. J.M. De Martino 272
Módulos Combinacionais
l Codificador binário
EA772 Circuitos Lógicos - Prof. J.M. De Martino 273
Módulos Combinacionais
l Codificador binário
n Entradasx = (x2n-1 ... x0), xi ∈{0, 1}E ∈ {0,1} (Enable – sinal de habilitação)
n Saídasy = (yn-1 ... y0), yi ∈{0, 1}A ∈{0, 1} (Ativo – módulo ativo)
n Funções
( ) ( )
( ) ( )
12 ..., 0, i
2y y
com
contrário caso0
1E e 1 xalgum se1A
contrário caso01E e ix se
n
1-n
0jj
i
i
−=
=
==
=
==
=
∑=
j
iy
EA772 Circuitos Lógicos - Prof. J.M. De Martino 274
Módulos Combinacionais
l Codificador binário de 8 entradas
E x7 x6 x5 x4 x3 x2 x1 x0 y y2 y1 y0 A 1 0 0 0 0 0 0 0 1 0 0 0 0 11 0 0 0 0 0 0 1 0 1 0 0 1 11 0 0 0 0 0 1 0 0 2 0 1 0 11 0 0 0 0 1 0 0 0 3 0 1 1 11 0 0 0 1 0 0 0 0 4 1 0 0 11 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 11 1 0 0 0 0 0 0 0 7 1 1 1 11 0 0 0 0 0 0 0 0 0 0 0 0 00 x x x x x x x x 0 0 0 0 0
EA772 Circuitos Lógicos - Prof. J.M. De Martino 275
Módulos Combinacionais
l Codificador binário de 8 entradas
y0 = E (x1 + x3 + x5 + x7)y1 = E (x2 + x3 + x6 + x7)y2 = E (x4 + x5 + x6 + x7) A = E (x0 + x1 + x2 + x3 + x4 + x5 + x6 + x7)
EA772 Circuitos Lógicos - Prof. J.M. De Martino 276
Módulos Combinacionais
l Codificador – Exemplo de uso
n Codificação variável de entrada (direção do vento)
EA772 Circuitos Lógicos - Prof. J.M. De Martino 277
Módulos Combinacionais
l Codificador de prioridade
n Entradasx = (x2n-1 ... x0), xi ∈{0, 1}E ∈ {0,1} (Enable – sinal de habilitação)
n Saídasy = (yn-1 ... y0), yi ∈{0, 1}A ∈{0, 1} (Ativo – módulo ativo)
n Funções
( ) ( ) ( )
( ) ( )
{ }12 ..., 0, k i,
2y y
com
contrário caso0
1E e 1 xalgum se1A
contrário caso01E e ik 0,x e ix se
n
1-n
0jj
i
ki
−∈
=
==
=
=>==
=
∑=
j
iy
EA772 Circuitos Lógicos - Prof. J.M. De Martino 278
Módulos Combinacionais
l Codificador de prioridade de 8 entradas
E x7 x6 x5 x4 x3 x2 x1 x0 y y2 y1 y0 A 1 0 0 0 0 0 0 0 1 0 0 0 0 11 0 0 0 0 0 0 1 x 1 0 0 1 11 0 0 0 0 0 1 x x 2 0 1 0 11 0 0 0 0 1 x x x 3 0 1 1 11 0 0 0 1 x x x x 4 1 0 0 11 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 11 1 x x x x x x x 7 1 1 1 11 0 0 0 0 0 0 0 0 0 0 0 0 00 x x x x x x x x 0 0 0 0 0
EA772 Circuitos Lógicos - Prof. J.M. De Martino 279
Módulos Combinacionais
l Codificador de prioridade - implementação
EA772 Circuitos Lógicos - Prof. J.M. De Martino 280
Módulos Combinacionais
l Codificador de prioridade – exemplo uso
n Codificador de prioridade de interrupção
EA772 Circuitos Lógicos - Prof. J.M. De Martino 281
Módulos Combinacionais
l Multiplexador (seletor)
EA772 Circuitos Lógicos - Prof. J.M. De Martino 282
Módulos Combinacionais
l Multiplexador (seletor)
n Entradasx = (x2n-1 ... x0), xi ∈{0, 1}s = (sn-1 ... s0 ), si ∈{0, 1} E ∈ {0,1} (Enable – sinal de habilitação)
n Saídasz ∈{0, 1}
n Função
∑=
=
=
=
1-n
0jj 2s s
com
contrário caso0
1E
j
sxz
EA772 Circuitos Lógicos - Prof. J.M. De Martino 283
Módulos Combinacionais
l Multiplexador 4 entradas (x3, x2, x1, x0)
E s1 s0 z 1 0 0 x0
1 0 1 x1
1 1 0 x2
1 1 1 x3
0 x x 0
z = E ( x0 m0(s1, s0) + x1 m1(s1, s0) + x2 m2(s1, s0) + x3 m3(s1, s0) )
z = E (x0 s1' s0' + x1 s1' s0 + x2 s1 s0' + x3 s1 s0)
( )( )
mintermo ésimos-i :
12
0
i
iii
m
smxEzn
⋅= ∑
−
=
EA772 Circuitos Lógicos - Prof. J.M. De Martino 284
Módulos Combinacionais
l Multiplexador de 4 entradas (x3, x2, x1, x0)
z = E ( x0 m0(s1, s0) + x1 m1(s1, s0) + x2 m2(s1, s0) + x3 m3(s1, s0) )
z = E (x0 s1' s0' + x1 s1’ s0 + x2 s1 s0’ + x3 s1 s0)
EA772 Circuitos Lógicos - Prof. J.M. De Martino 285
Módulos Combinacionais
l Multiplexador – exemplo de uso
n Seleção dos operandos de uma unidade funcional
EA772 Circuitos Lógicos - Prof. J.M. De Martino 286
Módulos Combinacionais
l Multiplexador – módulo universal
n É módulo universal, e, portanto, pode ser utilizado para implementar qualquer função lógica.
n Multiplexador de 2n pode ser utilizado para implementar função de n variáveis.
u Conectar as variáveis da função na entrada de seleção do multiplexador.
u Definir a entrada de dados do multiplexador com os valores da função para cada atribuição das variáveis de seleção
u UTILIZAR UMA DAS VARIÁVEIS DA FUNÇÃO COM ENTRADA DO MULTIPLEXADOR PERMITE REDUZIR O TAMANHO DO MULTIPLEXADOR
m Multiplexador de 2n pode ser utilizado para implementar função de n +1 variáveis.
EA772 Circuitos Lógicos - Prof. J.M. De Martino 287
Módulos Combinacionais
l Multiplexador – módulo universaln Exemplo
( )( ) ( ) ( )
( ) ( )( ) ( )
( ) ( ) ( )( ) ( ) ( ) ( )013201201120102
013201220102
01220112
012012
012012012
012
,,,,
,,,
,,
)7,6,4,2,1(,,
xxmxxxmxxmxxxmx
xxmxxxmxxxmx
xxmxxxmxxxxxxx
xxxxxxxxx
mxxxf
++′+=++
+′+′=+′
+′′+′′+′′=
= ∑
EA772 Circuitos Lógicos - Prof. J.M. De Martino 288
Módulos Combinacionais
l Multiplexador – módulo universaln Exemplo
EA772 Circuitos Lógicos - Prof. J.M. De Martino 289
Módulos Combinacionais
l Multiplexador – módulo universal
n Exercício
u Implementar somador total com módulos multiplexadores (caso necessário utilize adicionalmente portas inversoras).
EA772 Circuitos Lógicos - Prof. J.M. De Martino 290
Módulos Combinacionais
l Multiplexador – módulo universal
n Exercício (somador total)
EA772 Circuitos Lógicos - Prof. J.M. De Martino 291
Módulos Combinacionais
l Árvore de Multiplexadores
n Também é possível implementar multiplexadores maiores (maior número 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 Lógicos - Prof. J.M. De Martino 292
Módulos Combinacionais
l Árvore de Multiplexadores
( )( )( )
( )
( )
s
de
Sss
Sjj
d
e
xzsss
xwz
jxwsss
sss
sssss
dee
d
=+=
==
≤≤===
=
+
+
4
30,,
,
,,,
4
4
01
23
0123
EA772 Circuitos Lógicos - Prof. J.M. De Martino 293
Módulos Combinacionais
l Demultiplexador (distribuidor)
EA772 Circuitos Lógicos - Prof. J.M. De Martino 294
Módulos Combinacionais
l Demultiplexador (distribuidor)
n Entradasx, E ∈{0, 1}s = (sn-1 ... s0 ), si ∈{0, 1}
n Saídasy = (y2n-1 ... y0), yi ∈{0, 1}
n Função
( ) ( )( ) ( )
120,2ss
com
0Eou si se01E e si sex
1-n
0j
2j −≤≤=
=≠==
∑=
nj
i
i
y
EA772 Circuitos Lógicos - Prof. J.M. De Martino 295
Módulos Combinacionais
l Demultiplexador de 4 saídas (y3 y2 y1 y0)
E s1 s0 s y3 y2 y1 y0
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 Lógicos - Prof. J.M. De Martino 296
Módulos Combinacionais
l Demultiplexador de 4 saídas (y3 y2 y1 y0)
yi = E . x . mi(s1, s0), 0 ≤ i ≤ 2n-1
EA772 Circuitos Lógicos - Prof. J.M. De Martino 297
Módulos Combinacionais
l Demultiplexador – exemplo de uso
n Transmissão de dados por um mesmo canal de transmissão
MUX DEMUX
Sel
EA772 Circuitos Lógicos - Prof. J.M. De Martino 298
Módulos Combinacionais
l Deslocador simples
EA772 Circuitos Lógicos - Prof. J.M. De Martino 299
Módulos Combinacionais
l Deslocador simples
n Entradasx = (xn, xn-1... x0, ..., x-1), xi ∈{0, 1}s ∈{SIM, NÃO}d ∈{ESQUERDA, DIREITA}E ∈ {0,1} (Enable – sinal de habilitação)
n Saídasy = (yn-1, ..., y0), yi ∈{0, 1}
n Função
( ) ( ) ( )( ) ( ) ( )( ) ( )( )
10
0seo1 e NÃOsex
1 e SIM e DIREITAsex1 e SIM e ESQUERDAsex
i
1i
1-i
−≤≤
===
======
= +
ni
EEs
EsdEsd
yi
EA772 Circuitos Lógicos - Prof. J.M. De Martino 300
Módulos Combinacionais
l Deslocador simples de 4 entradas
s d x4 x3 x2 x1 x0 x-1
1 0 0 1 1 0 não deslocar NÃO — 0 0 1 1direita SIM DIREITA 1 0 0 1esquerda SIM ESQUERDA 0 1 1 0
y3 y2 y1 y0
EA772 Circuitos Lógicos - Prof. J.M. De Martino 301
Módulos Combinacionais
l Deslocador simples – implementação
n Com portas
n Com multiplexadores
EA772 Circuitos Lógicos - Prof. J.M. De Martino 302
Módulos Combinacionais
l Deslocador simples – implementação
n Com portas
n Com multiplexadores
EA772 Circuitos Lógicos - Prof. J.M. De Martino 303
Módulos Combinacionais
l Deslocador-p
EA772 Circuitos Lógicos - Prof. J.M. De Martino 304
Módulos Combinacionais
l Deslocador-p
n Entradasx = (xn+p-1, ... x0, ..., x-p), xi ∈{0, 1}s ∈{0, 1, ..., p}d ∈{ESQUERDA, DIREITA}E ∈ {0,1} (Enable – sinal de habilitação)
n Saídasy = (yn-1, ..., y0), yi ∈{0, 1}
n Função
( ) ( )( ) ( )( )
10
0se01 e DIREITAsex
1 e ESQUERDAsex
si
s-i
−≤≤
===
=== +
ni
EEd
Edyi
EA772 Circuitos Lógicos - Prof. J.M. De Martino 305
Módulos Combinacionais
l Deslocador-p – implementacão deslocador encadeado (barrel shifter) p = 15
EA772 Circuitos Lógicos - Prof. J.M. De Martino 306
Módulos Combinacionais
l Deslocador unidirecional – implementação com multiplexadores p = 3
EA772 Circuitos Lógicos - Prof. J.M. De Martino 307
Módulos Combinacionais
l Deslocador – exemplo de uso
n Multiplicação/divisão por potência de 2.
n Extrair sub-vetor de um vetor de bits.
n Remoção de bits mais (menos) significativos de um vetor de bits (por exemplo em operação envolvendo a codificação em sinal e magnitude).
n Alinhamento de um vetor de bits (por exemplo, na adição em ponto flutuante que representa um número real utilizando 2 vetores e bits: um para representar a mantissa, outro o expoente. Nesta operação é necessário que o expoente sejam iguais antes de se adicionar as mantissas)