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 simples portas lógicas até processadores complexos.
Ao contrário das linguagens de software que são executadas sequencialmente em uma CPU, Verilog descreve hardware que opera em paralelo. É o padrão do setor para projetos de FPGA e ASIC, usado em ferramentas como ModelSim, Vivado e Quartus.
Neste curso, você aprenderá Verilog desde o início, começando com uma saída básica de simulação, depois construindo circuitos combinacionais e sequenciais e, por fim, 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 aprintfem C - Clique em Executar código para compilá-lo e simulá-lo
- Você deverá ver
Hello World!na saída
Observação: Todo programa em Verilog é executado dentro de um module. O bloco initial é executado uma vez no início da simulação, e $finish a encerra.
Experimente você mesmo
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleTodas as lições de Fundamentos
1Introdução
O que é VerilogHardware vs. SoftwareSeu primeiro móduloComentáriosNíveis de abstração de projeto4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicPratique por conta própria: Compilador de Verilog online