Escolar Documentos
Profissional Documentos
Cultura Documentos
Por
1-Introdução
Repare que no último caso acima, o resultado da adição é o valor 2, que em binário necessita de
dois dígitos para ser representado (10). Um circuito aritmético para realizar a adição de dois bits
deve operar
circuito para corretamente parabits
a adição de dois qualquer combinação
deve possuir de valores
duas entradas de saídas,
e duas entrada.conforme
Isso significa quenao
ilustrado
figura 1.
Corrobora
mostrado a UFPEL
na figura que,é denomina-se
acima denominado meia-soma a operação
meio somador de adição
(half adder). As de doisentradas,
duas bits. O circuito
A e B,
representam os dois bits a serem adicionados. A saída S representa o dígito menos significativo do
resultado, enquanto que a saída Cout representa o dígito mais significativo do resultado, o qual
também é conhecido por transporte de saída (carry out), uma vez que ele assume valor 1 somente
quando o resultado da soma de A e B não pode ser representado num único dígito.
Note que a saída S nada mais é do que o XOR entre A e B Já a saída
Cout é o and entre A e B (Cout = A × B). Então, um circuito para o meio somador usa apenas uma
porta XOR de duas entradas e uma porta E de duas entradas, conforme mostrado no circuito 1.
A B Cin Cout S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Tabela 1: Tabela verdade do Somador completo de 1 bit
Conforme pode-se ver
O circuito que implementa a saída S do somador completo pode ser derivado a partir da equação em
soma de produtos acima. No entanto, pode-se ainda manipular tal equação conforme segue:
Logo, o circuito para a saída S do somador completo pode também ser representado com duas
portas XOR.
A UFPEL Conclui que utilizando n somadores completos, pode-se realizar um somador capaz de
operar dois números binários de n bits (Tanto os circuitos de somadores de 4, 8, 16, 32 e 64 bits
vistos em sala de aula quanto vários mais). Dessa forma, o dígito de ordem i do resultado, Si, será
obtido
de pela
índice adiçãocomo
i recebe de Ai,entradas
Bi e Ci Ai,
, onde
Bi eCiCié, ogerando
transporte proveniente
a soma do dígito
Si e o valor anterior.Ci+1
de transporte O somador
, o qual
será entrada para o somador completo do dígito seguinte (i+1). A construção de um somador para
operar dois números binários de n bits requer o uso de n somadores completos, conectados segundo
a mesma topologia mostrada na figura do circuito somador paralelo para números binários com 4 bits
(figura 5).
end c:= (a(i) and b(i)) or ((a(i) xor b(i)) and c);
loop;
cout<=c;
s<=soma;
end process;
end arch_soma04;
Os resultados das simulações junto com o TTD e RTP e eventuais comparações encontram-se
abaixo.
3-Resultados de Simulação
Figura 10: Summary do Somador de 32 bits Figura 11: Summary do Somador de 64 bits
Como observado o Flow Summary foi captado de todas as implementações e todas tiveram as
características acima relatadas. A versão do Quartus II 9.0 mostra que o circuito foi sintetizado, com
sucesso, para o dispositivo EP2C35F672C6 da família Cyclone II com o total de 33.216 elementos
lógicos que poderiam ser usados nos somadores mas, foram usados os elementos destacados acima.
E o total de pinos que poderiam ser usados de 475. As outras características foram iguais, não
discernindo uma das outras.
Nas figuras abaixo capturamos o TPD que consiste no intervalo de tempo mínimo e
máximo para um sinal propagar de um pino de entrada do circuito ate um pino de saída. Podemos
notar, que na 1° posição do somador de 1 bit (figura 12) o sinal propagou da entrada b à saída s e
obteve um intervalo de propagação de 11.955 ns, o pior tempo entre as demais iterações entre
entradas e saídas e, como constatamos o melhor tempo foi a sexta posição que obteve 5.152 ns na
propagação da entrada a à saída cout. Ao total foram 6 iterações nas entradas e saídas.
O Somador de 16 bits (figura 15) obteve um tempo bem maior de 23.913 ns da entrada
cin a saída s[13] que já era de se esperar pelo tamanho do vetor que aumentou relativo à maior
quantidade de entradas e saídas que os demais somadores anteriores. Para ilustração da grande
quantidade, tiveram 201 iterações entre entradas e saídas para obter o resultado da soma de bits. A
sexta posição obteve 22.771 ns de propagação da entrada cin à saída cout, melhor desempenho
referente a primeira posição.
4-Conclusão
também ao realizar o laboratório dos Somadores, o tempo foi consideravelmente curto para fazer
tantas implementações e analises.
5- Anexos
Após o TPD selecionamos no programa Quartus a opção de gerar o RTL dos códigos.
Portanto, nas figuras abaixo temos o RTL que foram capturados na tela de todos os somadores.
Observamos que quanto mais bits o somador possui, maior será o circuito. Mais entradas terão
dessa forma, foi dificultado o entendimento e compreensão. Por que, ainda não temos muita
experiência. Mas, foi gratificante tentar entender o sentido e como os somadores se comportam no
hardware.
Após o RTL, criamos um arquivo Vector Waveform para formar as ondas e analisar a
simulação por tempo que é aplicada para “verificar as características de temporização, que são
inerentes à construção interna do FPGA usado e da forma como o projeto é construído dentro do
chip; ou seja, simulação temporal verifica o funcionamento real do projeto” conforme o CPDEE
define. Como também observamos a simulação funcional para “Verificar se a funcionalidade do
projeto desenvolvido está correta; em outras palavras, a simulação funcional verifica a lógica”,
conceitua o CPDEE. Notamos que na simulação funcional ocorre um atraso no processo comparado
à simulação por tempo, pois, há uma complexidade maior no processamento da lógica de um chip.
Sendo assim, iremos analisar segundo as informações do TPD, Simulação Funcional e
por tempo cada uma das implementações realizadas no laboratório e ver qual o melhor desempenho
entre elas.
6- Referências