Videocorso Verilog e SystemVerilog per FPGA CGFA
Da zero a descrivere circuiti digitali, simularli gratis 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 e informatica, tecnici, appassionati di Arduino e makers che vogliono progettare circuiti digitali veri, senza comprare nulla per cominciare
Cosa serve per iniziare
- Un computer Windows, Mac o Linux
- Nessuna esperienza di programmazione: servono solo le basi dei numeri binari (le spieghiamo)
- Facoltativo: una scheda FPGA economica, ma per tutto il corso basta il simulatore
Cosa installare
A cosa ti serve
- Progettista FPGA e logica digitale (telecomunicazioni, spazio, difesa, automotive)
- Strumentazione scientifica e ricerca (acceleratori, rivelatori, radiotelescopi)
- Accelerazione di calcoli, video e intelligenza artificiale in hardware
- Verifica di chip (ASIC) con SystemVerilog: un mestiere molto richiesto
- Prototipazione di prodotti elettronici e retro-computing
Programma del corso
10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.
Base
Descrivere porte logiche, bus e circuiti con memoria
Intermedio
Testbench, macchine a stati e moduli riutilizzabili
Avanzato
SystemVerilog, 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, pausa e azzeramento comandati da due pulsanti. Lo descrivi in Verilog con una macchina a stati, lo provi con un testbench auto-controllante e, se hai una scheda, lo porti su FPGA con sincronizzatori e antirimbalzo.
I passi
- Disegna su carta il diagramma a stati: FERMO, IN_CORSA, PAUSA, con le transizioni comandate dai pulsanti start e reset.
- Scrivi il modulo divisore_clock che produce un impulso di un secondo partendo dal clock della scheda.
- Scrivi il contatore dei secondi (0-59) e dei minuti, che avanza solo quando lo stato è IN_CORSA e arriva l'impulso del secondo.
- Scrivi la macchina a stati con i tre blocchi: registro di stato, prossimo stato, uscite.
- Scrivi un testbench che accelera il tempo (clock molto più veloce) e controlla da solo che dopo N impulsi il contatore valga N.
- Simula con Icarus o Verilator e osserva le onde 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 Verilog (FPGA)
- FPGA
- Chip con blocchi logici e collegamenti che si possono configurare per diventare un circuito.
- HDL
- Linguaggio di descrizione dell'hardware, come Verilog e VHDL.
- Modulo
- La scatola base di Verilog, con ingressi, uscite e una descrizione interna.
- Testbench
- Modulo di prova, senza porte, che collauda un circuito in simulazione.
- Wire
- Un filo: trasporta un valore tra due punti del circuito.
- Reg
- Un segnale che tiene un valore assegnato da un blocco procedurale.
- 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.
- Sintesi
- Il passaggio che trasforma il codice in porte e registri.
- Bitstream
- Il file che configura la FPGA dopo sintesi, place and route.
Le prime 2 lezioni sono gratis
Per il corso completo, scuole e aziende: chiedi le condizioni.