FPGA - SYSTEM ON CHIP

Cominciare a lavorare con le FPGA può sembrare estremamente complesso e a volte anche demoralizzante per chi si affaccia per la prima volta al mondo delle logiche programmabili. Lo scopo di questo corso è proporre una metodologia di lavoro semplice, guidata anche da una serie di esempi pratici, al fine di rendere la curva di apprendimento ed utilizzo delle FPGA veloce e poco complicata. Durante il corso verranno affrontati una serie di piccoli progetti, con complessità mano a mano crescente, offrendo degli esempi di codice che potranno essere riutilizzati come base di partenza per progetti personali e professionali.
Il corso sarà fortemente orientato all’utilizzo pratico dei tool, con l’obbiettivo di rendere i partecipanti il più possibile autonomi nell’affrontare eventuali progetti personali futuri.

Durata corso: 7 ore di lezione + 1 ora per il pranzo

Argomenti trattati:

Introduzione alla Scheda di Sviluppo “Led Matrix Board”

1.1 Descrizione delle risorse hardware
1.2 Descrizione del bootloader integrato
1.3 Metodologia di utilizzo

Progetti pratici affrontati:

LAMPEGGIATORE LED:

2.1 Esempio di VHDL per l’implementazione di un LED lampeggiante
2.2 Come gestire le risorse di CLOCK
2.3 Come assegnare le regole di TIMING per un corretto funzionamento del progetto
2.4 Come assegnare i PIN dell’FPGA agli ingressi e alle uscite del nostro circuito
2.5 Compilazione del codice e verifica di funzionamento sull’hardware a disposizione

GENERATORE PWM:

3.1 Esempio di VHDL per l’implementazione di un’uscita PWM comandata tramite DIP-Switch
3.2 Spiegazione del funzionamento e descrizione del codice
3.3 Compilazione e verifica di funzionamento sull’hardware a disposizione

IMPLEMENTAZIONE DI UN SEMPLICE MICROCONTROLLORE A 8 BIT:

4.1 Implementazione di una CPU di tipo 68HC08 su logica programmabile
4.2 Aggiunta di una RAM, una ROM, una UART e una semplice porta di I/O
4.3 Descrizione dell’architettura hardware e del codice VHDL
4.4 Compilazione e verifica della parte FPGA
4.5 Istallazione e configurazione del compilatore ‘C’ per la CPU di esempio
4.6 Compilazione di un software dimostrativo che utilizzi la CPU e la porta di I/O del sistema
4.7 Verifica di funzionamento sull’hardware a disposizione
4.8 Rendere il progetto HW+SW autonomo, con avvio automatico al POWER-UP dell’FPGA

AGGIUNTA ALLA CPU DI UNA PERIFERICA PWM:

5.1 Portiamo il generatore PWM dell’esercizio precedente ad essere interfacciabile con la CPU
5.2 Descrizione dell’architettura hardware e del codice VHDL
5.3 Come scrivere il driver software per il controllo della periferica
5.4 Verifica di funzionamento sull’hardware a disposizione

AGGIUNTA ALLA CPU DI UNA PERIFERICA DI COMANDO PER SERVOMOTORI:

6.1 Come pilotare un servocomando e come generare il segnale di controllo
6.2 Descrizione dell’architettura hardware e del codice VHDL
6.3 Come scrivere il driver software per il controllo della periferica
6.4 Verifica di funzionamento sull’hardware a disposizione

AGGIUNGIAMO “INTELLIGENZA” ALLE PERIFERICHE E SCARICHIAMO LA CPU DAI LAVORI GRAVOSI (parte 1):

PERIFERICA PER IL PILOTAGGIO DI STRISCE LED NEOPIXEL:

6.1 Pilotare una striscia NEOPIXEL rappresenta un carico estremamente gravoso per la CPU:
scaricare questo lavoro software dalla CPU e passarlo all’hardware dell’FPGA
6.2 Descrizione dell’architettura hardware e del codice VHDL
6.3 Come scrivere il driver software per il controllo della periferica
6.4 Verifica di funzionamento sull’hardware a disposizione

AGGIUNGIAMO “INTELLIGENZA” ALLE PERIFERICHE E SCARICHIAMO LA CPU DAI LAVORI GRAVOSI (parte 2):

IMPLEMENTAZIONE DI UN CONTROLLER TRIFASE CON GENERAZIONE DELLE TRE SINUSOIDI IN PWM E GESTIONE DEI DEAD TIME PER IL PILOTAGGIO DI MODULI IGBT (PERIFERICA AUTONOMA E CHE NON RICHIEDE POTENZA DI CALCOLO ALLA CPU DURANTE IL FUNZIONAMENTO):

7.1 Come scrivere una periferica apparentemente complessa in poche righe di codice VHDL
7.2 Descrizione dell’architettura hardware e del codice VHDL
7.3 Come scrivere il driver software per il controllo della periferica
7.4 Verifica di funzionamento sull’hardware a disposizione

Materiale utilizzato durante il corso:

LED Matrix: scheda di sviluppo basata su FPGA
1 Scheda motherboard appositamente sviluppata per il corso e che supporta le funzioni di esempio
1 Striscia a led NEOPIXEL
1 Servomotore RC
1 Motore trifase (solo sul tavolo del docente)
1 Oscilloscopio per le verifiche hardware (solo sul tavolo del docente)

(il materiale verrà messo a disposizione dei partecipanti durante il corso gratuitamente, chi volesse invece acquistarlo per poi portarlo a casa potrà farlo direttamente presso il nostro punto vendita il giorno stesso del corso)

Requisiti per la partecipazione:

1) Avere almeno una minima conoscenza della programmazione in linguaggio ‘C’
2) Aver partecipato al corso FPGA BASE di Futura Academy o avere una conoscenza minima della programmazione VHDL
3) Un computer portatile (windows) con già installato il software ISE WebPACK, scaricabile gratuitamente dal sito Xilinx previa registrazione 

Costo

  • Lezione € 120 (iva compresa)

Hai domande? Contattaci subito!

Menu