Field Programmable Gate Array: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 37:
[[Xilinx]] e [[Altera]] sono (2014) i due maggiori fabbricatori di FPGA.<ref>{{Cite web |first=John |last=Edwards |work=EDN |url=http://www.edn.com/article/CA6339519.html |title=No room for Second Place: Xilinx and Altera slug it out for supremacy in the changing PLD market |date=June 1, 2006 |accessdate=May 11, 2012|doi= }}</ref> Le due aziende sono rivali "storiche", e insieme controllano oltre l'80% del mercato.<ref>{{cite web|work=Seeking Alpha|url=http://seekingalpha.com/article/85478-altera-and-xilinx-report-the-battle-continues|title= Altera and Xilinx Report: The Battle Continues|date=July 17, 2008|year=2008|accessdate=November 13, 2013}}</ref> Sia Xilinx che Altera forniscono un software libero per [[Microsoft Windows|Windows]] e [[Linux]] che consente l'implementazione della logica nel dispositivo e rende possibile la gestione delle singole risorse.<ref>{{cite web|title=Xilinx ISE WebPACK|url=http://www.xilinx.com/ise/logic_design_prod/webpack.htm}}</ref><ref>{{cite web|title=Quartus II Web edition software|url=https://www.altera.com/support/software/download/altera_design/quartus_we/dnl-quartus_we.jsp}}</ref> Tra gli altri produttori vi sono [[Lattice Semiconductor]] (dispositivi SRAM con memorie flash integrate) [[Actel]] (ora [[Microsemi]], produce dispositivi antifuse), [[SiliconBlue Technologies]], [[Achronix]],<ref>{{cite web|title=Achronix to use Intel's 22&nbsp;nm manufacturing|url=http://newsroom.intel.com/community/intel_newsroom/blog/2010/11/01/chip-shot-achronix-to-use-intel-s-22nm-manufacturing}}</ref> e [[QuickLogic]]. Nel marzo 2010, [[Tabula (azienda)|Tabula]] annuncia l'introduzione della propria tecnologia basata su logica time-multiplexed.<ref>{{cite web|title=Tabula's Time Machine - Micro Processor Report |url=http://www.tabula.com/news/M11_Tabula_Reprint.pdf }}</ref>
 
==Struttura==
==Dispositivi SRAM==
[[File:FPGA cell example.png|thumb|350 px|right|Descrizione semplificata di una ''logic cell'', in cui sono mostrate due [[Look-Up Table|LUT]] a 4 input, un [[full-adder]] (FA) e un [[flip-flop]] di tipo D.]]
[[Image:switch box.svg|thumb|350 px|right|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]]
volatileLa descrizione che segue è valida per dispositivi SRAM, tuttavia la maggior parte dei circuiti in commercio attua una scelta e un'organizzazione delle risorse quasi identica, salvo dove specificato. L'importanzaelemento di questamemoria particolare[[SRAM]], famigliadi tipo volatile, gode di dispositiviparticolare èdiffusione anche dovutagrazie al fatto che tali circuiti sono tra i più utilizzati nell'ambito degli esperimenti su satellite o sonda, oltre ad essere all'avanguardia nel settore delle tecnologie riprogrammabili integrate.
I dispositivi SRAM FPGA, le cui caratteristiche variano a seconda delle esigenze del produttore, si basano sull'elemento di memoria [[SRAM]], di tipo
volatile. L'importanza di questa particolare famiglia di dispositivi è dovuta al fatto che tali circuiti sono tra i più utilizzati nell'ambito degli esperimenti su satellite o sonda, oltre ad essere all'avanguardia nel settore delle tecnologie riprogrammabili integrate.
 
La struttura di una SRAM-FPGA può essere rappresentata come una matrice di blocchi logici configurabili, detti CLB (''Configurable Logic Blocks''), connessi fra loro attraverso interconnessioni programmabili detti PIP (''Programmable Interconnection Point''). Ai margini di tale matrice vi sono i blocchi di ingresso/uscita, detti IOB (''Input Output Block''). I CLB realizzano le funzioni logiche, i PIP costituiscono l'insieme di interconnessioni attraverso le quali viene trasportato il segnale tra un CLB ed un altro, mentre gli IOB si occupano dell'interfacciamento del circuito con l'esterno. All'interno di tale matrice sono presenti anche altre tipologie 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 [[Unità aritmetica e logica|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===