Note

Le logiche programmabili sono dispositivi hardware che mettono a disposizione componenti logici e linee di connessioni. Sono detti tali perché i componenti disponibili sono connessi a seconda del progetto e sono programmabili.

In base al tipo di programmabilità si categorizzano in:

  • One-Time Programmable
  • Reprogrammable
  • Reconfigurable

Tecnologie fuse e antifuse

Nella tecnologia fuse (One-Time Programmable) le linee del dispositivo sono prodotte in modo da essere sempre connesse. La programmazione consiste nel bruciare alcune connessioni in modo da mantenere solo quelle necessarie.

center

Viceversa nella tecnologia antifuse, le linee del dispositivo sono prodotte in modo da essere sempre disconnesse, e la programmazione consiste nel creare le connessioni.

center

Tecnologia EEPROM

Una EEPROM è una memoria programmabile e cancellabile (Reprogrammable), la cui programmazione consiste nel depositare carica sul floating gate del transistor in modo da mantenerlo in conduzione.

center

Tecnologia SRAM

Una SRAM è prodotta in modo da essere sempre disconnessa. La sua programmazione consiste nel memorizzare un valore logico in una cella RAM statica.

center

Alcuni dispositivo dispongono di linee di connessioni globali, condivise da molti elementi logici.

Logiche programmabili a due livelli

Note

Dei dispositivi con bus globali se ne distinguono tre categorie principali:

  • Programmable Logic Array: con piani and e or programmabili, dove si costruiscono solo i mintermini necessari.
  • Programmable Array Logic: con solo il piano and programmabile, dove si costruiscono solo i mintermini necessari.
  • Read-Only Memory: con piano and pre-programmato tramite un decoder, dove son disponibili tutti i mintermini.

Schema di un PLA

center

ROM

In una ROM viene associato un indirizzo ad una certa parola, usando un address decoder, bruciando poi i collegamenti nella parte programmabile center

Dispositivi basati sui PLA

Note

I dispositivi visti sono puramente combinatori, si creano quindi nuovi dispositivi basati sui PLA che introducono una retroazione e degli elementi sequenziali.

Di base la struttura logica di questi dispositivi è la seguente: center

Per esempio, si può implementare una rete combinatoria multi livello più uscite. center

Generic Array Logic

Le Generic Array Logic (GAL) sono un estensione delle PAL/PLA con celle di uscita di tipo Output Logic MacroCell (OLMC), cioè permettono di configurare facilmente uscite semplici con retroazione, interna o esterna.

Field Programmable Gate Array

Gli FPGA sono i dispositivi programmabili più complessi attualmente disponibili. Rispetto a PAL, PLA, GAL e CPLD hanno dimensioni molto maggiori, celle con complessità variabile, sono molto flessibili e possono disporre di componenti complessi integrati. center Esistono due classi di FPGA che si distinguono per la complessità delle celle o Logic Cell (LC).