Escrevendo o Módulo
Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 43 de 90.
Desafio
Um meio somador é um circuito que soma dois bits individuais e informa:
- soma: o resultado (0 ou 1)
- carry: se há um estouro (1 quando ambas as entradas são 1)
Exemplo
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | sem estouro |
| 0 | 1 | 1 | sem estouro |
| 1 | 0 | 1 | sem estouro |
| 1 | 1 | 0 | estouro (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 no sistema decimal).
Antes de adicionarmos a lógica, precisamos criar o contêiner do módulo: a estrutura vazia que conterá nosso circuito half adder.
Para um half adder, estas são as tarefas:
- Criar um módulo chamado
half_adder - Adicionar duas entradas:
aeb - Adicionar duas saídas:
sumecarry
Experimente você mesmo
// Tarefa 1: Crie um módulo chamado half_adder
// Tarefa 2: Adicione duas entradas: a e b
// Tarefa 3: Adicione duas saídas: sum e carry
// A lógica será adicionada mais tarde
Todas as lições de Fundamentos
1Introdução
O que é VerilogHardware vs. SoftwareSeu primeiro móduloComentáriosNíveis de abstração de projeto4Operadores Parte 1
Operadores aritméticosOperador móduloOperadores de comparaçãoRecapitulação - Matemática simplesOperadores bit a bit7Atribuições e Portas
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ões
Declaração IfIf - ElseRevisão - Comparador SimplesDeclaração CaseCasex e CasezRevisão - Projeto de ALU2Tipos de Dados
Tipo WireTipo RegInteiro e RealVetoresArraysParâmetrosRecapitulação - Declarar Sinais5Operadores - Parte 2
Operadores lógicosOperadores de reduçãoOperadores de deslocamentoOperador de concatenaçãoOperador condicionalRevisão - Desafio de operadores3Sistema Numérico
Representação BináriaNúmeros com Tamanho DefinidoNúmeros sem Tamanho DefinidoNúmeros NegativosValores Especiais X e ZRevisão - Formatos Numéricos6Módulos
Estrutura de MódulosPortas de Entrada e SaídaPortas InoutInstanciação de MódulosMapeamento de Portas por NomeMapeamento de Portas por OrdemRecapitulação — Construindo um MóduloPratique por conta própria: Compilador de Verilog online