FPGA: cosa sono e perché rappresentano un salto di livello nell’elettronica digitale

Dopo aver esplorato dispositivi logici programmabili sempre più evoluti, arriviamo finalmente a uno dei punti chiave dell’elettronica digitale moderna: gli FPGA (Field Programmable Gate Array).

Nel video che trovi qui sotto entriamo nel dettaglio di cosa sono, come funzionano e iniziamo subito a usarne uno reale.


🔍 Cosa sono gli FPGA (in parole semplici)

Un FPGA è un dispositivo hardware programmabile sul campo.
Questo significa che, anche dopo essere stato montato su una scheda o inserito in un sistema, può essere riconfigurato per implementare circuiti digitali completamente diversi.

Attenzione però a un punto fondamentale:
👉 qui programmare non significa scrivere software come su un microcontrollore.

Significa invece:

  • configurare hardware reale
  • definire connessioni tra porte logiche
  • creare circuiti digitali personalizzati

È come avere:

una quantità enorme di breadboard già collegate tra loro, con logiche e memoria pronte, e la possibilità di riconfigurarle ogni volta.


🔄 Differenza rispetto a CPLD e altri dispositivi

Nel percorso del corso abbiamo visto:

  • reti logiche programmabili
  • dispositivi con qualche flip-flop
  • CPLD (come MAX II)

Gli FPGA rappresentano uno step successivo perché:

  • hanno molte più risorse
  • permettono logiche molto più complesse
  • includono memorie, DSP, controller e molto altro
  • possono essere riprogrammati praticamente infinite volte (in RAM)

Questo ultimo punto è cruciale:
nei CPLD spesso si scrive su flash con un numero limitato di cicli, mentre negli FPGA possiamo lavorare in RAM senza limiti pratici.  


🧠 Struttura interna: i blocchi fondamentali

Un FPGA è composto da tre elementi principali:

1. CLB (Configurable Logic Block)

Sono i blocchi base che contengono:

  • LUT (Look-Up Table) → logica combinatoria
  • Flip-flop → logica sequenziale

Le LUT permettono di implementare qualunque funzione logica senza usare direttamente AND/OR, ma tramite memoria.


2. Interconnessioni programmabili

Una rete interna che collega tutti i blocchi:

  • organizzata in righe e colonne
  • configurabile via software
  • ottimizzata automaticamente dagli strumenti

3. Blocchi di input/output (I/O)

Gestiscono:

  • comunicazione con l’esterno
  • livelli logici (es. 3.3V)
  • direzione (input/output)

⚡ Cosa rende davvero potenti gli FPGA

Rispetto ai dispositivi precedenti, qui troviamo anche:

  • DSP hardware (moltiplicazioni veloci, elaborazione segnali)
  • memoria interna (Block RAM)
  • controller per memorie esterne (DDR)
  • logiche dedicate per alte prestazioni

Questo permette di realizzare:

  • microprocessori custom
  • sistemi video
  • elaborazione segnali in tempo reale
  • interfacce ad alta velocità

🧪 Il progetto del video: sommatore a 3 bit su FPGA

Nel video non restiamo sulla teoria.

Implementiamo subito un primo progetto reale:

👉 un sommatore combinatorio a 3 bit

Caratteristiche:

  • realizzato inizialmente con schematico
  • mappato sui pin della scheda
  • visualizzazione tramite LED
  • programmazione in RAM (non permanente)

Questo serve per:

  • capire il flusso completo
  • vedere gli strumenti in azione
  • prendere confidenza con FPGA reali

🛠️ Strumenti utilizzati

Per lavorare con lo Spartan-6 utilizziamo:

  • Xilinx ISE Webpack
  • programmatore Platform Cable
  • scheda di sviluppo AX309

Nota importante:
ISE è uno strumento datato ma necessario per questa famiglia di FPGA.


⚠️ Perché lo schematico è solo un passaggio iniziale

Nel video usiamo ancora lo schematico, ma con una consapevolezza:

non è lo strumento giusto per progetti complessi

Già con un semplice sommatore si vede quanto diventa complicato.

Nel prossimo passo passeremo a:

👉 VHDL (Hardware Description Language)

che permette di:

  • scrivere circuiti in modo compatto
  • scalare facilmente
  • gestire progetti complessi

🚀 Cosa vedremo nei prossimi video

  • introduzione al VHDL
  • primi esempi pratici
  • progettazione più avanzata su FPGA
  • utilizzo reale delle risorse interne

🎥 Guarda il video completo

Nel video trovi:

  • spiegazione teorica
  • installazione degli strumenti
  • creazione del progetto
  • programmazione della scheda
  • test reale con LED

📌 Conclusione

Gli FPGA rappresentano un punto di svolta:

  • non programmi software
  • progetti hardware

E questo apre possibilità enormi, sia didattiche che professionali.

Avatar Paolo Godino