50
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)

modulos combinacionais

Embed Size (px)

Citation preview

Page 1: 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)

Page 2: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 259

Módulos Combinacionais

l Decodificador binário

Page 3: modulos combinacionais

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

Page 4: modulos combinacionais

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.

Page 5: modulos combinacionais

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

Page 6: modulos combinacionais

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

Page 7: modulos combinacionais

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

Page 8: modulos combinacionais

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

Page 9: modulos combinacionais

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

Page 10: modulos combinacionais

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.

Page 11: modulos combinacionais

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

Page 12: modulos combinacionais

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)

Page 13: modulos combinacionais

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

Page 14: modulos combinacionais

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

Page 15: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 272

Módulos Combinacionais

l Codificador binário

Page 16: modulos combinacionais

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

Page 17: modulos combinacionais

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

Page 18: modulos combinacionais

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)

Page 19: modulos combinacionais

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)

Page 20: modulos combinacionais

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

Page 21: modulos combinacionais

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

Page 22: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 279

Módulos Combinacionais

l Codificador de prioridade - implementação

Page 23: modulos combinacionais

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

Page 24: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 281

Módulos Combinacionais

l Multiplexador (seletor)

Page 25: modulos combinacionais

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

Page 26: modulos combinacionais

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

⋅= ∑

=

Page 27: modulos combinacionais

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)

Page 28: modulos combinacionais

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

Page 29: modulos combinacionais

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.

Page 30: modulos combinacionais

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

++′+=++

+′+′=+′

+′′+′′+′′=

= ∑

Page 31: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 288

Módulos Combinacionais

l Multiplexador – módulo universaln Exemplo

Page 32: modulos combinacionais

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).

Page 33: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 290

Módulos Combinacionais

l Multiplexador – módulo universal

n Exercício (somador total)

Page 34: modulos combinacionais

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

Page 35: modulos combinacionais

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

Page 36: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 293

Módulos Combinacionais

l Demultiplexador (distribuidor)

Page 37: modulos combinacionais

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

Page 38: modulos combinacionais

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

Page 39: modulos combinacionais

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

Page 40: modulos combinacionais

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

Page 41: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 298

Módulos Combinacionais

l Deslocador simples

Page 42: modulos combinacionais

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

Page 43: modulos combinacionais

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

Page 44: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 301

Módulos Combinacionais

l Deslocador simples – implementação

n Com portas

n Com multiplexadores

Page 45: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 302

Módulos Combinacionais

l Deslocador simples – implementação

n Com portas

n Com multiplexadores

Page 46: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 303

Módulos Combinacionais

l Deslocador-p

Page 47: modulos combinacionais

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

Page 48: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 305

Módulos Combinacionais

l Deslocador-p – implementacão deslocador encadeado (barrel shifter) p = 15

Page 49: modulos combinacionais

EA772 Circuitos Lógicos - Prof. J.M. De Martino 306

Módulos Combinacionais

l Deslocador unidirecional – implementação com multiplexadores p = 3

Page 50: modulos combinacionais

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)