Como construir seu primeiro pisca-pisca LED FPGA:um tutorial passo a passo
Guia passo a passo:construindo seu primeiro pisca-pisca LED FPGA
Parte 1:Projetando VHDL ou Verilog
Neste tutorial, você aprenderá como criar código VHDL e Verilog que aciona um LED em uma frequência definida pelo usuário. Escolha o idioma que melhor se adapta ao seu fluxo de trabalho.
Ao escrever HDL, você deve verificar se o design se comporta conforme planejado. Os erros são inevitáveis, por isso a simulação é indispensável. Este tutorial é dividido em duas fases críticas:
- Projeto HDL
- Simulação HDL
Ignorar a simulação pode levar a uma dispendiosa depuração no hardware. Trate a simulação como um ponto de verificação obrigatório.
Requisitos do projeto
Escreva HDL que pisca um LED em 100 Hz, 50 Hz, 10 Hz ou 1 Hz com um ciclo de trabalho de 50%. Dois interruptores selecionam a frequência desejada e um
LED_EN adicional a chave deve estar alta para ativar o LED. O FPGA funciona em um oscilador de 25 MHz. Tabela verdade para o seletor de frequência:
| Ativar | Switch1 | Switch2 | Frequência da unidade de LED |
|---|---|---|---|
| 0 | – | – | desativado |
| 1 | 0 | 0 | 100Hz |
| 1 | 0 | 1 | 50Hz |
| 1 | 1 | 0 | 10Hz |
| 1 | 1 | 1 | 1Hz |
Resumo do sinal:
| Nome do sinal | Direção | Descrição |
|---|---|---|
| i_clock | Entrada | Relógio de 25 MHz |
| i_enable | Entrada | Ativar interruptor (logic0 =LED desligado) |
| i_switch_1 | Entrada | Interruptor seletor de frequência1 |
| i_switch_2 | Entrada | Interruptor seletor de frequência2 |
| o_led_drive | Saída | Sinal de acionamento LED |
Quatro processos contadores simultâneos monitoram o clock de 25 MHz e geram alternâncias para cada frequência alvo. Mesmo quando uma frequência específica não é selecionada, seu contador continua a funcionar – um princípio fundamental da simultaneidade de hardware.
Os switches formam um multiplexador que direciona o switch escolhido para a saída do LED. Os multiplexadores são lógica puramente combinacional, portanto operam sem relógio.
Abaixo está um diagrama de blocos ilustrando a arquitetura:
Implementação VHDL
08Implementação Verilog
18
Próxima etapa:simule esse design em VHDL ou Verilog para confirmar o comportamento correto antes da implantação.
VHDL
- Como criar um testbench de autoverificação
- Registros - Exemplo de VHDL
- Uma Introdução aos FPGAs e Lógica Programável
- Testbench interativo usando Tcl
- Servo controlador RC usando PWM de um pino FPGA
- Usando Integrated Logic Analyzer (ILA) e Virtual Input/Output (VIO)
- Como inicializar a RAM do arquivo usando TEXTIO
- Assinado vs. Não assinado em VHDL
- Arquivo de estímulo lido no testbench usando TEXTIO
- Como usar uma instrução Case-When em VHDL