UNIVERSIDADE FEDERAL DO PIAUÍ CENTRO DE TECNOLOGIA – CT CURSO: BACHARELADO EM ENGENHARIA ELÉTRICA PROFESSOR: DR. JOSÉ MARIA PIRES DE MENEZES JÚNIOR DISCIPLINA: LABORATÓRIO DE CIRCUITOS DIGITAIS
EXPERIMENTO 04: SOMADORES BINÁRIOS
ANDREI CARVALHO RIBEIRO (201265795) (201265795)
TERESINA, AGOSTO DE 2013
1. Objetivos
Verificar a implementação da soma binária de números sem sinal;
Projetar um circuito meio-somador;
Projetar um circuito somador-completo;
Verificar o funcionamento do somador binário de 4 bits 7483.
2. Material Utilizado
Módulo educacional para montagens;
2x CI 7408;
1x CI 7432;
1x CI 7483;
2x CI 7486;
3. Resumo da Teoria
As regras básicas para soma binária de dois números são as seguintes: 0+0 = 0 (carry = 0) 0+1 = 1 (carry = 0) 1+0 = 1 (carry = 0) 1+1 = 0 (carry = 1) Podemos observar que o valor lógico da variável soma (∑) é produzido a partir dos bits somados e uma operação XOR, enquanto que o carry é pr oduzido por uma operação AND. Essas operações são realizadas por um circuito lógico chamado de meio somador . O meio somador aceita dois dígitos binários em suas entradas e produz dois dígitos binários em suas saídas, um bit para soma (∑) e um bit para o carry.
A segunda categoria de somadores é somador completo. O somador completo aceita dois bits de entrada e um carry de entrada, e produz dois dígitos binários em suas saídas, um bit para soma (∑) e um bit para o
carry de saída.
4. Montagens 4.1. Primeira Montagem – Meio Somador 4.1.1. Descrição do Funcionamento
Um meio somador recebe dois bits de entrada A0 e B0 e produz dois bits de saída, o bit de soma (∑) e o carry de saída (Cout).
A seguir estão a tabela verdade e as expressões lógicas da soma e do carry de saída: A0
B0
∑
Cout
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
∑ = 0
B0
= 0 ∙ 0
Podemos então projetar o circuito lógico do meio somador usando uma XOR e uma AND.
4.1.2. Diagrama Elétrico
4.1.3. Verificação de Funcionamento A0
B0
0
0
0
1
1
0
1
1
∑
Cout
4.2. Segunda Montagem – Somador Completo 4.2.1. Descrição do Funcionamento
O somador-completo soma os dois bits de entrada e o carry de entrada produzindo uma saída para soma e outra para carry. A partir do meio-somador sabemos que a soma dos bits de entrada A e B é a XOR dessas duas variáveis A ⊕ B. Para o carry de entrada ( C in) ser somado aos bits de entrada, deve-se fazer uma XOR com A ⊕ B, resultando na equação para a saída da soma do somador-completo. Já o carry de saída do somador-completo é produzido pela operação AND de A
com B e pela operação AND de A ⊕ B com C in. O funcionamento do somador completo é descrito pela seguinte tabela
verdade: A
B
Cin
∑
Cout
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
Para um somador completo teremos o seguinte circuito lógico:
4.2.2. Diagrama Elétrico
4.2.3. Verificação de Funcionamento
A
B
Cin
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
∑
Cout
4.3. Terceira Montagem – Somador binário de 3 bits 4.3.1. Descrição do Funcionamento
Nesta montagem vamos implementar um somador binário de 3 bits utilizando um meio somador e dois somadores completos. As entradas serão A2, A1, A0 para o primeiro número a ser somado e B2, B1, B0 para o segundo número. O diagrama lógico a seguir retrata o funcionamento do somador de 3 bits.
Cuja tabela verdade é A2
B2
A1
B1
A0
B0
S0
Cout0
S1
Cout1
S2
Cout2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
S0
Cout0
S1
Cout1
S2
Cout2
4.3.2. Diagrama Elétrico
4.3.3. Verificação de Funcionamento A2
B2
A1
B1
A0
B0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
4.4. Quarta Montagem – Somador binário de 4 bits 4.4.1. Descrição do Funcionamento
Vamos implementar um somador de 4 bits através do CI HD74LS83AP. Esse CI possui 16 pinos, sendo 8 pinos de entrada para dados (4 pinos para os bits de um número e 4 pinos para os bits de outro número), 4 pinos de saída (que representam a soma bit a bit), 1 carry de entrada (C0) e um carry de saída (C4), além de um pino para alimentação e outro para aterramento.
4.4.2. Diagrama Elétrico
4.4.3. Verificação do Funcionamento
5. Conclusão ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________
6. Questões Explique como é feita a representação de números binários com sinal em representação sinal e módulo.
Na representação sinal e módulo os números binários são acrescidos de um bit de sinal que é colocado a esquerda na posição do MSB (bit mais significativo). Se o bit de sinal for 0, o número é positivo, se o bit de sinal for 1, o número é negativo. O MSB representa o sinal e todos os outros bits a magnitude do número. Exemplos: 0111 = +7
1111 = -7
Explique como é feita a representação de números binários com sinal em representação com completo de 2.
Para colocar um número em sua forma de complemento de 2, devemos primeiramente fazer o complemento de 1 que é barrar cada bit do número, ou seja trocar 0 por 1 e 1 por 0, em seguida basta adicionar 1 ao número obtido e assim estaremos com o número na sua forma de complemento de 2. Se o MSB for 0 o número é positivo, se o MSB for 1 o número é negativo, porém no caso dos números negativos não podemos determinar diret amente qual é o número olhando apenas para a magnitude determinada pelos outros bits. Deve ser realizar complemento de 1 em seguida somar um para determinar qual é o número. Obter as somas dos números, em representação decimal, dos números binários representados pelas palavras-código binárias seguintes (representadas em hexadecimal):
Dica: Cada dígito em hexadecimal corresponde a 4 bits em binário então basta convertê-los em binário (mesmo que alguns casos seja necessário acrescentar zeros), realizar a soma binária e depois converter para decimal. 1) D5h + 80h = 11010101+10000000 = 341 2) AAh + 5Ah = 10101010 + 01011010 = 260 3) 08h + 80h = 00001000 + 10000000 = 136