Tecnologia

Cosa sono gli FGPA e come si programmano

Leggi l'articolo completo

Probabilmente ne avrete sentito parlare: gli FGPA, acronimo di Field Programmable Gate Array, sono dispositivi elettronici programmabili utili per poter configurare la struttura interna così da andare ad eseguire operazioni e algoritmi in modo specifico.

La loro natura configurabile li rende utilizzabili in tante tipologie di applicazioni, mostrando tra le qualità una grande flessibilità. Chiaramente è bene affidarsi ad esperti del settore come VT100.srl per effettuare una programmazione FGPA in linea con le proprie aspettative e necessità.

Cosa sapere sugli FPGA e come funzionano

Partiamo dalle basi: com’è composto un FPGA? Vengono collegati tra loro una matrice e alcuni blocchi logici programmabili utilizzando una rete di interconnessioni configurabili. Oltre ai blocchi logici, sono incluse risorse specializzate come memorie RAM, blocchi di moltiplicazione hardware e circuiti per la gestione di segnali a clock elevati.

A distinguere nettamente questa tecnologia sono alcuni elementi quali i microprocessori o i microcontrollori che hanno conquistato il campo attraverso la capacità di lavorare in parallelo.

Ma come funzionano? Tutto si basa sull’abilità di essere programmato dopo la produzione; a differenza dei circuiti integrati tradizionali, che hanno una funzione predefinita e immutabile, gli FPGA danno modo all’utente di progettare il proprio circuito digitale all’interno del dispositivo.

In che modo si programmano gli FPGA

La programmazione di un FPGA deve essere vista come un processo di design in più fasi. Il flusso di progettazione tipico è il seguente:

  1. Descrizione del circuito. Per prima cosa bisogna definire il comportamento desiderato del circuito tramite un linguaggio HDL così da descrivere come il sistema deve reagire agli input e produrre gli output;
  2. Sintesi.  A questo punto bisogna “sintetizzarlo”, ovvero tradurlo in una rete logica che rappresenta il comportamento del circuito in termini di porte logiche;
  3. Piazzamento e routing. Quindi il design viene piazzato all’interno della matrice. Il software di sviluppo calcola il percorso ottimale per i segnali attraverso l’FPGA;
  4. Generazione del Bitstream. A questo punto si genera un file chiamato “bitstream” contenente le istruzioni necessarie per la configurazione;
  5. Test. Non resta che effettuare una fase di verifica.

In quali campi sono utili

Sono tanti i settori in cui vengono impiegati per le loro caratteristiche.  Partiamo dalle telecomunicazioni dove sono utilizzati per implementare protocolli di comunicazione ad alta velocità, come il 5G e il Wi-Fi, poiché possono essere configurati per gestire complessi algoritmi di elaborazione del segnale in tempo reale.

Altrettanto interessanti per il campo automobilistico, basti pensare che risultano un supporto prezioso tanto nei sistemi di assistenza quanto nei veicoli a conduzione autonoma di ultima generazione. Elaborano in tempo reale i dati tenendo al sicuro chi guida.

Nel settore aerospaziale e della difesa, si installano nei sistemi di comunicazione satellitare, radar e controllo di volo grazie alla loro capacità di elaborazione in tempo reale e alla grande versatilità.

Non meno importante nell’ambito medico: sono di supporto nei dispositivi di imaging ad alta risoluzione, come le macchine per la risonanza magnetica e le TAC. Grazie all’abilità di gestione di grandi quantità di dati in tempo reale danno modo di elaborare le immagini mediche in modo rapido e preciso.

Quali sono i vantaggi dell’FGPA

Sono tanti i vantaggi che potrebbero essere presi in considerazione per questa tipologia di supporto, vediamo insieme i principali.

Partiamo con il dire che hanno una natura altamente configurabile. Questo dà la possibilità di personalizzare il comportamento del dispositivo dopo la produzione. Si distinguono infatti dagli ASIC, che vengono progettati per svolgere una singola funzione e non possono essere modificati una volta fabbricati; gli FPGA invece hanno l’opportunità di venire riprogrammati più volte.

Parliamo poi della capacità di parallelizzazione. Cosa significa? Riescono ad eseguire più operazioni in contemporanea, sfruttando il parallelismo che risiede nell’architettura dei dispositivi. La caratteristica li rende incredibilmente potenti, soprattutto nelle applicazioni in cui viene richiesta una capacità di elaborazione rapida e precisa in tempo reale.

Altrettanto importante è la latenza ridotta; dato che i percorsi logici e le operazioni possono essere personalizzati a livello hardware, gli FPGA hanno modo di eseguire calcoli con tempi di risposta molto più rapidi rispetto ai sistemi basati su software, dove l’esecuzione delle operazioni richiede l’elaborazione di molte istruzioni.

Non meno rilevante la scalabilità: si aggiungono o modificano le funzionalità senza dover riprogettare completamente il chip, è più facile adattare il dispositivo alle mutevoli esigenze del progetto o del mercato e quindi ottimizzando al massimo i costi.

Includiamo tra i vantaggi la robustezza e l’affidabilità in ambienti critici. Essendo riprogrammabili in situ, hanno l’opportunità di correggere errori o bug senza dover sostituire l’hardware fisico. Come capirete, in applicazioni quali le militari o spaziali, è un plus fondamentale. 

Sono evidenti i vantaggi degli FPGA e tutte le caratteristiche che li rendono strumenti ideali per tantissime varietà di applicazioni ad alte prestazioni e in continua evoluzione. I campi di applicazione poi sono così vari da interessare davvero un bacino ampissimo di attività.

Leggi l'articolo completo
Bruno Giacobbe

Recent Posts

Stash derubato con un inganno: “C’è un gatto sotto l’auto”

"C'è un gatto sotto la tua auto". E' il falso pretesto col quale due ladri…

20 minuti ago

Patù sotto choc: i genitori scoprono la figlia 17enne morta nel suo letto

Patù, piccolo centro in provincia di Lecce, sotto choc. Perché stamattina una ragazza di appena…

43 minuti ago

E’ senza biglietto e fa saltare due denti al capotreno

Un altro capotreno vittima di una brutale aggressione. Così come quelle subite dal personale sanitario,…

1 ora ago

Libano: colpita base italiana con 8 razzi. Crosetto: “E’ intollerabile”

"E' intollerabile che le basi dell'Unifil vengano colpite". Così tuona Guido Crosetto. Il ministro della…

2 ore ago

Aggredito da almeno 15 coetanei: la sconcertante denuncia di un 19enne pontino

Nella giornata di ieri, un ragazzo di 19 anni, residente nella provincia pontina, ha sporto…

2 ore ago

“Ho visto Giulio Regeni sfinito dalla tortura”

"Giulio Regeni era ammanettato con le mani dietro la schiena, con gli occhi bendati. L'ho…

2 ore ago