Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 Entradas x = (xn-1 ... x0), xi Î{0, 1} E Î {0,1} (Enable – sinal de habilitação) n Saídas y = (y2n-1 ... y0), yi Î{0, 1} n Função ( ) ( ) 12 ..., 0, i 2x x com contrário caso0 1E e ix se1 n 1-n 0j j -= = î í ì == = å = 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 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 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 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 y0 = x1’ x0’ E y1 = x1’ x0 E y2 = x1 x0’ E y3 = 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 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 = 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 Árvore Decodificadores 2 2k+1 AND 22k - Carga entrada 1 2k Carga saída decodificador 2k ANDs 1 Entradas 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 Árvore Decodificadores 2 9 AND 64 - Carga entrada 1 8 Carga saída decodificador 8 ANDs 1 Entradas de módulo 136 36 Retardo 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 Entradas x = (x2n-1 ... x0), xi Î{0, 1} E Î {0,1} (Enable – sinal de habilitação) n Saídas y = (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 se1 A contrário caso0 1E e ix se n 1-n 0j j i i -= = î í ì == = î í ì == = å = j i y 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 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 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 Entradas x = (x2n-1 ... x0), xi Î{0, 1} E Î {0,1} (Enable – sinal de habilitação) n Saídas y = (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 se1 A contrário caso0 1E e ik 0,x e ix se n 1-n 0j j i ki -Î = î í ì == = î í ì =>== = å = j i y 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 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 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 Entradas x = (x2n-1 ... x0), xi Î{0, 1} s = (sn-1 ... s0 ), si Î{0, 1} E Î {0,1} (Enable – sinal de habilitação) n Saídas z Î{0, 1} n Função å = = î í ì = = 1-n 0j j 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 11 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 i ii m smxEz n ú û ù ê ë é ×= å - = 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 universal n Exemplo ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )013201201120102 013201220102 01220112 012012 012012012 012 ,,,, ,,, ,, )7,6,4,2,1(,, xxmxxxmxxmxxxmx xxmxxxmxxxmx xxmxxxmx xxxxxx xxxxxxxxx mxxxf ++¢+= ++ +¢+¢= +¢ +¢¢+¢¢+¢¢= = å EA772 Circuitos Lógicos - Prof. J.M. De Martino 288 Módulos Combinacionais l Multiplexador – módulo universal n 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 xz sss xwz jxw sss 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 Entradas x, E Î{0, 1} s = (sn-1 ... s0 ), si Î{0, 1} n Saídas y = (y2n-1 ... y0), yi Î{0, 1} n Função ( ) ( ) ( ) ( ) 120,2ss com 0Eou si se0 1E e si sex 1-n 0j 2 j -££= î í ì =¹ == å = 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 Entradas x = (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ídas y = (yn-1, ..., y0), yi Î{0, 1} n Função ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 10 0seo 1 e NÃOsex 1 e SIM e DIREITAsex 1 e SIM e ESQUERDAsex i 1i 1-i -££ ï ï î ï ï í ì = == === === = + ni E Es Esd Esd 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 1 direita SIM DIREITA 1 0 0 1 esquerda 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 Entradas x = (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ídas y = (yn-1, ..., y0), yi Î{0, 1} n Função ( ) ( ) ( ) ( ) ( ) 10 0se0 1 e DIREITAsex 1 e ESQUERDAsex si s-i -££ ï î ï í ì = == == = + ni E Ed Ed yi 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)
Compartilhar