Escrevendo o Módulo
Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 43 de 90.
Desafio
Um meio somador (half adder) é um circuito que soma dois bits únicos e informa:
- sum — o resultado (0 ou 1)
- carry — se houver um estouro (1 quando ambas as entradas são 1)
Exemplo
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | no overflow |
| 0 | 1 | 1 | no overflow |
| 1 | 0 | 1 | no overflow |
| 1 | 1 | 0 | overflow (carry = 1) |
Quando você soma 1 + 1 em binário, o resultado é 0 com um carry de 1 (assim como 5 + 5 = 0 com um carry de 1 em decimal).
Antes de adicionarmos a lógica, precisamos criar o module container — a estrutura vazia que conterá nosso circuito de meio somador.
Para um meio somador, estas são as tarefas:
- Crie um módulo chamado
half_adder - Adicione duas entradas:
aeb - Adicione duas saídas:
sumecarry
Experimente você mesmo
// Tarefa 1: Criar um módulo chamado half_adder
// Tarefa 2: Adicionar duas entradas: a e b
// Tarefa 3: Adicionar duas saídas: sum e carry
// A lógica será adicionada posteriormente
Todas as lições de Fundamentos
1Introdução
O que é VerilogHardware vs SoftwareNíveis de Abstração de ProjetoSeu Primeiro MóduloComentários4Operadores Parte 1
Operadores AritméticosOperador de MóduloOperadores de ComparaçãoRecapitulação - Matemática SimplesOperadores Bitwise7Atribuição e Portas Lógicas
Atribuição ContínuaAtribuição com OperadoresPrimitivas de Portas IntegradasPortas AND, OR e NOTPortas XOR e XNORRecapitulação - Circuito de Portas Lógicas10Tomada de Decisão
Instrução IfIf - ElseRecapitulação - Comparador SimplesInstrução CaseCasex e CasezRecapitulação - Projeto de ALU2Tipos de Dados
Tipo WireTipo RegInteger e RealVetoresArraysParâmetrosRecapitulação - Declarar Sinais5Operadores Parte 2
Operadores LógicosOperadores de ReduçãoOperadores de DeslocamentoOperador de ConcatenaçãoOperador CondicionalRecapitulação - Desafio de Operadores3Sistemas de Numeração
Representação BináriaNúmeros com Tamanho DefinidoNúmeros sem Tamanho DefinidoNúmeros NegativosValores Especiais X e ZRecapitulação - Formatos de Números6Módulos
Estrutura de MóduloPortas de Entrada e SaídaPortas InoutInstanciação de MóduloMapeamento de Portas por NomeMapeamento de Portas por OrdemRecapitulação - Construa um Módulo