Elettronica applicata/Logiche programmabili

Indice del libro
 
Struttura interna di una PLA non programmata

Le PLA sono delle matrici in cui si può realizzare qualsiasi funzione logica[1] in maniera semplificata: le porte NOT, AND e OR nella matrice vengono collegate non direttamente, ma attraverso la programmazione delle connessioni.

La programmazione di una PLA è irreversibile perché si può fare una volta sola (one-time programming).

Viene usata una notazione semplificata per indicare le connessioni:

 
 
Esempio di programmazione di una PLA

Le PAL sono delle PLA dove la matrice di AND è programmabile, ma la matrice di OR è un insieme fisso di connessioni.

Le PAL con feedback permettono di riportare l'uscita a un ingresso.

Le PAL con registri e feedback aggiungono flip-flop per realizzare una macchina a stati.

Le memorie PROM sono delle PLA dove la matrice di OR è programmabile, ma la matrice di AND è un insieme fisso di connessioni.

Le memorie PROM sono non volatili (al contrario delle memorie RAM), ma non sono riprogrammabili.

La programmazione delle PROM (e delle PAL/PLA di bassa complessità) è detta programmazione a fusibili: una tensione elevata brucia il fusibile e crea un circuito aperto, interrompendo l'interconnessione.

La tecnologia AntiFuse è il contrario della tecnologia a programmazione a fusibili: consiste nel "bucare" un dielettrico per stabilire una connessione tra livelli di metallo.

Le FPGA permettono la programmazione non solo delle interconnessioni, ma anche delle celle logiche e delle celle I/O. Possono essere riprogrammate più volte, e vengono spesso impiegate per la realizzazione di prototipi.

Le memorie EPROM sono non volatili e riprogrammabili.

Ogni transistor ha due gate. Tramite una tensione alta si può iniettare della carica nei gate spegnendo il transistor. Per far tornare gli elettroni al substrato si ricorre all'uso di raggi ultravioletti.

  1. Entro dati limiti su numero di ingressi e uscite.