Main Content


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