Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Capítulo 6 Circuitos Combinacionais Típicos MC 602 Circuitos Lógicos e Organização de Computadores IC/Unicamp Prof Mario Côrtes 2 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Tópicos • Multiplexadores • Decodificadores • Codificadores binários e de prioridade • Conversores de código • Circuitos aritméticos de comparação • Conversão bin-> 7 segmentos 3 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp (a) Símbolo Gráfico (b) Tabela verdade (c) Implementação em SOP 0 1 f s w 0 w 1 (d) Implementação com transmission gates w 0 w 1 f s f s w 0 w 1 0 1 f s w 0 w 1 Mux 2:1 4 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp f s 1 w 0 w 1 00 01 s 0 w 2 w 3 10 11 w 0 w 1 0 0 1 1 1 0 1 f s 1 0 s 0 w 2 w 3 (c) Implementação em SOP f s 1 w 0 w 1 s 0 w 2 w 3 Mux 4:1 (a) Símbolo Gráfico (b) Tabela verdade 5 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp 0 w 0 w 1 0 1 w 2 w 3 0 1 f 0 1 s 1 s Mux 4:1 construído com Mux 2:1 6 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp w 8 w 11 s 1 w 0 s 0 w 3 w 4 w 7 w 12 w 15 s 3 s 2 f Mux 16:1 construído com Mux 4:1 7 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp x 1 0 1 x 2 0 1 s y 1 y 2 x 1 x 2 y 1 y 2 (a) Uma chave crossbar 2x2 (b) Implementação com Mux s Chave crossbar implementada c/ Mux 8 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Lógica Usando Mux • Usand o mux como uma lookup table A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Y = AB 00 Y 01 10 11 A B 9 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Implementando Funções com Mux • Reduzindo o tamanho do Mux 0 1 A B Y A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Y = AB A Y 0 0 1 B 10 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp 0 1 0 0 1 1 1 0 1 f w 1 0 w 2 1 0 0 1 f w 1 w 2 w 2 0 1 0 0 1 1 1 0 1 f w 1 0 w 2 1 0 f w 1 0 1 w 2 1 0 f w 2 w 1 Mux: implementação de funções lógicas 11 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Exemplo w 3 w 3 0 0 0 1 1 1 0 1 f w 1 0 w 2 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1 1 w 1 w 2 w 3 f 0 0 0 0 1 1 1 1 f w 1 0 w 2 1 w 3 12 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp XOR3 implementada com 2 MUX 2:1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 w 1 w 2 w 3 f 0 0 0 0 1 1 1 1 w 2 w 3 w 2 w 3 f w 3 w 1 w 2 13 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Teorema de expansão de Shannon • Qualquer função booleana pode ser escrita: • Prova direta, substituindo wk =0 e depois =1 • Função também pode ser expandida em 4 termos • Exercício: aplicar o teorema nas soluções anteriormente feitas intuitivamente )...,1,..()...,0,..()...,,..( 1.1.1 nknknk wwfwwwfwwwwf )..,1..1,..()..,0..1,..( )..,1..0,..()..,0..0,..()...,.,.( 1..1.. 1..1....1 nkjnkj nkjnkjnkj wwfwwwwfww wwfwwwwfwwwwwwf 14 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp XOR3 implementada com 1 MUX 4:1 f w 1 w 2 w 3 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 w 1 w 2 w 3 f 0 0 0 0 1 1 1 1 w 3 w 3 w 3 w 3 ),1,1(),0,1(),1,0(),0,0( ),,( 3.2.13.2.13.2.13.2.1 321 wfwwwfwwwfwwwfww wwwf w 3 w 3 w 3 w 3 15 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Exemplo: maioria de uns • Expandir em w1 e posteriormente em w1 w2 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1 1 w 1 w 2 w 3 f 0 0 0 0 1 1 1 1 0 1 f w 1 w 2 w 3 w 2 w 3 + f w 3 w 1 w 2 16 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Fazer outros exemplos • Exemplo 6.5: – expandir em w1, w2 e w3 e procurar menor custo • Exemplo 6.6: a) expandir em w1 b) implementar com MUX 4:1 (expandir w1 e w2) • comparar os custos de a e b • Exemplo 6.7: • circuito maioria • implementar somente com MUXs 2:1 • comparar custo com slide anterior 3231 .. wwwwf 322131 ... wwwwwwf 323121 ... wwwwwwf 17 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp w 2 w 3 f w 4 w 1 f w 1 (a) Usando três 3-LUTs f w 1 0 Implementação com LUTs exemplo 6.8 4.214.323.2132 .... wwwwwwwwwwwf expansão apenas em w1 (b) Usando duas 3-LUTs w 1 w 3 f w 4 0 w 2 f w 2 expansão apenas em w2 18 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp 0 w n 1 – n inputs En Enable 2 n outputs y 0 y 2 n 1 – w Decodificadores Decodificador n-to-2n 19 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp 0 0 1 1 1 0 1 y 0 w 1 0 w 0 x x 1 1 0 1 1 En 0 0 0 1 0 y 1 1 0 0 0 0 y 2 0 1 0 0 0 y 3 0 0 1 0 0 (a) Tabwela verdade w 0 En y 0 w 1 y 1 y 2 y 3 (b) Símbolo gráfico (c) Circuito lógico w 1 w 0 y 0 y 1 y 2 y 3 En Decod. 2:4 20 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp w 2 w 0 y 0 y 1 y 2 y 3 w 0 En y 0 w 1 y 1 y 2 y 3 w 0 En y 0 w 1 y 1 y 2 y 3 y 4 y 5 y 6 y 7 w 1 En Um Decod. 3:8 usando decod. 2:4 21 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp w 0 En y 0 w 1 y 1 y 2 y 3 y 8 y 9 y 10 y 11 w 2 w 0 y 0 y 1 y 2 y 3 w 0 En y 0 w 1 y 1 y 2 y 3 w 0 En y 0 w 1 y 1 y 2 y 3 y 4 y 5 y 6 y 7 w 1 w 0 En y 0 w 1 y 1 y 2 y 3 y 12 y 13 y 14 y 15 w 0 En y 0 w 1 y 1 y 2 y 3 w 3 En Decod. 4:16 usando árvore de decod. 22 IC-UNICAMPMC602 – Mario Côrtes – IC / Unicamp w 1 w 0 w 0 En y 0 w 1 y 1 y 2 y 3 w 2 w 3 f s 0 s 1 1 Mux implementado a partir de decoder exemplo 6.9 23 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp w 1 w 0 w 0 En y 0 w 1 y 1 y 2 y 3 f s 0 s 1 1 w 2 w 3 Mux implementado c/ decoder e buffers tri-state exemplo 6.10 24 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Sel 2 Sel 1 Sel 0 Sel 2 m 1 – Address Read d 0 d n 1 – d n 2 – m -t o -2 m d e c o d e r 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 Data a 0 a 1 a m 1 – Demultiplexador/Decoder (expl 6.11) 25 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp 2 n inputs w 0 w 2 n 1 – y 0 y n 1 – n outputs Codificadores Codificador 2n-to-n 26 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp (b) Circuito w 1 w 0 y 0 w 2 w 3 y 1 0 0 1 1 1 0 1 w 3 y 1 0 y 0 0 0 1 0 w 2 0 1 0 0 w 1 1 0 0 0 w 0 0 0 0 1 (a) Tabela verdade Codificador 4:2 27 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Codificador de prioridade • Função y=f(w) e z=f(w) poderia ser sintetizada como no cap.4. Mas é mais simples observar que: – y1 e y0 podem ser gerados com um codificador 4:2 (próximo slide) w3 w2 w1 w0 g3 g2 g1 g0 y1 y0 z 0 0 0 0 0 0 0 0 d d 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 x 0 0 1 0 0 1 1 0 1 x x 0 1 0 0 1 0 1 1 x x x 1 0 0 0 1 1 1 “pedidos” “grants” “codificação” 01230 ... wwwwg 1231 .. wwwg 232 .wwg 33 wg 28 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp d 0 0 1 0 1 0 w 0 y 1 d y 0 1 1 0 1 1 1 1 z 1 x x 0 x w 1 0 1 x 0 x w 2 0 0 1 0 x w 3 0 0 0 0 1 Implementação do codificador prioridade w 1 w 0 y 0 w 2 w 3 y 1 z w0 w1 w2 w3 confrontar com slides anteriores 29 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Conversores de código • Transformam código de entrada (m bits) em códigos de saída (n bits) –conversor binário 7 segmentos –conversor binário BCD 30 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp 1 0 1 1 1 1 1 w 0 a 1 b 0 1 1 1 1 0 1 1 0 1 0 0 w 1 0 1 1 0 0 w 2 0 0 0 0 1 w 3 0 0 0 0 0 c 1 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 d 0 1 0 0 1 0 e 1 0 1 1 1 0 1 0 0 1 0 0 0 1 f 1 0 0 1 1 1 g 1 0 1 1 1 1 1 1 0 1 (c) Tabela verdade (a) Conversor de código w 0 a w 1 b c d w 2 w 3 e f g c e a g b f d (b) Display de 7 segmentos Conversor Bin BCD (7 segmentos) 31 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Implementação convencional 32 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp i 0 i 1 i 2 i 3 b 0 a 0 b 1 a 1 b 2 a 2 b 3 a 3 AeqB AgtB AltB Comparador de 4 bits
Compartilhar