Escolha o seu idioma
Curso de Verilog
Mais de 2 milhões de alunos no mundo todo

Curso de Verilog

4,4

Domine o Verilog dos primeiros princípios até o design RTL pronto para síntese. Este curso leva você pelos fundamentos de lógica digital, sintaxe da linguagem, projeto de FSM, verificação com bancadas de teste e implementação em FPGA com codificação prática em cada etapa. Seja seu alvo FPGAs ou ASICs, você vai desenvolver as habilidades que engenheiros de hardware usam todos os dias.

Dedika para empresas

O que você vai aprender:

Você vai aprender a escrever Verilog correto e sintetizável para circuitos combinacionais e sequenciais, máquinas de estados finitos e projetos hierárquicos parametrizados. O curso aborda construção de bancadas de teste, depuração de formas de onda e testes de regressão automatizados para que você possa verificar seus projetos com confiança. Você também vai estudar diretrizes de codificação RTL, cruzamento de domínios de clock e análise de temporização para atender a requisitos reais de síntese. O material complementar apresenta SystemVerilog, fluxos de implementação FPGA, protocolos de interface de memória e fundamentos de verificação formal.

Como você estuda de forma prática Curso de Verilog

Como você pratica Curso de Verilog

Para si que é empresa e quer formar a equipa

Na Dedika para empresas, o curso inclui exercícios e exemplos do próprio negócio e adaptados às necessidades da sua empresa.

Clique aqui

Conteúdo do curso

8 Capítulos • 37 AulasDuração entre 4 e 360 horas (você decide)

Capítulo 1Ver detalhes

Introdução ao Projeto Digital e Verilog

  • Aula 1 • Fluxo de Projeto e Cadeia de Ferramentas Verilog

    Percorre o fluxo de projeto completo de FPGA e ASIC usando Verilog. Os alunos entendem onde cada ferramenta se encaixa antes de escrever qualquer código.

  • Aula 2 • Revisão de Fundamentos de Lógica Digital

    Abrange aritmética binária, álgebra booleana e portas lógicas como pré-requisitos. Ancora a sintaxe Verilog no comportamento real do hardware que os alunos irão modelar.

  • Aula 3 • Visão Geral das Linguagens de Descrição de Hardware

    Distingue HDLs de linguagens de programação de software e examina o panorama das HDLs. Posiciona o Verilog como uma ferramenta de simulação e síntese.

  • Aula 4 • Configuração do Ambiente de Desenvolvimento

    Orienta a instalação e configuração de um simulador e de um editor de texto. Os alunos executam um primeiro arquivo Verilog para confirmar um ambiente funcional.

Capítulo 2Ver detalhes

Sintaxe da Linguagem Verilog e Tipos de Dados

  • Aula 1 • Diretivas do Compilador e Tarefas do Sistema

    Introduz `define`, `include`, `timescale` e tarefas comuns do sistema. Os alunos controlam o comportamento da simulação e organizam projetos com vários arquivos.

  • Aula 2 • Operadores e Expressões

    Abrange operadores aritméticos, relacionais, lógicos, bitwise e de redução. Os alunos avaliam a precedência de operadores para escrever expressões inequívocas.

  • Aula 3 • Estrutura do Módulo e Declarações de Portas

    Define o módulo como a unidade fundamental de projeto do Verilog e explica as direções das portas. Os alunos escrevem esqueletos de módulos completos e compiláveis.

  • Aula 4 • Tipos de Fios (Nets), Registradores e Variáveis

    Diferencia os tipos wire, reg e logic e explica suas implicações de hardware. A seleção correta do tipo previne incompatibilidades comuns na simulação.

  • Aula 5 • Constantes, Parâmetros e Literais

    Explica literais com e sem tamanho definido, lógica de quatro valores e parametrização. Parâmetros permitem componentes de projeto reutilizáveis e configuráveis.

Capítulo 3Ver detalhes

Modelagem de Lógica Combinacional

  • Aula 1 • Blocos Always para Lógica Combinacional

    Explica como always @(*) modela comportamento combinacional de forma procedural. Os alunos evitam latches ao especificar corretamente as listas de sensibilidade.

  • Aula 2 • Modelagem de Circuitos Combinacionais Comuns

    Aplica as construções aprendidas para construir codificadores, decodificadores, multiplexadores e somadores. Reforça padrões de projeto usados repetidamente em sistemas maiores.

  • Aula 3 • Atribuições Contínuas

    Introduz o comando assign para modelagem combinacional em nível de fluxo de dados. Os alunos expressam funções booleanas de forma concisa sem blocos procedurais.

  • Aula 4 • Primitivas em Nível de Porta

    Usa primitivas de porta embutidas para modelar lógica no nível mais baixo de abstração. Os alunos conectam primitivas para entender a modelagem estrutural.

Capítulo 4Ver detalhes

Modelagem de Lógica Sequencial

  • Aula 1 • Modelagem de Flip-Flop e Latch

    Modela flip-flops D, T, JK e SR e latches sensíveis a nível. Os alunos distinguem quando cada elemento é apropriado e sintetizável.

  • Aula 2 • Registradores e Registradores de Deslocamento

    Estende flip-flops individuais para registradores multi-bit e registradores de deslocamento serial. Os alunos constroem configurações SIPO, PISO e PIPO.

  • Aula 3 • Blocos Always Sincronizados por Clock e Sensibilidade de Borda

    Introduz os disparadores posedge e negedge para projeto síncrono. Os alunos escrevem templates de flip-flop que sintetizam em registradores reais.

  • Aula 4 • Contadores e Divisores de Frequência

    Projeta contadores síncronos e assíncronos com controle de módulo. Os alunos implementam contadores crescentes, decrescentes e bidirecionais com contagem terminal.

  • Aula 5 • Armadilhas de Atribuição Temporal e Não Bloqueante

    Analisa condições de corrida causadas pela mistura de atribuições bloqueantes e não bloqueantes. Os alunos aplicam diretrizes de codificação que garantem simulação e síntese corretas.

Capítulo 5Ver detalhes

Projeto de Máquina de Estados Finitos

  • Aula 1 • Template de FSM com Dois Blocos Always

    Apresenta o estilo de codificação padrão da indústria com dois blocos always para FSMs. Os alunos separam o registrador de estado e a lógica de próximo estado para clareza e síntese.

  • Aula 2 • Estudos de Caso Práticos de FSM

    Implementa FSMs de controlador de semáforo, receptor serial e máquina de vendas. Os alunos aplicam o ciclo completo de projeto-para-verificação em problemas realistas.

  • Aula 3 • Teoria de FSM e Diagramas de Estado

    Revisa os modelos Moore e Mealy, diagramas de estado e tabelas de estado. Fornece a base teórica antes de qualquer codificação Verilog.

  • Aula 4 • Codificação de Estado Segura e Recuperação

    Aborda entrada em estado ilegal, riscos da codificação one-hot e padrões seguros. Os alunos adicionam codificação defensiva para prevenir travamento da FSM no hardware.

  • Aula 5 • Estilo de FSM com Três Blocos Always

    Estende o template separando a lógica de saída em um terceiro bloco always. Os alunos comparam estilos e escolhem apropriadamente para máquinas Moore vs. Mealy.

Capítulo 6Ver detalhes

Projeto Hierárquico e Parametrização

  • Aula 1 • Bibliotecas de Componentes Reutilizáveis

    Organiza módulos em bibliotecas usando arquivos include e estruturas similares a packages. Os alunos adotam convenções de nomenclatura e organização de arquivos para projetos em equipe.

  • Aula 2 • Projeto de uma ULA Parametrizada

    Integra somador, subtrator, unidade lógica e deslocador em uma ULA configurável. Os alunos praticam decomposição top-down e integração bottom-up.

  • Aula 3 • Instanciação de Módulos e Hierarquia

    Explica conexões de porta nomeadas e posicionais e hierarquia de múltiplos níveis. Os alunos constroem um projeto de nível superior a partir de sub-módulos pré-projetados.

  • Aula 4 • Parâmetros e Comandos Generate

    Usa parâmetros para criar módulos configuráveis em largura e generate-for para replicação escalável. Os alunos constroem uma ULA de N bits usando componentes parametrizados.

Capítulo 7Ver detalhes

Projeto de Testbench e Verificação Funcional

  • Aula 1 • Verificação de Resposta e Asserções

    Automatiza a verificação de saída usando verificadores baseados em if e asserções imediatas. Os alunos eliminam a inspeção manual de formas de onda para testes de regressão.

  • Aula 2 • Arquitetura e Estrutura do Testbench

    Define os componentes do testbench: instanciação do DUT, geração de clock e estímulo. Os alunos escrevem um esqueleto completo de testbench para qualquer módulo combinacional.

  • Aula 3 • Técnicas de Geração de Estímulo

    Abrange métodos de estímulo dirigido, aleatório e orientado a arquivo. Os alunos selecionam a técnica apropriada com base na complexidade do projeto e nas metas de cobertura.

  • Aula 4 • Análise de Forma de Onda e Depuração

    Usa dump VCD e visualizadores de forma de onda para diagnosticar falhas de simulação. Os alunos correlacionam anomalias na forma de onda com defeitos no código RTL.

  • Aula 5 • Testes de Regressão e Organização de Testes

    Estrutura vários testbenchs em uma suíte de regressão com execução por script. Os alunos mantêm a cobertura de testes à medida que os projetos evoluem.

Capítulo 8Ver detalhes

Codificação RTL Pronta para Síntese e Otimização

  • Aula 1 • Diretrizes de Codificação RTL para Síntese

    Apresenta regras de codificação da indústria para registradores, lógica combinacional e FSMs. Um estilo consistente reduz avisos de síntese e melhora a previsibilidade da ferramenta.

  • Aula 2 • Técnicas de Cruzamento de Domínio de Clock

    Explica riscos de metaestabilidade e estratégias de sincronização para projetos com múltiplos clocks. Os alunos implementam sincronizadores de dois flip-flops e protocolos de handshake.

  • Aula 3 • Restrições de Temporização e Análise de Caminho Crítico

    Lê relatórios de temporização de síntese para identificar caminhos críticos e violações de folga. Os alunos aplicam mudanças no RTL para atender aos requisitos de setup e hold time.

  • Aula 4 • Construções Sintetizáveis vs. Não Sintetizáveis

    Identifica construções legais na simulação, mas não suportadas por ferramentas de síntese. Os alunos auditam código existente e substituem padrões não sintetizáveis.

  • Aula 5 • Estratégias de Otimização de Área e Potência

    Aplica compartilhamento de recursos, clock gating e escolhas de codificação para reduzir área e potência. Os alunos comparam resultados de síntese antes e depois da otimização.

Certificação

Seu certificado válido de conclusão

Este curso é para si:

  • Estudante de engenharia elétrica: pronto para transformar a teoria da sala de aula em código RTL real.

  • Desenvolvedor de software embarcado: buscando fazer a transição para descrição e projeto de hardware.

  • Entusiasta de FPGA: querendo habilidades estruturadas além de copiar projetos de referência online.

  • Recém-formado: construindo um portfólio para competir por vagas de nível inicial em projeto de chips.

  • Profissional em transição de carreira vindo do software: atraído por hardware e precisando de um ponto de partida prático.

  • Engenheiro de verificação júnior: buscando um conhecimento mais sólido em RTL para complementar o trabalho de teste.

O que os nossos alunos dizem

As vossas aulas são perfeitas. Adquiri o pacote de um ano e, finalmente, tenho a oportunidade de acompanhar diversos temas do meu interesse sem precisar mudar de plataforma... agradeço por tudo o que fazem, já vos recomendei a outras pessoas...
Giulio Carlo
Giulio CarloAluno de Marketing Digital
Gosto de como as lições são directas ao assunto e como consigo alterar capítulos e saltar conteúdos que não preciso.
Mariana Ferres
Mariana FerresAluna de Fotografia
Gosto do conteúdo e do modo de apresentação e transcrição de vídeos, o que acelera o processo!
Luciana Alvarenga
Luciana AlvarengaAluna de Design de Unhas
A plataforma é rápida, simples de usar. A diversidade de conteúdo e os vídeos complementares ajudam muito na aprendizagem.
André Felipe
André FelipeAluno de Engenharia de Prompt

Principais capacitações

FAQ

Quem é a Dedika?

O certificado é válido em Brasil?

Os cursos são gratuitos?

Qual é a carga horária do curso?

Como são os cursos?

Como funcionam os cursos?

Qual é a duração dos cursos?

Qual é o custo ou preço dos cursos?

O que é um curso EAD ou online e como funciona?

Curso em PDF