Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNESP UNIVERSIDADE ESTADUAL PAULISTA “JULIO DE MESQUITA FILHO” CAMPUS DE ILHA SOLTEIRA CIRCUITOS ARITMÉTICOS LABORATÓRIO DE CIRCUITOS DIGITAIS II DISCENTE: JOÃO GABRIEL BANDEIRA RAMOS RA: 152053018 DOCENTE: SUELY CUNHA AMARO MANTOVANI ILHA SOLTEIRA – SP MARÇO DE 2017 1. OBJETIVO Implementar, utilizando o software Max+Plus II da Altera, uma máquina de calcular que utiliza o sistema de complemento de um, por meio de circuitos lógicos aritméticos. 2. INTRODUÇÃO TEÓRICA 2.1 REGISTRADOR Os registradores são conjuntos de flip-flops arranjados de tal forma a permitir o armazenamento de dados que podem ser codificados em binário. A operação mais comumente realizada sobre a informação armazenada em registradores é operação de transferencia de dados. 2.2 CIRCUITOS ARITMETICOS Os circuitos lógicos aritmeticos são aqueles que realizam operações aritméticas com numeros binarios, geralmente de soma e/ou subtração. 2.2.1 MEIO-SOMADOR O circuito combinacional aritmético que trabalha com dois bits de entrada e dois bits de saída é definido como Meio-Somador. As entradas correspondem aos dois bits que serão somados gerando dois bits de saida, o bit de soma e o bit de carry (“vai um”). A tabela-verdade para a geração dos bits de saida está ilustrada na tabela 1 e as equações I e II são as funções lógicas que traduzem a tabela–verdade. A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Tabela 1. Tabela-verdade do meio somador. 𝑆 = 𝐴 ⊕ 𝐵 (I) 𝐶 = 𝐴𝐵 (II) O circuito, ilustrado na figura 1, que implementa as expressões lógicas I e II é chamado de Meio-somador, e é construido utilizando uma porta lógica Exclusive OR e uma porta lógica AND. Figura 1. Circuito do Meio-Somador. 2.2.2 SOMADOR COMPLETO Um somador completo é um circuito aritmético que recebe tres bits de entrada e fornece dois bits de saida. Duas das entradas correspondem aos bits que serão somados, a restante é o bit de carry de entrada(“vai um”). As duas saidas, por sua vez, correspondem ao bit de soma e ao bit de carry de saida. A tabela-verdade do circuito somador-completo esta ilustrada na tabela 2, e III e IV são as equações que a traduzem. A B Carry IN S Carry OUT 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 Tabela 2. Tabela-verdade do somador completo. 𝑆 = 𝐴 ⊕ 𝐵 ⊕ 𝐶𝑎𝑟𝑟𝑦𝐼𝑁 (III) 𝐶𝑎𝑟𝑟𝑦𝑂𝑈𝑇 = 𝐴𝐵 + 𝐴𝐶𝑎𝑟𝑟𝑦𝐼𝑁 + 𝐵𝐶𝑎𝑟𝑟𝑦𝐼𝑁 (IV) O circuito do somador completo é a implementação das equações III e IV e utiliza de portas lógicas do tipo Exclusive OR, AND e OR. O esquema do circuito esta ilustrado na figura 2. Figura 2. Circuito do Somador Completo. 2.2.3 SOMADOR PARALELO Um circuito somador paralelo é utilizado para somar numeros binarios de 𝑁 bits cada, e é composto por 𝑁 somadores completos. Cada um dos somadores completos é responsavel por somar dois bits de mesma posição, cada um proveniente de um dos numeros binarios, juntamente com um carry de entrada. O carry gerado pela soma de cada posição irá servir como carry de entrada para a soma da proxima posição, isto é, o carry de saida de cada somador completo será o carry de entrada do somador que o sucede. O arranjo de um conjunto de somadores completos que formam um somador paralelo de 4 bits esta ilustrado na figura 3. Figura 3. Diagrama de blocos de um somador paralelo de 4bits. 2.3 CIRCUITOS INTEGRADOS DE SOMADORES COMPLETOS Os somadores completos tambem são encontrados na forma de circuitos integrados, como é o caso do TTL 7483, um somador paralelo de 4 bits que contem 4 somadores completos. A figura 4 ilustra o esquema funcional do 7483. Figura 4. Somador Paralelo TTL 7483. 2.4 COMPLEMENTO DE UM O sistema de complemento de um é um metodo para representação numerica de numeros com sinal utilizando a codificação de numeros binários. A representação de numeros negativos utilizando esse método necessita da aplicação de uma operação de negação (NOT) em todos os bits da sua contraparte positiva, em outras palavras, inverte-se todos os bits de um determinado numero binário, trocando todos os ‘1’s por 0 e vice-versa. Desta forma, por exemplo, o numero binario 00110101 (53) em complemento de um torna-se 11001010 (-53). O zero, em especial, tem duas representações, a 00000000 e a 11111111. O sistema de complemento de um possui um intervalo de representação, em decimal, que varia de 1 − 2𝑁−1 a 2𝑁−1 − 1, onde 𝑁 é o numero de bits utilizados. Utilizando-se 8 bits, por exemplo, o intervalo correspondente em complemento de um varia de -127 a 127. 3. METODOLOGIA 3.1 MATERIAIS UTILIZADOS Para a execução do experimento foi utilizado o software de desenvolvimento Max+Plux II da Altera. 3.2 PROCEDIMENTO EXPERIMENTAL A principio foi implementado, por meio do software Max+Plus II, o circuito de uma máquina de calcular de quatro bits que utiliza o sistema de complemento de um. Em seguida, foi realizado uma simulação com alguns exemplos, utilizando o mesmo software, para assegurar o bom desempenho do circuito. 4. RESULTADOS E DISCUSSAO O esquema do circuito lógico da máquina de calcular, ilustrado no Apendice A, foi implementado utilizando dois circuitos integrados (CI) de registradores 74175, um CI de somador paralelo TTL 7483, oito portas lógicas do tipo AND, quatro do tipo OR e uma do tipo NOT. A fim de garantir o bom funcionamento da maquina de calcular, realizou-se algumas simulações, utilizando o software Max+Plus II. A primeira delas, ilustrada na figura 5, apresenta uma situação onde o circuito foi inicializado com o valor de 0000 (0) e, com o passar do tempo, foi incrementado o valor de 0001 (1). A figura 6, por outro lado, representa a mesma situação, mas agora é decrementado o valor de 0001 (1). É importante notar que a diferença entre somar ou subtrair o valor de um ao circuito esta na escolha dos bits de seleção. Como é possivel perceber, na simulação da figura 5 SEL0 = 0 e SEL1 = 1, enquanto que na simulação da figura 6 SEL0 = 1 e SEL1 = 1. Figura 5. Figura 6. Estas duas primeiras simulações permitem concluir que o circuito lógico da maquina de calcular operou de maneira satisfatória, visto que gerou resultados corretos e dentro da faixa de valores com que foi projetado para trabalhar. Outros testes tambem foram realizados para verficar o desempenho da maquina de calcular, simulando as seguintes operações: 3-2, 1+4, -7+1, -3-5 e 1+6. Os resultados estao ilustrados na figura 7. Figura 7. Analisando os resultados da figura 7a, percebe-se que a maquina de calcular efetuou a operação 3-2 corretamente, gerando 0001 nas saidas S[3..0] depois de receber 0011 e 0010 de entradas. Na mesma figura vemos que o somatório 1+4 tambem foi realizado com sucesso, visto que o circuito gerou como saida o numero binario 0101. Na figura 7b, a saida que corresponde à operação -7+1 aparece, corretamente, na representação de complemento de um do numero negativo -6, ou seja, 1001. A operação -3-5, no entanto, resulta em -8; valor que extrapola o intervalo de magnitude com que o circuito foi desenvolvido para trabalhar. Por esse motivo que um valor erroneo de 0111 (7) foi gerado nas saidas S[3..0], como ilustraa figura 7b. O somatorio 1+4, diferentemente da operação anterior, se dá corretamente e dentro dos padroes da maquina de calcular de 4 bits como pode ser visto na figura 7c, que ilustra 0001 e 0100 como entradas em B[3..0] gerando 0101 nas saidas S[3..0]. 4.1 FUNCIONAMENTO DO CIRCUITO Para utilização do circuito, primeiramente, deve-se zerar o registrador A por meio de sua entrada CLEAR, ativa em nivel baixo. Em seguida, insere-se um numero binario X nas entradas B[3..0] do circuito. Esse numero binario será armazenado no registrador B na borda de subida do clock. Depois do armazenamento, o numero binario passará por um circuito combinacional que definirá, por meio de dois bits de seleção SEL0 e SEL1, se ocorrerá uma operação de negação em todo conjunto de bits do numero X, isto é, se X é um numero negativo e será representado em complemento de um. Os bits de seleção SEL0 e SEL1, por sua vez, assumem valores distintos conforme a operação. Se SEL0 = 0 E SEL1 = 1, o circuito realiza uma adição de dois numeros binarios, se SEL0 = 1 E SEL1 = 0, o circuito realiza uma subtração dos mesmos. Após X ser armazenado no registrador B e passar pelo circuito combinacional descrito, o somador realizará a operação aritmetica com X mais o valor contido no registrador A , que inicialmente é zero, e armazenará o resultado como um novo valor para o registrador A. Ou seja, em principio, o valor de X passou por todo o circuito apenas para o circuito combinacional definir seu sinal e representá-lo em complemento de um, e para ser armazenado no registrador A. Um outro numero binario Y, entao, é definido nas entrada B[3..0] e passa pelo mesmo procedimento: é armazenado no registrador B no disparo da borda positiva do clock e passa pelo circuito combinacional para definir a operação aritmetica conforme o seu sinal. Quando este numero binario Y se torna entrada do somador, ele será somado, como anteriormente, ao valor armazenado no registrador A; que agora assume o valor de X. O resultado da soma de X+Y se torna o novo valor do registrador A e, consequentemente, a saida S[3..0] do circuito. 4.2 FAIXA DE VALORES O circuito lógico da maquina de calcular de 4 bits que utiliza o sistema de complemento de um, permite trabalhar com valores que variam de -7 a +7 na representação decimal. 4.3 EXEMPLOS QUE NAO FUNCIONAM Operações como, por exemplo, -5-4 e 6+3 geram resultados que estao fora do intervalo de valores com que a maquina de calcular foi projetada para operar; consequentemente, o circuito fornecerá um resultado errôneo, como demonstrado abaixo. −𝟓 − 𝟑 −0101 − 0011 +(−0101) + (−0011) +1010 + 1100 0110 (6) 𝟔 + 𝟑 0110 + 0011 1001 (−6) 5. CONCLUSÃO O ensaio buscou desenvolver, utilizando o software Max+Plus II, um circuito lógico de forma a operar como uma maquina de calcular de 4 bits baseada na representação numerica de numeros com sinal, o sistema de complemento de um. O experimento abrangeu conceitos importantes sobre lógica combinacional e circuitos aritmeticos, tais como: somadores completos, somadores paralelos, registradores e o sistema de complemento de um. O objetivo do experimento foi atingindo e os resultados foram satisfatórios, visto que as simulações evidenciaram que o circuito apresentou bom desempenho em todo o intervalo de valores que foi projetado para operar. 6. REFERENCIAS BIBLIOGRAFICAS [1] Tocci, Ronald J.; Widmer, Neal S. Sistemas Digitais: Princípios e Aplicações. 8º ed, Prentice Hall, 2003. 7. APENDICE Apendice A.
Compartilhar