Tutorial de Verilog: Meio Somador (Half Adder)

Meio Somador

Dando prosseguimentos aos tutoriais de Verilog, apresento neste post o Meio Somador de 1-bit, ou Half Adder em inglês. O circuito meio somador é definido como o circuito que soma duas entradas e também que possui o carry, ou vai um. Supomos que temos duas entradas A e B e duas saídas, a soma, representado por S e Carry, que responde ao que conhecemos também por vai um, ou overflow da soma. A Soma (S) e o Carry (C) podem ser representados pela seguinte tabela:

 

Meio Somador

 

O circuito que satisfaz essa tabela é facilmente modelado com duas portas lógicas, a porta XOR para a soma, S, e a porta AND para o Carry, C. Veja o esquemático abaixo.

 

Meio Somador

 

Representação do Circuito Meio Somador em Verilog:

 

Implementei de duas formas diferentes, a primeira utilizando assign e lógica. A segunda utilizando as duas portas lógicas, conforme mostrado acima no esquema elétrico. Utilizei o mesmo Testbench para todos os testes. Veja a seguir:

 

 

Testbench:

 

 

Faça Download do Projeto para o Quartus da Altera:

download_proteus_arduino_lcd

 

 

Faça Download do Projeto para o Quartus da Altera:

download_proteus_arduino_lcd

 

Forma de Onda resultante do teste:

 

Meio Somador

 

Circuito Meio Somador (Half Adder) com NORs:

 

Reveja como representei a porta lógica XOR apenas com NORs no post sobre essa porta. Para isso acesse este link. Substitui então a porta XOR do circuito acima pelo circuito com NORs que a representa e então verifiquei que nenhum circuito extra é necessário para o sinal de saída Carry. Podemos facilmente ver que, pelo teorema de De Moore, uma porta NOR com as duas entradas negadas é o mesmo que uma porta AND. Portanto, obtemos Carry, o sinal de saída C.

 

Meio Somador

 

 

Representação do Circuito Meio Somador (Half Adder) com NORs em Verilog:

 

Esse código não tem segredo, apenas representei as portas lógicas NORs.

 

 

Faça Download do Projeto para o Quartus da Altera:

download_proteus_arduino_lcd

 

Circuito Meio Somador (Half Adder) com NANDs:

 

Meio Somador

 

Representação do Circuito Meio Somador (Half Adder) com NANDs em Verilog:

 

Esse código também não tem segredo, apenas representei as portas lógicas NANDs.

 

 

Faça Download do Projeto para o Quartus da Altera:

download_proteus_arduino_lcd

 

O Esquemático que obtemos é o seguinte:

 

Meio Somador

É comum também encontrarmos o seguinte símbolo:

 

Meio Somador

 

Este circuito é muito importante porque a partir dele poderemos implementar um somador completo (Full Adder).

 

Acompanhe o Embarcados e veja o próximo post sobre o somador completo.

 

Para aprender mais sobre Verilog

 

Portas Lógicas

PROCESSADORES PROGRAMÁVEIS - como projetar um processador em VERILOG

Formas de representar um sistema digital

Outros artigos da série

<< Tutorial de Verilog: Decodificador ou DEMUXTutorial de Verilog: Somador Completo (full adder) >>

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Thiago Lima
Apaixonado por sistemas digitais e circuitos eletrônicos, ja contabilizo 16 anos trabalhando com desenvolvimento de produtos eletrônicos. Formado na USP Sao Carlos, com mestrado em Engenharia Elétrica no Rochester Institute of Technology pelo CsF, atualmente lidero boa parte das operações do Embarcados, buscando levar conhecimento de sistemas eletrônicos para o Brasil. Experimentar o mundo das startups nos EUA foi transformador. La fui cofundador de uma startup de tecnologia chamada Una, sendo acelerado e incubado por um programa especial de Startups no RIT. Ao final, recebemos um prêmio de melhor startup do programa. No Laboratório Hacker de Campinas sou um dos entusiastas de novas tecnologias e apoio iniciativas da comunidade. Tambem participo de atividades comunitarias e sou um dos responsáveis pela Plataforma Ituiutaba Lixo Zero, onde escrevo regularmente artigos sobre redução de resíduos. Sou sonhador mesmo e quero acender a luz ?

Deixe um comentário

avatar
 
  Notificações  
Notificar