Baixe o app para aproveitar ainda mais
Prévia do material em texto
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO DANIEL RONEI DE SÁ – 1575031 LEONARDO BAGGIO – 1572083 MATHEUS BATISTA – 1575058 CIRCUITOS ARITMÉTICOS SÃO PAULO 2° SEMESTRE 2016 Relatório técnico apresentado como requisitoparcial para obtenção de aprovação na disciplina T3LD1 – Laboratório de Eletrônica Digital 1, no Curso de Engenharia Eletrônica, no Instituto Federal de Educação, Ciência e Tecnologia de São Paulo. Prof. Me. Alexandre de Jesus Aragão 1. OBJETIVO Verificar o funcionamento dos circuitos meio somador, somador completo e subtrator com complemento de dois montando os mesmos com a utilização de portas lógicas simples e circuitos dedicados. 2. INTRODUÇÃO TEÓRICA Circuitos Aritméticos são circuitos combinacionais utilizados, principalmente, para construir a ULA (Unidade Lógica Aritmética) dos microprocessadores e são encontrados disponíveis em circuitos integrados comerciais. Uma função essencial da maioria dos computadores e calculadoras é a realização de operações aritméticas. Estas operações são todas realizadas na unidade lógica e aritmética de um computador, onde portas lógicas e flip-flops são combinadas de tal modo que elas podem fazer a soma, subtração, multiplicação e divisão de números binários. A figura 1, através de um diagrama, mostra como funciona a ULA. Figura 1 – Blocos funcionais de uma ULA O circuito aritmético Meio Somador (Half adder) possibilita efetuar a soma de números binários com somente um algarismo. Assim, pode-se construir a sua tabela verdade da soma de 2 números binários de 1 algarismo, definindo Ts como o transporte de saída. A tabela 1 mostra a tabela-verdade de um Meio Somador. Tabela 1 – Tabela verdade de um Meio Somador Através da tabela, pode-se montar um circuito que possui como entrada as variáveis booleanas A e B, e como saída, a soma dos algarismos S e o respectivo transporte de saída Ts (carry out), além disso, as expressões características extraídas da tabela são: 𝑆 = 𝐴 ⊕ 𝐵 e 𝑇𝑠 = 𝐴𝐵. A figura 2 mostra o circuito lógico de um meio somador e a figura 3, sua representação de bloco. Figura 2 – Circuito lógico de um Meio Somador Figura 3 – Representação de bloco do circuito O somador completo (Full Adder) é um circuito lógico utilizado para fazer soma de 2 números binários de mais de 1 algarismo, pois possibilita a introdução do transporte de entrada Cin proveniente da coluna anterior. A tabela 2 mostra a tabela verdade de um somador completo. Tabela 2 – Tabela verdade de um Somador Completo Através dessa tabela verdade, podemos conseguir as expressões S e Ts, que são respectivamente: 𝑆 = 𝐴 ⊕ 𝐵 ⊕ 𝑇𝑒 e 𝑇𝑠 = 𝐴𝑇𝑒 + 𝐵𝑇𝑒 + 𝐴𝐵. O circuito somador completo é conhecido por Full Adder, sendo a entrada do transporte Te denominada carry in. A figura 4 mostra o circuito lógico de um Somador Completo, já a figura 5 o seu diagrama em bloco. Figura 4 – Circuito lógico de um Somador Completo Figura 5 – Diagrama em bloco de um Somador Completo Para exemplificar, pode ser montado um sistema em blocos que efetua a soma de dois números de 5 bits, conforme a figura 6, além disso, este raciocínio pode ser estendido para qualquer quantidade de bits: Figura 6 – Diagrama em bloco de um circuito Somador Paralelo Usando Somadores Completos Importante salientar que para se efetuar a soma dos bits A0 e B0 pode-se utilizar um meio somador, pois não existe transporte de entrada. Para as demais colunas deve-se utilizar o somador completo, pois Te (carry in) deve ser considerado. No diagrama da figura 6, o bit S4 do último somador completo depende do bit C1 do primeiro somador completo. Porém C1 tem de passar pelos quatros FAs antes de gerar a saída S4. Isso representa um atraso de tempo que depende do atraso de cada somador completo. Supondo que cada FA tenha um atraso de 40ns, S4 não alcançará o resultado correto até que tenha transcorrido 200ns. Quanto maior o número de bits maior o atraso. Para reduzir esse atraso pode-se usar um circuito de geração de carry antecipado. O Meio Subtrator (Half Subtractor) efetua a subtração de 2 números binários com somente 1 algarismo. Desta forma, pode-se montar a tabela verdade considerando a operação de subtração de 2 números binários de 1 algarismo (A-B). A tabela 3 mostra a tabela verdade de um circuito Meio Subtrator. Tabela 3 – Tabela verdade de um Meio Subtrator Como entradas têm A e B, a saída S como a subtração e o transporte de saída Ts. Com isso, as expressões do circuito são: 𝑆 = 𝐴 ⊕ 𝐵 e 𝑇𝑠 = 𝐴𝐵. A figura 7 mostra o circuito lógico de um Meio Subtrator, já a figura 8 o seu diagrama em bloco. Figura 7 – Circuito lógico de um Meio Subtrator Figura 8 – Representação de bloco do circuito Já o Subtrator completo (Full Subtractor) é utilizado para fazer a subtração de 2 números binários de mais de 1 algarismo, pois possibilita a introdução do transporte de entrada Te proveniente da coluna anterior, a tabela 4, mostra a tabela verdade do subtrator completo. Tabela 4 – Tabela verdade de um Subtrator completo Através dessa tabela verdade, podemos conseguir as expressões S e Ts, que são respectivamente: 𝑆 = 𝐴 ⊕ 𝐵 ⊕ 𝑇𝑒 e 𝑇𝑠 = 𝐴𝑇𝑒 + 𝐵𝑇𝑒 + 𝐴𝐵. Das equações é montado o circuito lógico do subtrator completo, presente na figura 9, assim como, o seu diagrama em bloco na figura 10. Figura 9 – Circuito lógico de um Subtrator Completo Figura 10 – Diagrama em bloco de um Subtrator Completo O subtrator completo é conhecido como Full Subtractor. Da mesma forma, pode- se esquematizar um sistema subtrator para 2 números de m bits, onde m = n +1. A figura 11 representa isso. Figura 11 – Diagrama em bloco de um circuito Subtrator Paralelo Usando Subtratores Completos Neste sistema, a saída de transporte TS do último bloco é desnecessária se o minuendo (An...A0) for maior ou igual ao subtraendo (Bn...B0), porém poderá ser utilizada no caso contrário para indicar que o resultado é negativo, estando, então, na notação do complemento de 2. Existe um sistema chamado de Complemento de 2, ele é usado para representar números negativos, as operações de adição e subtração podem ser realizadas usando apenas a adição. A figura 12 mostra um somador paralelo usado para somar um número positivo com um número negativo na forma de complemento de 2, no caso -3 com +6. Figura 12 – Somador paralelo usado para somar um número positivo com um número negativo na forma de complemento de 2 Quando o sistema de complemento de 2 é usado, o número a ser subtraído (subtraendo) é transformado para a sua forma de complemento de 2 e então somado ao minuendo. A figura 13 mostra um somador paralelo usado para realizar uma subtração no sistema de complemento de 2. Importante observar que os bits do subtraendo (B) são invertidos e C0 = 1 para gerar o complemento de 2. Figura 13 – Somador paralelo usado para realizar uma subtração (A-B) usando o sistema do complemento de 2 3. PROCEDIMENTO EXPERIMENTAL 3.1Material Utilizado 01 Circuito Integrado 7404 (Porta NOT – MED52). 01 Circuito Integrado 7408 (Porta AND – MED50). 01 Circuito Integrado 7432 (Porta OR – MED50). 01 Circuito Integrado 7486 (Porta XOR – MED52). 01 ULA Simulada com Microcontrolador (MED35) 01 Fonte de alimentação DC (LEG2000). Led’s e resistores para monitoramento dosníveis lógicos (LEG2000). 3.2 Procedimentos Experimentais A primeira etapa do experimento consistiu em projetar, montar e retirar a tabela verdade, vide tabela 5, de um circuito meio somador de 2 entradas (Half-Adder): Entradas A e B, saídas S e CO. Analisando a Tabela Verdade do meio somador, foi possível projetar o circuito correspondente, conforme figura 14. Tabela 5 – Tabela Verdade Meio Somador. A B S 𝐂𝐎 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Figura 14 – Circuito do Meio Somador. O mesmo foi feito para um somador completo de 2 entradas (Full-Adder): Entradas A, B e CI, saídas S e CO. Com a tabela verdade preenchida, vide tabela 6, foi possível obter a função do circuito. Tabela 6 – Tabela Verdade do Somador Completo. A B 𝐂𝐈 S 𝐂𝐎 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Através da tabela verdade e simplificações, foi possível obter a função de S e CO, sendo essas: S = A B CI e CO = AB + ACI + BCI. Juntando as duas saídas no mesmo circuito, obtêm – se o circuito do somador completo, conforme figura 15. XOR2 AND2 A B S C0 Figura 15 – Circuito do Somador Completo. A segunda etapa do experimento consistiu em projetar, montar e retirar a tabela verdade, vide tabela 7, de um circuito meio subtrator de 2 entradas (Half-Subtractor): Entradas A e B, saídas S e B0. Analisando a Tabela Verdade do meio subtrator, foi possível projetar o circuito correspondente, conforme figura 16. Tabela 7 – Tabela Verdade Meio Somador. A B S 𝐁𝐎 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Figura 16 – Circuito do Meio Subtrator. O mesmo foi feito para um subtrator completo de 2 entradas (Full-Subtractor): Entradas A, B e BI, saídas S e BO. Com a tabela verdade preenchida, vide tabela 8, foi possível obter a função do circuito. A B S Ci Co XOR2 AND2 NOT A B S BO Tabela 8 – Tabela Verdade do Subtrator Completo. A B 𝐁𝐈 S 𝐁𝐎 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Através da tabela verdade e simplificações, foi possível obter a função de S e CO, sendo essas: S = A B CI e CO = AB + ACI + BCI. Juntando as duas saídas no mesmo circuito, obtêm – se o circuito do somador completo, conforme figura 17. Figura 17 – Circuito do Subtrator Completo. Observando as equações dos quatro circuitos, foi possível inserir no mesmo um sinal subtração/soma de forma que um mesmo circuito efetuasse ambas as operações através da seleção do sinal D, sua tabela verdade pode ser vista na tabela 9, sendo soma completo quando D = 0 e subtração completa quando D = 1. A partir da tabela e simplificações. Foi possível obter o circuito somador/subtrator, sendo: S = A B BI/CI e BO/CO = BI/CI + (DA)(B BI/CI), conforme figura 18. A B S Bi Bo Tabela 9 – Tabela Verdade do Somador/Subtrator Completo. D A B 𝐁𝐈/𝐂𝐈 S 𝐁𝐎/𝐂𝐎 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 Figura 18 – Circuito do Subtrator/Subtrator Completo. A última etapa do experimento foi a montagem da ULA simulada com Microcontrolador (MED35), para realizar a montagem foi utilizado a tabela 10. A B S Bi/Ci Bo/Co D Tabela 10 – Funções dos Pinos na Unidade MED35. Pino(s) Nome e Função X3, X2, X1, X0 Entrada X de 4 bits (Entrada B) Y3, Y2, Y1, Y0 Entrada Y de 4 bits (Entrada A) F3, F2, F1, F0 Entrada de Seleção de Função de 4 bits CN Entrada de Carry (ativa em 0) M Entrada de Controle de Modo S3, S2, S1, S0 Saída S de 4 bits CN+4 Saída de Carry (ativa em 0) A = B Saída Comparadora P e G Saídas Carry Propagate e Carry Generate Para resolver as somas e subtrações foi utilizado a função que pode ser vista na tabela 11. Tabela 11 – Funções Possíveis na ULA Simulada. MODE SELECT INPUTS ACTIVE HIGH INPUTS AND OUTPUTS 𝐒𝟑 𝐒𝟐 𝐒𝟏 𝐒𝟎 LOGIC (M=H) ARITHMETIC (M=L; 𝐂𝐍=H) H L L H A B̅̅ ̅̅ ̅̅ ̅ A plus B Com o circuito montado foi completado as tabelas de 12 a 23, variando o CN conforme indicado, sendo que todos os números propostos estavam em decimal. A proposta do CN no circuito seria a soma de um binário no resultado da soma ou subtração quando o CN fosse ligado no 0, porém no experimento não foi possível observar essa mudança, portanto as tabelas foram preenchidas sem a influência do CN. 6 + 2 = 8 Tabela 12 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 0 0 1 0 0 1 1 0 0 0 1 0 0 0 8 8 0 0 1 0 0 1 1 0 1 0 1 0 0 0 8 8 a. 7 - 5 = 2 Tabela 13 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 1 0 1 1 0 1 1 1 0 1 0 0 1 0 2 2 1 0 1 1 0 1 1 1 1 1 0 0 1 0 2 2 b. 4 + 3 = 7 Tabela 14 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 0 0 1 1 0 1 0 0 0 0 0 1 1 1 7 7 0 0 1 1 0 1 0 0 1 0 0 1 1 1 7 7 c. -1 - 6 = -7 Tabela 15 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 1 0 1 0 1 1 1 1 0 1 1 0 0 1 -7 9 1 0 1 0 1 1 1 1 1 1 1 0 0 1 -7 9 d. 7 + 6 = 13 Tabela 16 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 0 1 1 0 0 1 1 1 0 0 1 1 0 1 13 D 0 1 1 0 0 1 1 1 1 0 1 1 0 1 13 D e. -4 + 4 = 0 Tabela 17 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 f. 6 - 2 = 4 Tabela 18 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 1 1 1 0 0 1 1 0 0 1 0 1 0 0 4 4 1 1 1 0 0 1 1 0 1 1 0 1 0 0 4 4 g. 7 +5 = 12 Tabela 19 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 0 1 0 1 0 1 1 1 0 0 1 1 0 0 12 C 0 1 0 1 0 1 1 1 1 0 1 1 0 0 12 C h. 4 - 3 = 1 Tabela 20 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 i. -1 - 6 = -7 Tabela 21 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 1 0 1 0 1 1 1 1 0 1 1 0 0 1 -7 9 1 0 1 0 1 1 1 1 1 1 1 0 0 1 -7 9 j. 7 - 7 = 0 Tabela 22 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 1 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 k. 4 + 2 = 6 Tabela 23 – Simulação Proposta X3 X2 X1 X0 Y3 Y2 Y1 Y0 𝐂𝐍 𝐂𝐍+𝟒 S3 S2 S1 S0 Dec Hex 0 0 1 0 0 1 0 0 0 0 0 1 1 0 6 6 0 0 1 0 0 1 0 0 1 0 0 1 1 0 6 6 5. QUESTÕES 1) Desenhe o esquema de um circuito que tenha como entrada um número de -7 a 7 e apresente em sua saída seu complemento de 2 (ex: entrada = 3 > saída = -3, e assim por diante). A partir da análise do enunciado foi construída a tabela 24, que descreve o problema. Tabela 24 – Tabela verdade do problema proposto. Nº Entradas Saídas em complemento de 2 # A B C D S1 S2 S3 S4 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 2 0 0 1 0 1 1 1 0 3 0 0 1 1 1 1 0 1 4 0 1 0 0 1 1 0 0 5 0 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 0 7 0 1 1 1 1 0 0 1 8 1 0 0 0 X X X X -7 1 0 0 1 0 1 1 1 -6 1 0 1 0 0 1 1 0 -5 1 0 1 1 0 1 0 1 -4 1 1 0 0 0 1 0 0 -3 1 1 0 1 0 0 1 1 -2 1 1 1 0 0 0 1 0 -1 1 1 1 1 0 0 0 1 Com a tabela verdade foi possível extrairas seguintes expressões de saída: 𝑆1 = �̅�𝐵 + �̅��̅�𝐷 + �̅��̅�𝐶 → 𝑆1 = �̅�(𝐵 + �̅�(𝐷 + 𝐶)) → 𝑆1 = �̅�(𝐵 + 𝐶 + 𝐷) 𝑆2 = �̅�𝐶 + �̅�𝐶̅𝐷 + 𝐵𝐶̅�̅� → 𝑆2 = �̅�𝐶 + 𝐶̅(�̅�𝐷 + 𝐵�̅�) → 𝑆2 = �̅�𝐶 + 𝐶̅(𝐵 ⊕ 𝐷) 𝑆3 = 𝐶̅𝐷 + 𝐶�̅� → 𝑆3 = 𝐶 ⊕ 𝐷 𝑆4 = 𝐷 A partir das expressões de saída, foi projetado o esquema de circuito mostrado na figura 19. Figura 19 – Esquema de circuito para completo de 2 (-7 a 7). 6. CONCLUSÃO Com a realização deste experimento, foi possível perceber o funcionamento de circuitos lógicos aritméticos empregados nas operações de soma e subtração, além de compreender como é feito o projeto destes circuitos através de portas lógicas. É importante ter este tipo de percepção para que seja possível empregar estes circuitos lógicos na solução problemas práticos. Houve dificuldade para o planejamento e projeto do circuito lógico aritmético proposto no terceiro item, em que era solicitado um único circuito para executar as operações de soma e subtração conforme a seleção de operação, porém conseguimos montar o circuito solicitado após análise dos circuitos propostos anteriores (meio somador, somador completo, meio subtrator e subtrator completo) e suas respectivas tabelas verdade, assim como simplificações pela álgebra booleana. Na última etapa do experimento, fomos apresentados à Unidade Lógica Aritmética (ULA), circuito integrado que pode realizar diversas funções aritméticas entre duas entradas de quatro bits cada, possui também uma entrada de quatro bits para seleção da função desejada e entradas para controle de modo, entrada e saída de carry, saída comparadora, saídas carry propagate e carry generate, fornecendo uma saída de quatro bits. Vimos que este tipo de circuito proporciona uma gama de soluções de forma simplificada e para operações e problemas mais complexos seria melhor utilizar este tipo de CI do que montar blocos lógicos a partir de portas lógicas. Considerando o experimento como um todo, este experimento foi de grande importância para o desenvolvimento de raciocínio lógico na resolução de problemas envolvendo circuitos aritméticos feitos a partir de portas lógicas e proporciona uma nova perspectiva para solução de problemas na eletrônica digital. 7. BIBLIOGRAFIA CAPUANO, Francisco G.; IDOETA, Ivan Valeije. Elementos de Eletrônica Digital. 40ª ed. São Paulo: Érica, 2000. TOCCI, R.J. &WIDMER,N.S.Sistemas digitais: princípios e aplicações. 11a ed, Prentice-Hall, 2011.
Compartilhar