Programma Preliminare
Introduzione alla programmazione FPGA con VHDL – versione 1.0
Il corso si terrà presso l' Aula d'informatica, piano 0, Dipartimento di Fisica di via Irnerio 42 Bologna
mar, 12 giugno 2018 – ven, 15 giugno 2018
Il corso si propone di fornire le nozioni basilari della programmazione di dispositivi programmabili di tipo FPGA.
Giorno 1
Pomeriggio
14.00 – 15.00 (Falchieri) Cosa sono FPGA; cosa vuol dire programmarli (linguaggi alto livello, cores, …) , sintesi, simulazione, implementazione, timing closure, debug. Overview di Xilinx Vivado e Altera Quartus.
15.00 16.00 (Travaglini) Sintassi base del VHDL; librerie; entity e architectures; architetture strutturali e gerarchia;
16.00 16.30 Coffee break 16.30 17.30 (Balbi) Simulazione e Hardware Debug
Giorno 2
Mattina
9.30 – 10.30 (Lax) Descrizione di circuiti combinatori: tipi, operatori, istruzioni concorrenti, istruzioni sequenziali, esempi.
10.30 11.00 Coffee break
11.00 – 13.00 (Lax) Semplice test bench e pratica di simulazione degli esempi di circuiti combinatori.
Pomeriggio
14.30 15.30 (Falchieri) Circuiti sincroni con esempi
15.30 16.00 Coffee break
16.00 18.00 (Falchieri) Esercizi su circuiti sincroni
Giorno 3
Mattina
9.30 – 10.30 (Balbi) Macchine a stati finiti con esempi
10.30 11.00 Coffee break
11.00 – 13.00 (Balbi) Esercizi su macchine a stati finiti
Pomeriggio
14.30 15.30 (Travaglini) Constraints e timing closure: teoria
15.30 16.00 Coffee break
16.00 18.00 (Travaglini) Esempi pratici di constraints e timing closure
Giorno 4
Mattina
9.30 – 10.30 (Travaglini ) Testbench: funzioni, procedure, file I/O 1
1.00 13.00 Hot topics nelle programmazione di FPGA
- Travaglini (30') : interfacce esterne oppure VHDL per operazioni aritmetiche
- Lax (30'): IP cores - Balbi (30') : “hello world” su ARM
- Falchieri (30') : stile di VHDL sintetizzabile
ESEMPI pratici su Board FPGA Xilinx Avnet MiniZed
Sw: VIVADO : WebPack
Docenti
G.Balbi, D.Falchieri, I.Lax, R.Travaglini