Field Programmable Gate Array: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 11:
==Dispositivi SRAM==
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.
La matrice di CLB è uno dei due costituenti fondamentali di un FPGA, e permette al dispositivo di realizzare le funzioni logiche. Un CLB è un blocco logico complesso solitamente composto da una o più [[Look-Up Table|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.
La progettazione del circuito implementato sull'FPGA comincia solitamente con la scrittura della funzione logica mediante l'utilizzo di linguaggi [[Hardware description language|HDL]] (''Hardware Description Language''), come [[Verilog]] e [[VHDL]] (VHSIC HDL, o ''Very High Speed
Integrated Circuit HDL''). Successivamente un compilatore, o più frequentemente un sintetizzatore, converte il codice HDL in una descrizione a livello di porte logiche, indipendente dalle caratteristiche dell'FPGA che si vuole utilizzare: tale descrizione è contenuta in un file detto ''netlist''. La realizzazione del circuito avviene mediante uno specifico software, che attraverso alcuni passaggi assegna le risorse fisiche disponibili stabilendo la posizione nell'FPGA della logica e delle interconnessioni.
== Voci correlate ==
|