Recapitulação — Construindo um Módulo
Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 36 de 90.
Desafio
Este desafio combina tudo o que você aprendeu neste capítulo. Você criará um módulo do zero e o instanciará.
O que fazer:
Parte 1: Crie um módulo chamado <strong>flipflop</strong> com:
- Entrada de 1 bit chamada
clk - Entrada de 1 bit chamada
d - Entrada de 1 bit chamada
reset - Saída de 1 bit chamada
q(use reg, atribuído no bloco always)
O módulo deve funcionar da seguinte forma:
- Quando
resetfor 1,qse torna 0 - Caso contrário, a cada borda do clock,
qse tornad
Parte 2: Instancie o módulo <strong>flipflop</strong> no módulo <strong>top</strong> usando o mapeamento de portas por nome
Conecte as portas aos seguintes sinais:
- Porta
clk→ sinalclock - Porta
d→ sinaldata - Porta
reset→ sinalreset_signal - Porta
q→ sinalout
Experimente você mesmo
// Parte 1: Crie o módulo flipflop
// TODO: Adicione as portas
// TODO: Adicione o bloco always com posedge clk e posedge reset
// Se reset for 1, q <= 0
// Senão q <= d
// Parte 2: Módulo top com instanciação
module top (
input clock,
input data,
input reset_signal,
output out
);
// TODO: Instancie o flipflop com o nome de instância ff1
// Use o mapeamento de portas por nome: .clk(clock), .d(data), .reset(reset_signal), .q(out)
endmoduleTodas 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