Programmable Logic Device: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichette: Modifica da mobile Modifica da web per mobile
fix
 
(21 versioni intermedie di 10 utenti non mostrate)
Riga 1:
{{Nd|redirect=Elettronica programmabile|titolo=Processore}}
{{F|componenti per computer|arg2=elettronica|marzo 2013|Nessuna fonte}}
Un '''dispositivo logico programmabile''' (in lingua inglese '''Programmable Logic Device''', abbreviato spesso in '''PLD'''), nell'[[elettronica digitale]], è un [[circuito integrato]] [[programma (informatica)|programmabile]] largamente utilizzato nei [[circuito digitale|circuiti digitali]]: a differenza di una [[porta logica]], che implementa una funzione logica predefinita e non modificabile, un PLD, al momento della fabbricazione, non è configurato per svolgere una determinata funzione logica e dunque prima di poterlo utilizzare in un circuito è necessario [[programmazione (informatica)|programmarlo]] con un opportuno [[linguaggio di programmazione]] detto [[linguaggio di descrizione hardware]].
 
In [[elettronica digitale]], un '''Programmable Logic Device''' ('''PLD''', {{lett|dispositivo a logica programmabile}}) è un [[rete logica|circuito logico digitale]] realizzato utilizzando tecniche [[VLSI]], caratterizzato dalla capacità di implementare una [[funzione booleana|funzione logica]] arbitraria impostata successivamente alla fase di produzione e commercializzazione.
== Cenni storici ==
 
Questo tipo di dispositivi sono stati ideati a partire dalla nella seconda metà degli [[anni 1960]], con lo sviluppo presso i laboratori della [[Harris Semiconductor]] di una "matrice di diodi configurabile". Nel 1970 la Texas Instrument realizzò il primo circuito integrato basato interamente su ROAM (''Read Only Associative Memory'') coniando il termine PLA (Programmable Logic Array). Quasi nello stesso periodo, la Harris introdusse nel mercato le PROM (''[[Programmable Read Only Memory]]'') che, oltre che come memorie a sola lettura, trovarono impiego nella realizzazione di semplici macchine a stati o decodificatori di indirizzo. Nel 1973 [[National Semiconductor]] produsse una versione semplificata di componenti PLA, denominata DM7575/DM8575, caratterizzata da soli 14 ingressi ed 8 uscite e senza elementi di memoria integrati. Ulteriori progressi furono realizzati nel 1978, con l’introduzione nel mercato dei primi componenti PAL (Programmable Array Logic) ad opera della Monolithic Memories, Inc. che utilizzava il linguaggio di programmazione, denominato PALASM (PALA ASseMbler), simile al [[FORTRAN]], ma con una sintassi semplice e che consentiva di descrivere funzioni logiche complesse.
I PLD vengono comunemente utilizzati nello sviluppo di circuiti logici ad alte prestazioni come alternativa agli [[ASIC]], più performanti ma decisamente più costosi e tediosi da utilizzare.
 
Questi dispositivi non sono programmabili nel [[programmazione (informatica)|senso informatico]] del termine; per distinguerli, si potrebbero chiamare "configurabili", poiché la loro "programmazione" consiste nella scelta di una tra le configurazioni possibili.<ref>{{cita|Napoli 2023|cap. 7.5}}.</ref>
 
Il metodo di configurazione dipende dalla tipologia del dispositivo ed è direttamente correlato al "grado di programmabilità".<ref name="cita napoli programmazione">{{cita|Napoli 2023|cap. 4.2.2}}.</ref>
 
== Storia ==
Questo tipo di dispositivi sono stati ideati a partire dalla nella seconda metà degli [[anni 1960]], con lo sviluppo presso i laboratori della [[Harris Semiconductor]] di una "matrice di diodi configurabile". Nel 1970 la Texas Instrument realizzò il primo circuito integrato basato interamente su ROAM (''Read Only Associative Memory'') coniando il termine PLA (Programmable Logic Array). Quasi nello stesso periodo, la Harris introdusse nel mercato le PROM (''[[Programmable Read Only Memory]]'') che, oltre che come memorie a sola lettura, trovarono impiego nella realizzazione di semplici macchine a stati o decodificatori di indirizzo. Nel 1973 [[National Semiconductor]] produsse una versione semplificata di componenti PLA, denominata DM7575/DM8575, caratterizzata da soli 14 ingressi ed 8 uscite e senza elementi di memoria integrati. Ulteriori progressi furono realizzati nel 1978, con l’introduzione nel mercato dei primi componenti PAL (Programmable Array Logic) ad opera della Monolithic Memories, Inc. che utilizzava il linguaggio di programmazione, denominato PALASM (PALA ASseMbler), simile al [[FORTRAN]], ma con una sintassi semplice e che consentiva di descrivere funzioni logiche complesse.
 
== Caratteristiche ==
Line 11 ⟶ 19:
=== La memorizzazione della configurazione ===
Un PLD contiene componenti sia di logica che di [[memoria (informatica)|memoria]], che contiene le informazioni di configurazione. Le memorie possono essere di tipo:
 
* [[Antifusibili al silicio]]
* [[SRAM]]
Line 19 ⟶ 26:
Gli antifusibili al silicio sono usati nelle PAL e sono realizzati applicando una tensione fra due punti dello strato di silicio interno del chip. Hanno questo nome perché funzionano in modo opposto ai [[fusibile|fusibili]], che inizialmente conducono e si interrompono al passaggio della corrente di guasto.
 
Le SRAM e le RAM sono memorie volatili, quindi la programmazione viene persa allo spegnimento e deve essere ricaricata alla riaccensione, di solito automaticamente, a cura di una parte dedicata del circuito. Le memorie flash sono non-volatili, cioè mantengono i dati anche a circuito disalimentatonon alimentato e possono essere facilmente cancellate e riprogrammate. Una cella EPROM è basata su [[transistor]] di tipo [[MOS Technology|MOS]] che possono essere messi in stato ON confinando permanentemente cariche elettriche nel terminale ''gate''. La programmazione si effettua usando un apparecchio chiamato [[PAL programmer]]. Le cariche rimangono memorizzate per molti anni, e possono essere rimosse esponendo il chip a [[radiazione ultravioletta|radiazioni ultraviolette]] di forte intensità emesse dadalla lampada di un [[EPROMcancellatore eraser]]di EPROM.
 
=== Il rapporto con l'utilizzo di ROM ===
Line 40 ⟶ 47:
=== PLA ===
{{vedi anche|Programmable Logic Array}}
 
Si tratta del più semplice dispositivo logico programmabile, ed il primo ad essere stato prodotto a livello industriale verso la fine degli anni '70.
La struttura di una PLA è basata sul fatto che qualsiasi funzione logica può essere descritta tramite somme di prodotti logici. Un PLA è composto da una matrice d'ingresso di [[porta logica|porte logiche]] [[Congiunzione logica|AND]] programmabili, collegate con una serie di [[Disgiunzione inclusiva|OR]] programmabili. L'architettura di un PLA comprende inoltre linee di retroazione dall'uscita all'array di porte AND, che possono essere utilizzate come ingressi aggiuntivi.<br>
Line 45 ⟶ 53:
 
=== PAL ===
{{vedi anche|Programmable Array Logic}}
 
I PAL sono un'evoluzione dei PLA, e differiscono principalmente per l'impossibilità di programmare la serie di porte OR. Questi dispositivi presentano inoltre, a seconda del modello, diverse soluzioni architetturali avanzate in più rispetto al suo predecessore.
 
=== GAL ===
{{vedi anche|Generic Array Logic}}
[[File:AMD_22V10_Macrocell.jpg|thumb|Schema logico di un OLMC su un dispositivo GAL (GAL22V10). Sulla sinistra è possibile vedere la rappresentazione di una PAL connessa in ingresso.]]
Il [[Generic Array Logic]], solitamente abbreviato in GAL, è un'evoluzione del [[Programmable Array Logic]] sviluppata dalla Lattice Semiconductors. Queste logiche hanno le stesse caratteristiche delle PAL, con l'aggiunta di dispositivi di output programmabili detti OLMC.
 
Il [[Generic Array Logic]], solitamente abbreviato in GAL, è un'evoluzione del [[Programmable Array Logic]] sviluppata dalla [[Lattice SemiconductorsSemiconductor]]. Queste logiche hanno le stesse caratteristiche delle PAL, con l'aggiunta di dispositivi di output programmabili detti OLMC.
 
{{clear}}
=== CPLD ===
{{vedi anche|Complex Programmable Logic Device}}
[[File:Altera MAX 7128 2500 gate CPLD.jpg|thumb|Un CPLD serie MAX 7000 dell'[[Altera]], contenente 2500 porte.]]
 
Mentre i GAL sono disponibili soltanto in piccole taglie, contenenti l'equivalente di alcune centinaia di porta logiche, i CPLD consentono di realizzare circuiti logici più complessi. Questi dispositivi contengono l'equivalente di molte PAL collegate fra di loro mediante interconnessioni programmabili ed incapsulate in un unico [[circuito integrato]]. Le CPLD possono equivalere a migliaia, a volte addirittura centinaia di migliaia di porte logiche.
 
Line 61 ⟶ 75:
 
=== FPGA ===
{{Vedivedi anche|FPGAField Programmable Gate Array}}
[[File:FPGA_cell_example.png|thumb|Esempio di un elemento logico configurabile all'interno di una FPGA]]
 
Mentre le PAL si stavano evolvendo nelle GAL e nei CPLD, una nuova famiglia di dispositivi, basata sulla tecnologia ''gate-array'' si stava affermando con il nome di [[Field programmable gate array|FPGA]]. Un esempio è il modello 82s100 prodotto dalla [[Signetics]] verso la fine degli [[anni 1970]]. Tali dispositivi utilizzano una matrice di porte logiche molto simile a quella di un normale ''gate array'', ma la programmazione è fatta dall'utilizzatore anziché in fabbrica.
 
Line 68 ⟶ 84:
FPGA e CPLD sono di solito soluzioni equivalenti dal punto di vista delle prestazioni. La scelta può dipendere da considerazioni economiche o dall'esperienza personale del progettista.
 
==Voci correlateNote ==
<references/>
* [[Controllore logico programmabile]]
 
== Bibliografia ==
*{{cita libro
|titolo = Progetto di circuiti digitali e implementazione su FPGA
|autore = Ettore Napoli
|editore = Società Editrice Esculapio
|città = Bologna
|anno = 2023
|ISBN = 978-88-9385-350-7
|cid = Napoli 2023
}}
 
== Voci correlate ==
* [[Complex Programmable Logic Device]]
* [[Field programmable gate array]]
Line 76 ⟶ 105:
* [[Simple Programmable Logic Device]]
 
== Altri progetti ==
{{interprogetto|commons_preposizione=sul}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Portale|elettronica|informatica}}