O que é Verilog
Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 1 de 90.
Verilog é uma linguagem de descrição de hardware (HDL) usada para modelar, projetar e simular circuitos eletrônicos digitais — desde portas lógicas simples até processadores complexos.
Ao contrário das linguagens de software que rodam sequencialmente em uma CPU, o Verilog descreve hardware que opera em paralelo. É o padrão da indústria para design de FPGA e ASIC, usado em ferramentas como ModelSim, Vivado e Quartus.
Neste curso, você aprenderá Verilog do zero — começando com saídas de simulação básicas, depois construindo circuitos combinacionais e sequenciais e, eventualmente, projetando módulos reais como contadores, registradores de deslocamento e interfaces UART.
Desafio
FácilBem-vindo ao seu primeiro programa em Verilog! O código já está escrito para você.
O que fazer:
- Observe o código — ele usa
$displaypara imprimir texto, de forma semelhante aoprintfem C - Clique em Run Code para compilar e simulá-lo
- Você deverá ver
Hello World!na saída
Nota: Todo programa Verilog é executado dentro de um module. O bloco initial é executado uma vez no início da simulação, e o $finish a encerra.
Folha de consulta
Verilog é uma linguagem de descrição de hardware (HDL) que descreve o hardware operando em paralelo, usada para o design de FPGA e ASIC.
Todo programa Verilog é executado dentro de um module. O bloco initial é executado uma vez no início da simulação; $finish encerra a simulação. Use $display para imprimir texto (semelhante ao printf em C):
module example;
initial begin
$display("Hello World!");
$finish;
end
endmoduleExperimente você mesmo
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleTodas 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