Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Field_Programmable_Gate_Array
Field_Programmable_Gate_Array
Field Programmable Gate Array - Teknopedia
Vai al contenuto
Menu principale
Navigazione
  • Pagina principale
  • Ultime modifiche
  • Una voce a caso
  • Nelle vicinanze
  • Vetrina
  • Aiuto
  • Sportello informazioni
  • Pagine speciali
Comunità
  • Portale Comunità
  • Bar
  • Il Teknopediano
  • Contatti
Teknopedia L'enciclopedia libera
Ricerca
  • Fai una donazione
  • registrati
  • entra
  • Fai una donazione
  • registrati
  • entra

Indice

  • Inizio
  • 1 Storia
  • 2 Caratteristiche
    • 2.1 Tipologia
    • 2.2 Le principali tecnologie
  • 3 Struttura
    • 3.1 Blocchi logici configurabili
    • 3.2 Blocchi di ingresso/uscita
    • 3.3 Linee di interconnessione
  • 4 Utilizzo
  • 5 Dati sulla diffusione
    • 5.1 Cronologia dell'incremento sull'utilizzo
    • 5.2 I principali produttori
  • 6 Note
  • 7 Bibliografia
  • 8 Voci correlate
  • 9 Altri progetti
  • 10 Collegamenti esterni

Field Programmable Gate Array

  • العربية
  • Boarisch
  • Български
  • বাংলা
  • Català
  • Čeština
  • Dansk
  • Deutsch
  • Ελληνικά
  • English
  • Esperanto
  • Español
  • Eesti
  • Euskara
  • فارسی
  • Suomi
  • Français
  • Galego
  • עברית
  • हिन्दी
  • Magyar
  • Bahasa Indonesia
  • Íslenska
  • 日本語
  • 한국어
  • Македонски
  • മലയാളം
  • Nederlands
  • Norsk nynorsk
  • Norsk bokmål
  • Polski
  • Português
  • Română
  • Русский
  • Simple English
  • Slovenčina
  • Shqip
  • Српски / srpski
  • Svenska
  • ไทย
  • Tagalog
  • Türkçe
  • Українська
  • Tiếng Việt
  • 中文
Modifica collegamenti
  • Voce
  • Discussione
  • Leggi
  • Modifica
  • Modifica wikitesto
  • Cronologia
Strumenti
Azioni
  • Leggi
  • Modifica
  • Modifica wikitesto
  • Cronologia
Generale
  • Puntano qui
  • Modifiche correlate
  • Link permanente
  • Informazioni pagina
  • Cita questa voce
  • Ottieni URL breve
  • Scarica codice QR
Stampa/esporta
  • Crea un libro
  • Scarica come PDF
  • Versione stampabile
In altri progetti
  • Wikimedia Commons
  • Elemento Wikidata
Aspetto
Da Teknopedia, l'enciclopedia libera.
FPGA contenente 20.000 porte logiche

Un Field Programmable Gate Array (solitamente abbreviato in FPGA), in elettronica digitale, è un dispositivo logico programmabile ovvero genericamente un dispositivo hardware elettronico formato da un circuito integrato le cui funzionalità logiche di elaborazione sono appositamente programmabili e modificabili tramite opportuni linguaggi di descrizione hardware.

Storia

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Programmable Logic Device.

I componenti FPGA sono stati introdotti nella seconda metà degli anni '80 come terza generazione di PLD (Programmable Logic Device), sviluppati presso i laboratori della Harris Semiconductor. Ulteriori sviluppi vennero realizzati con le Read Only Memory, delle memorie CMOS e delle tecnologie antifuse che vennero tutte implementate in tali dispositivi.

A partire dalla seconda metà degli anni '80, dopo i primi modelli prodotti da Altera e la realizzazione dell'XC2064 di Xilinx e l'implementazione della SRAM su larga scala negli anni '90, l’industria del settore ha avuto una forte espansione, grazie anche ai continui progressi tecnologici nel settore dei semiconduttori, raggiungendo nel 2005 una quota di mercato vicina ai 2 miliardi di dollari.

Caratteristiche

[modifica | modifica wikitesto]

Tipologia

[modifica | modifica wikitesto]

Esistono diversi tipi di FPGA, che comprendono sia dispositivi programmabili una sola volta, sia dispositivi riprogrammabili un grande numero di volte. I primi, detti OTP (One Time Programmable), sono costituiti da componenti il cui stato di funzionamento cambia in modo permanente, permettendo di mantenere la configurazione allo spegnimento del dispositivo. Alla seconda categoria appartengono i dispositivi basati su tecnologia SRAM (Static Random Access Memory), i quali devono essere riprogrammati ad ogni accensione, avendo una memoria di configurazione volatile.

I circuiti FPGA sono elementi che presentano caratteristiche intermedie rispetto ai dispositivi ASIC (Application Specific Integrated Circuit) da un lato e a quelli con architettura PAL (Programmable Array Logic) dall'altro. L'uso di componenti FPGA comporta alcuni vantaggi rispetto agli ASIC: si tratta infatti di dispositivi standard la cui funzionalità da implementare non viene impostata dal produttore, il quale può quindi produrre su larga scala a basso prezzo. La loro genericità li rende adatti a un gran numero di applicazioni in ambito consumer, comunicazioni, automotive eccetera. Essi sono programmati direttamente dall'utente finale, consentendo la diminuzione dei tempi di progettazione, di verifica mediante simulazioni e di prova sul campo dell'applicazione. Il grande vantaggio rispetto agli ASIC è che permettono di apportare eventuali modifiche o correggere errori semplicemente riprogrammando il dispositivo in qualsiasi momento. Per questo motivo sono utilizzati ampiamente nelle fasi di prototipizzazione, in quanto eventuali errori possono essere risolti semplicemente riconfigurando il dispositivo. L'ambiente di progettazione è anche più user-friendly e di relativamente facile apprendimento. Di contro, per applicazioni su grandi numeri sono antieconomici, perché il prezzo unitario del dispositivo è superiore a quello degli ASIC (i quali hanno spesso, però, più elevati costi di progettazione).

Il costo di tali dispositivi è oggi in rapida diminuzione: ciò li rende sempre di più una valida alternativa alla tecnologia standard cell. Usualmente vengono programmati con linguaggi come il Verilog o il VHDL, ma non bisogna dimenticare la modalità "schematic-entry", che consente un approccio veloce e semplificato a tale tecnologia pur essendo di pari potenzialità. Molte case costruttrici (ad esempio Xilinx e Altera) forniscono gratuitamente sistemi di sviluppo che supportano quasi tutta la loro gamma di prodotti.

Grazie alla versatilità di questi processori si stanno allargando i campi di utilizzo in diversi settori per i quali queste schede inizialmente non erano state progettate: ad esempio per l'attività di mining delle criptovalute, un campo inizialmente combattuto solo dai processori ASIC e dalle GPU.

Le principali tecnologie

[modifica | modifica wikitesto]
  • SRAM - Tecnologia basata su tecnologia a memoria statica CMOS, in uso. Le SRAM-FPGA sono programmabili e riprogrammabili molte volte, e richiedono l'utilizzo di dispositivi esterni per essere configurate.
  • Antifusibile - Circuiti programmabili una sola volta (One-time programmable); CMOS.
  • PROM - Circuiti programmabili una sola volta; obsoleta.
  • EPROM - I dispositivi basati su tecnologia EPROM possono essere riprogrammati mediante la cancellazione dei dati precedentemente configurati con radiazione ultravioletta. CMOS; obsoleta.
  • EEPROM - A differenza dei precedenti circuiti, la cancellazione dei dati avviene per via elettrica.
  • Flash - Tecnologia EPROM basata su memoria flash, si tratta di dispositivi che possono essere riprogrammati. Solitamente una cella di memoria flash è più piccola di una equivalente cella EEPROM, ed è anche meno costosa da fabbricare. CMOS.
  • Fusibile - Circuiti programmabili una sola volta; bipolare; obsoleta.

Struttura

[modifica | modifica wikitesto]
Descrizione semplificata di una logic cell, in cui sono mostrate due LUT a 3 input, un full-adder (FA) e un flip-flop di tipo D.
Le matrici di scambio (switch matrix) sono costituite da pass-transistor programmabili finalizzati all'instradamento dei segnali all'interno dell'organizzazione matriciale che costituisce l'FPGA

La struttura di un FPGA è in generale costituita da una matrice di blocchi logici configurabili, detti CLB (Configurable Logic Blocks), connessi fra loro attraverso interconnessioni programmabili. Ai margini di tale matrice vi sono i blocchi di ingresso/uscita, detti IOB (Input Output Block). I CLB realizzano le funzioni logiche, l'insieme di interconnessioni li mette in comunicazione, mentre gli IOB si occupano dell'interfacciamento del circuito con l'esterno. All'interno di tale matrice sono presenti anche altri tipi di risorsa, come i DCM (Digital Clock Manager), che generano il segnale di clock, la rete che trasporta il segnale di clock dai flip-flop ai CLB ed altre risorse di calcolo, come ad esempio le ALU (Arithmetic Logic Unit), e risorse di memoria distribuita. Ciascuno di questi elementi costitutivi ha un modello di funzionamento specifico, che riveste notevole importanza nella comprensione del corretto funzionamento del dispositivo.

Blocchi logici configurabili

[modifica | modifica wikitesto]

I blocchi CLB sono composti solitamente da due o quattro celle logiche (logic cell), che eseguono le operazioni booleane. Ogni logic cell è solitamente composta da una o più LUT (Look-up Table) programmabili. Le LUT sono utilizzate per implementare funzioni booleane generalizzate, e sono solitamente accompagnate da un registro. L'insieme di questi elementi è detto logic cell, e rappresenta uno dei parametri più importanti nella valutazione della potenzialità di un FPGA.

I CLB possono essere connessi fra loro, permettendo così di realizzare funzioni booleane complesse. Le LUT sono composte da una memoria SRAM da 16 bit e da un multiplexer a 4 ingressi: una volta configurate possono generare qualsiasi funzione logica a quattro ingressi ciascuna. Vi sono anche le interconnessioni relative alla logica di set/reset e chip enable, ai segnali di clock, e ai segnali provenienti dalle altre slice del dispositivo. La scelta di utilizzare LUT a soli quattro ingressi risiede nel fatto che la complessità di una LUT cresce esponenzialmente all'aumentare del numero di ingressi, e risulta dunque poco gestibile.

Raggruppare insieme alcune LUT in un CLB e di connetterle con una rete locale di interconnessioni consente infatti una maggiore velocità, dovuta al fatto che questi tipo di interconnessione è più veloce di quella generale tra blocchi logici distinti. Il CLB è inoltre dimensionato al fine di ottimizzare il numero di connessioni locali e globali in funzione dell'area occupata: CLB troppo grandi implicano che l'area necessaria per le interconnessioni locali superi quella risparmiata grazie al raggruppamento delle LUT contenute in esse. Lungo il perimetro dei blocchi logici vi sono infine i pin di ingresso e uscita, collegati all'interconnessione adiacente tramite transistor programmabili.

Blocchi di ingresso/uscita

[modifica | modifica wikitesto]

I blocchi di ingresso/uscita si occupano della gestione dei segnali da e verso l'esterno del FPGA attraverso il controllo dei pin del chip. Nei dispositivi Xilinx, per esempio, ogni IOB controlla un pin che può essere configurato come input, output, bi-direzionale o tri-state. Posizionati lungo il perimetro della matrice di CLB, gli IOB della famiglia Virtex sono composti da flip-flop dedicati alla sincronizzazione dei dati, da multiplexer che gestiscono i segnali in modalità DDR (Double Data Rate) e da buffer per la gestione dei diversi standard logici. I buffer permettono inoltre di controllare la rapidità di commutazione del segnale, detta velocità di risposta, per comunicazioni in alta frequenza con i dispositivi esterni, mentre il buffer in ingresso è a soglia programmabile per consentire l'interfacciamento del dispositivo FPGA con diversi standard logici quali TTL, CMOS o PCI. Sono inoltre presenti delle resistenze di pull-up/pull-down che permettono di caratterizzare lo stato del piedino nelle situazioni di alta impedenza.

Linee di interconnessione

[modifica | modifica wikitesto]

Le linee di interconnessione hanno invece il compito di mettere in comunicazione le diverse risorse del dispositivo. Si possono distinguere due tipi di interconnessione: le linee fisse e le matrici di scambio, dette anche switch matrix. Le linee fisse si dividono in linee "corte" e linee "lunghe": le linee "corte" sono interconnessioni che connettono CLB adiacenti, minimizzando il ritardo del segnale; le linee "lunghe" consentono invece di mettere in comunicazione risorse fra loro distanti 6 CLB tramite percorsi non configurabili, che non attraversano le matrici di scambio e che sono pertanto caratterizzati dal non introdurre ritardi significativi. Le matrici di scambio, infine, sono reti di pass-transistor programmabili e comunicanti. In un dispositivo SRAM-FPGA le linee di interconnessione sono fisse, e ciò che viene programmato sono le connessioni fra linee diverse: la maggior parte delle interconnessioni avvengono fra due lati diversi delle matrici di scambio, e sono abilitate da pass-transistor.

Utilizzo

[modifica | modifica wikitesto]

Tali dispositivi consentono la realizzazione di funzioni logiche anche molto complesse, e sono caratterizzati da un'elevata scalabilità. Questo tipo di tecnologia ha assunto un ruolo sempre più importante nell'elettronica industriale così come nella ricerca scientifica. Grazie al continuo progredire delle tecniche di miniaturizzazione, le capacità di tali dispositivi sono aumentate enormemente nel corso di due soli decenni, durante i quali si è passati da poche migliaia di porte logiche a qualche milione di porte logiche per singolo dispositivo FPGA.

Integrata con componenti AI engine, le ultime schede riconfigurabili hanno trovato spazio in applicazioni di intelligenza artificiale, con lo scopo di unire flessibilità, prestazioni ed efficienza energetica in un unico dispositivo [1].

Dati sulla diffusione

[modifica | modifica wikitesto]

Cronologia dell'incremento sull'utilizzo

[modifica | modifica wikitesto]

Andamento negli anni del numero di porte logiche presenti su circuiti FPGA:

  • 1982: 8192 porte logiche; Burroughs Advances Systems Group; processore S-Type 24 bit per I/O riprogrammabili.
  • 1987: 9,000 porte logiche, Xilinx
  • 1992: 600 000 porte logiche, Naval Surface Warfare Department
  • 2000-2010: Milioni.
  • 2019: 10.2 milioni (Intel Stratix GX 10M)

Dimensione del mercato:

  • 1985: Il primo dispositivo FPGA in commercio è stato XC2064 di Xilinx.
  • 1987: 14 000 000 $
  • ~1993: >385 000 000 $
  • 2005: 1.9 miliardi di dollari.[2]
  • 2010: 2.75 miliardi.[2]
  • 2020: si stima un mercato di 8.5 miliardi di dollari.

I principali produttori

[modifica | modifica wikitesto]

Xilinx e Altera al 2014 erano i due maggiori fabbricatori di FPGA.[3] Le due aziende sono rivali "storiche", e insieme controllano oltre l'80% del mercato.[4] Sia Xilinx sia Altera forniscono il relativo software di sviluppo per Windows e Linux, in versioni gratuite o a pagamento, e con licenza proprietaria[5][6]. Questo software consente l'implementazione della logica nel dispositivo e rende possibile la gestione delle singole risorse.[7][8] Tra gli altri produttori vi sono Lattice Semiconductor (dispositivi SRAM con memorie flash integrate) Actel (ora Microsemi, produce dispositivi antifuse), SiliconBlue Technologies, Achronix,[9] e QuickLogic. Nel marzo 2010, Tabula annuncia l'introduzione della propria tecnologia basata su logica time-multiplexed.[10]

Note

[modifica | modifica wikitesto]
  1. ^ (EN) Kees Vissers, Versal: The Xilinx Adaptive Compute Acceleration Platform (ACAP), ACM, 20 febbraio 2019, pp. 83–83, DOI:10.1145/3289602.3294007. URL consultato l'11 luglio 2025.
  2. ^ a b Dylan McGrath, EE Times, FPGA Market to Pass $2.7 Billion by '10, In-Stat Says Archiviato il 15 giugno 2011 in Internet Archive.. May 24, 2006. Retrieved February 5, 2009.
  3. ^ John Edwards, No room for Second Place: Xilinx and Altera slug it out for supremacy in the changing PLD market, su EDN, 1º giugno 2006. URL consultato l'11 maggio 2012 (archiviato dall'url originale il 28 luglio 2012).
  4. ^ Altera and Xilinx Report: The Battle Continues, su Seeking Alpha, 17 luglio 2008. URL consultato il 13 novembre 2013.
  5. ^ Xilinx Inc., End User License Agreement (TXT), su Xilinx.com. URL consultato il 15 ottobre 2015 (archiviato dall'url originale il 17 ottobre 2015).
  6. ^ Altera Corporation, Altera Software License Agreements, su dl.Altera.com. URL consultato il 15 ottobre 2015.
  7. ^ Xilinx ISE WebPACK, su xilinx.com (archiviato dall'url originale il 24 giugno 2007).
  8. ^ Quartus II Web edition software, su altera.com. URL consultato il 1º gennaio 2014 (archiviato dall'url originale il 3 dicembre 2007).
  9. ^ Achronix to use Intel's 22 nm manufacturing, su newsroom.intel.com.
  10. ^ Tabula's Time Machine - Micro Processor Report (PDF), su tabula.com (archiviato dall'url originale il 10 aprile 2011).

Bibliografia

[modifica | modifica wikitesto]
  • (EN) Hartmut F.-W. Sadrozinski; Jinyuan Wu, Jinyuan Wu, Applications of Field-Programmable Gate Arrays in Scientific Research, Taylor & Francis, 2010, ISBN 978-1-4398-4133-4.
  • (EN) Niklaus Wirth, Digital Circuit Design An Introduction Textbook, Springer, 1995, ISBN 3-540-58577-X.

Voci correlate

[modifica | modifica wikitesto]
  • Antifusibile
  • Gate array
  • Linguaggio di descrizione hardware
  • Programmable Logic Array
  • Programmable Logic Device
  • Programmable Read Only Memory
  • SRAM
  • Verilog
  • VHDL

Altri progetti

[modifica | modifica wikitesto]

Altri progetti

  • Wikizionario
  • Wikimedia Commons
  • Collabora a Wikizionario Wikizionario contiene il lemma di dizionario «FPGA»
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file sul Field Programmable Gate Array

Collegamenti esterni

[modifica | modifica wikitesto]
  • Lorenzo Seno, FPGA (Field programmable gate array), in Enciclopedia della scienza e della tecnica, Istituto dell'Enciclopedia Italiana, 2008. Modifica su Wikidata
  • FPGA, su sapere.it, De Agostini. Modifica su Wikidata
  • (EN) Opere riguardanti Field programmable gate arrays, su Open Library, Internet Archive. Modifica su Wikidata
  • (EN) Denis Howe, field-programmable gate array, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
  • Articoli sulle FPGA, su electro-logic.blogspot.it.
  • ASIC e FPGA - Le differenze che contano davvero, YouTube
  • (EN) University of North Carolina at Charlotte's Reconfigurable Computing Laboratory, su rcs.uncc.edu. URL consultato il 1º gennaio 2014 (archiviato dall'url originale il 20 agosto 2013).
  • (EN) Vaughn Betz's FPGA Architecture Page, su eecg.toronto.edu.
  • (EN) Tutorials and Examples on FPGAs, su fpgacenter.com. URL consultato il 1º gennaio 2014 (archiviato dall'url originale il 5 gennaio 2014).
V · D · M
Logica programmabile
ConcettiASIC · SoC · FPGA (CLB) · CPLD · EPLD · PLA · PAL · GAL · PSoC · Reconfigurable Computing (Xputer) · Soft microprocessor · Circuit underutilization · High-level synthesis · Acceleratore
Tecniche di programmazioneGate array · Antifusibile · EPROM · E²PROM · Flash · SRAM
LinguaggiVerilog (A, AMS) · VHDL (AMS, VITAL) · SystemVerilog (DPI) · SystemC · AHDL · Handel-C · PSL · UPF · PALASM · ABEL · CUPL · OpenVera · C to HDL · Flow to HDL · MyHDL · ELLA · Chisel
CostruttoriAccellera · Achronix · AMD (Xilinx) · Aldec · Arm · Cadence · Infineon · Intel · Lattice · Microchip Technology · NXP · Siemens (Mentor Graphics) · Synopsys · Texas Instruments
Prodotti
HardwareiCE · Stratix · Virtex
SoftwareIntel Quartus Prime · Xilinx ISE · Xilinx Vivado · ModelSim · VTR
IP
ProprietarioARC · ARM Cortex-M · LEON · LatticeMico8 · MicroBlaze · PicoBlaze · Nios · Nios II
Open-SourceJOP · LatticeMico32 · OpenCores · OpenRISC · Power ISA (Libre-SOC, Microwatt) · RISC-V · Zet
Controllo di autoritàLCCN (EN) sh93009062 · GND (DE) 4347749-5 · J9U (EN, HE) 987007551420305171 · NDL (EN, JA) 001328304
  Portale Elettronica
  Portale Informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=Field_Programmable_Gate_Array&oldid=148419117"
Categoria:
  • Circuiti elettronici configurabili
Categorie nascoste:
  • Template Webarchive - collegamenti all'Internet Archive
  • Voci con modulo citazione e parametro coautori
  • P10037 letta da Wikidata
  • P6706 letta da Wikidata
  • P3847 letta da Wikidata
  • Voci con codice LCCN
  • Voci con codice GND
  • Voci con codice J9U
  • Voci con codice NDL
  • Voci non biografiche con codici di controllo di autorità
  • Questa pagina è stata modificata per l'ultima volta il 10 dic 2025 alle 18:23.
  • Il testo è disponibile secondo la licenza Creative Commons Attribuzione-Condividi allo stesso modo; possono applicarsi condizioni ulteriori. Vedi le condizioni d'uso per i dettagli.
  • Informativa sulla privacy
  • Informazioni su Teknopedia
  • Avvertenze
  • Contatti legali e di sicurezza
  • Codice di condotta
  • Sviluppatori
  • Statistiche
  • Dichiarazione sui cookie
  • Versione mobile
  • Wikimedia Foundation
  • Powered by MediaWiki
Field Programmable Gate Array
Aggiungi argomento

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022