Curso teórico-prático de 20 horas utilizando o Kit FPGA DE10-Lite sem pré-requisitos
A Macnica DHW abre inscrições para o curso que é realizado online e ao vivo.
A ementa atende ao nível de conhecimento básico-intermediário em Tecnologia FPGA Altera.
O curso aborda os tópicos:
Tornamos o Treinamento mais dinâmico, rápido e prático (Ementa Completa).
São 20 horas de carga horária distribuídas em 01 semana de curso (Agenda).
Ao fazer a inscrição o participante recebe o Kit DE10-LITE em casa.
Nossos instrutores são preparados para ministrar todos os módulos FPGA Altera, se você ou sua equipe tiver interesse em fazer outros módulos, entre em contato conosco para que possamos fazer uma Proposta voltada para sua necessidade.
Revisão sobre lógica digital, contextualizando o FPGA
Introdução sobre arquitetura de processadores, comparando com o funcionamento do FPGA
Como são implementadas as portas lógicas no FPGA
Como implementar as portas lógicas em Verilog através de operadores
Arquitetura do FPGA: registradores, multiplicadores, memória, hard IPs (controlador PCIe, DDR, transceivers, etc)
Recursos disponíveis nos pinos de entrada e saída do FPGA
Implementação em Verilog dos pinos
Mapeando os pinos do Verilog no FPGA através do Quartus: Pin Planner
Apresentação da ferramenta Quartus: principais janelas, abas, etc
Atribuições em Verilog, mapeamento de sinais internos para as entradas e saídas
Apresentação do Kit DE10-Lite: principais funcionalidades e onde obter mais recursos
Projeto 1, parte 1: Criar uma descrição de hardware em Verilog, mapear suas entradas e saídas nos pinos do FPGA, conectando botões em LEDs.
Processo de compilação no Quartus
Mensagens de compilação
Formas de visualização gráfica dos resultados da compilação
Projeto 1, parte 2: Compilar o projeto criado e analisar os resultados da compilação
Formas de configuração suportadas pelo FPGA
Como configurar o FPGA utilizando o Quartus Programmer
Projeto 1, parte 2: Configurar o FPGA com o projeto criado e observar o comportamento
Passo a passo para criação de um novo projeto
Importação de configurações de projetos existentes
Configurações de projeto: arquivos e bibliotecas, opções de compilação, etc.
Interconexões: conceitos e sintaxe
Constantes numéricas: formas de representação
Projeto 2: Criar um novo projeto, importar configurações padrão para o Kit, fazer incrementos no Verilog (multiplexadores, interconexões, constantes). Compilar, visualizar o resultado, configurar o FPGA e testar
Processos combinacionais: conceito de processos, lista de sensibilidade, sintaxe em Verilog
Funcionamento da simulação (deltas/ciclos de simulação, agendamento, etc)
Como a compilação gera hardware a partir do Verilog e comparação com a simulação
Como garantir que o resultado da compilação seja equivalente ao resultado da simulação
Construções em Verilog utilizadas dentro dos processos combinacionais: if, case, loop
Projeto 3: Adicionar um processo explícito no Verilog descrevendo a mesma lógica já implementada. Compilar, visualizar o resultado, configurar o FPGA e testar.
Funcionamento de um registrador genérico e dos registradores específicos do FPGA
Boas práticas para uso de registradores em FPGA para garantir o correto funcionamento
Implementação de registradores em Verilog
Boas práticas para descrição dos registradores do FPGA em Verilog
Projeto 4: Implementar um contador síncrono com reset e enable, com a saída conectada nos LEDs. Compilar, visualizar o resultado, configurar o FPGA e testar.
Informações sobre frequência máxima nos relatórios de compilação
Importância da análise de timing
Conceitos necessários para compreender os requisitos e análise de timing
Definição de meta-estabilidade, quando ocorre e como evitar
Sentenças básicas para definição de restrições de timing em SDC
Projeto 5: Adicionar no design as estruturas recomendadas para evitar problemas de timing. Criar um arquivo SDC para o projeto. Compilar, visualizar o resultado, configurar o FPGA e testar.
Instanciação do SignalTap no projeto e configuração da aquisição de dados
Uso da ferramenta para depuração
Projeto 6: Adicionar um detector de borda no sinal de enable. Instanciar o SignalTap, compilar, e iniciar a depuração. Observar possíveis problemas utilizando o SignalTap.
Conceito de projeto hierárquico
Sintaxe para instanciação de módulos em Verilog
Conceito de parametrização de módulos e sintaxe em Verilog
Biblioteca de IPs gratuitos e comerciais do Quartus, IP Catalog
Projeto 7: Instanciar uma memória no projeto do contador, a partir do IP Catalog. Instanciar um conversor binário para o display de 7 segmentos. Compilar, visualizar o resultado, configurar o FPGA e testar.
Como funciona o monitoramento e edição de memória em tempo de execução e como habilitar
Utilização da ferramenta In-Sytem Memory Content Editor (ISMCE) para acessar a memória interna do FPGA em tempo de execução
Instanciação do componente In-System Sources and Probes (ISSP) no projeto
Utilização do ISSP para monitorar e atuar em sinais internos do FPGA em tempo de execução
Projeto 8: Habilitar ISMCE, instanciar ISSP. Compilar, configurar o FPGA e depurar o sistema em tempo de execução utilizando estas ferramentas.
Conceito de máquinas de estados
Modelagem e implementação de uma máquina de estados em Verilog
Diferentes arquiteturas de máquinas de estados, vantagens e desvantagens de cada uma
Projeto 9: Descrever em Verilog uma máquina de estados para implementar um debouncer.
Conceito e utilidade da simulação e testbench
Construções em Verilog úteis para simulação
Implementação de um testbench em Verilog
Projeto 10: Implementação de um testbench em Verilog
Apresentação da ferramenta ModelSim
Procedimento para simulação utilizando o ModelSim
Funcionalidades básicas do ModelSim
Projeto 11: Criar um projeto do ModelSim para simulação da máquina de estados implementada. Realizar a simulação e analisar os resultados.
Apresentação da ferramenta Qsys e suas principais funcionalidades.