Videocorso VHDL per FPGA CGFA
Da zero a progettare circuiti digitali in VHDL, simularli gratis con GHDL e portarli su una FPGA
- Partenza: Da zero
- 16 ore con gli esercizi
- 10 lezioni in 3 livelli
- 2 lezioni gratis
A chi serve
Studenti di elettronica, automazione e informatica, tecnici e appassionati che vogliono progettare hardware digitale con un linguaggio rigoroso, molto usato in Europa
Cosa serve per iniziare
- Un computer Windows, Mac o Linux
- Nessuna esperienza di programmazione: le basi dei numeri binari le spieghiamo noi
- Facoltativo: una scheda FPGA economica; per seguire il corso basta il simulatore
Cosa installare
A cosa ti serve
- Progettista FPGA in spazio, difesa, telecomunicazioni, ferrovie e automotive: in Europa VHDL è molto diffuso
- Elettronica industriale e strumentazione: acquisizione dati, controllo motori, interfacce
- Ricerca scientifica e università
- Verifica e collaudo di sistemi digitali
- Prototipazione di prodotti elettronici
Programma del corso
10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.
Base
Entity, architecture, segnali e primi circuiti
Intermedio
Testbench, macchine a stati e componenti riutilizzabili
Avanzato
Pacchetti, verifica professionale e passaggio alla FPGA
Progetto finale: Un cronometro digitale con macchina a stati
Progetti da zero un cronometro: un contatore di secondi con avvio e azzeramento comandati da pulsanti. Lo descrivi in VHDL con una macchina a stati, lo provi con un testbench auto-controllante in GHDL e, se hai una scheda, lo porti su FPGA con sincronizzatori e antirimbalzo.
I passi
- Disegna su carta il diagramma a stati: FERMO e IN_CORSA, con le transizioni comandate dal pulsante start.
- Scrivi il divisore di clock che produce un impulso di un secondo partendo dal clock della scheda (usa un generic per la frequenza).
- Scrivi il contatore dei secondi (0-59) che avanza solo quando lo stato è IN_CORSA e arriva l'impulso del secondo.
- Scrivi la macchina a stati con le tre parti: registro di stato, prossimo stato, uscite.
- Scrivi un testbench che usa un clock velocissimo (CLK_HZ piccolo) e controlla con assert che dopo N impulsi il contatore valga N.
- Simula con GHDL, salva le onde con --wave e osservale con GTKWave.
- Facoltativo: aggiungi sincronizzatore e antirimbalzo ai pulsanti e porta il progetto su una scheda, rispettando la tensione dei pin.
Esame e attestato
Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.
Glossario di VHDL (FPGA)
- FPGA
- Chip con blocchi logici e collegamenti che si possono configurare per diventare un circuito.
- HDL
- Linguaggio di descrizione dell'hardware, come VHDL e Verilog.
- Entity
- La parte di VHDL che dichiara nome e porte di un blocco, visto da fuori.
- Architecture
- La parte di VHDL che descrive come funziona un blocco.
- Segnale
- Un filo o un registro di VHDL che porta un valore tra le parti del circuito.
- Testbench
- Entity di prova, senza porte, che collauda un circuito in simulazione.
- Clock
- Segnale ad onda quadra che dà il ritmo ai circuiti sequenziali.
- Flip-flop
- Elemento di memoria che copia il suo ingresso sul fronte del clock.
- Latch
- Memoria non voluta che nasce quando un'uscita combinatoria non viene assegnata in tutti i casi.
- FSM
- Macchina a stati finiti: un circuito che si trova in uno stato alla volta.
- Generic
- Parametro di un blocco, scelto quando lo si istanzia.
- Bitstream
- Il file che configura la FPGA dopo sintesi e place and route.
Le prime 2 lezioni sono gratis
Per il corso completo, scuole e aziende: chiedi le condizioni.