Seu Primeiro Módulo
Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 4 de 90.
Um módulo é o bloco de construção básico em Verilog. Cada pedaço de código Verilog está dentro de um módulo.
Pense em um módulo como um componente com:
- Entradas (sinais entrando)
- Saídas (sinais saindo)
- Comportamento (o que ele faz)
Sintaxe do Módulo
module module_name ( inputs, outputs );
// Tudo aqui dentro
endmoduleTodo módulo começa com module e termina com endmodule.
Entradas e Saídas
module and_gate(
input a, // a ENTRA no módulo
input b, // b ENTRA no módulo
output c // c SAI do módulo
);
// O comportamento vai aqui
endmodule- input = o sinal entra no módulo
- output = o sinal sai do módulo
Adicionando Comportamento
Agora fazemos o módulo fazer algo:
module and_gate(
input a,
input b,
output c
);
assign c = a & b; // c é 1 apenas quando a E b são 1
endmoduleassignconecta continuamente o lado direito ao lado esquerdo&significa AND em Verilog
Desafio
Neste desafio, você precisa criar um módulo simples que realiza a operação OR.
O que fazer:
- O módulo deve ser nomeado
or_gate - Ele deve ter uma entrada chamada
x - Ele deve ter uma entrada chamada
y - Ele deve ter uma saída chamada
z - Dentro do módulo, use
assignpara tornarzigual ax OR y
Nota: Em Verilog, OR é escrito com o símbolo de barra vertical |. Ele produz 1 (verdadeiro) se pelo menos uma das entradas for 1 (verdadeiro).
Folha de consulta
Um módulo é o bloco de construção básico em Verilog, atuando como um componente com entradas, saídas e comportamento.
module module_name (
input a,
input b,
output c
);
// comportamento
endmoduleUse assign para acionar continuamente um sinal de saída:
assign c = a & b; // AND
assign c = a | b; // OR&— operador AND|— operador OR
Experimente você mesmo
// Passo 1: Crie um módulo chamado or_gate
// Passo 2: Crie a entrada x
// Passo 3: Crie a entrada y
// Passo 4: Crie a saída z
// Passo 5: Use assign para fazer z = x OR y
// Em Verilog, OR é escrito como |
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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