Nel panorama dell’elettronica digitale, i PLD (Programmable Logic Devices) rappresentano un ponte fondamentale tra la logica cablata tradizionale e la flessibilità dei microprocessori. In questa guida introduttiva, basata sulla lezione di Alexa Academy, esploreremo le diverse tipologie di circuiti integrati programmabili, dai classici PAL e PLA fino alle moderne FPGA.
PLD vs Microprocessori: Qual è la differenza?
Spesso si fa confusione tra un microprocessore e un PLD. La differenza principale risiede nella modalità di funzionamento:
- Microprocessori: Eseguono una sequenza di istruzioni caricate in memoria (software) in modo sequenziale.
- PLD: Definiscono direttamente le connessioni hardware. Non eseguono istruzioni, ma implementano logiche combinatorie e sequenziali “inscatolate” in un chip, garantendo velocità elevatissime.
Evoluzione dei circuiti integrati: Dagli ASIC ai PLD
Prima dell’avvento dei dispositivi programmabili dall’utente, la personalizzazione dell’hardware avveniva tramite gli ASIC (Application Specific Integrated Circuit):
- Full Custom: Il circuito viene disegnato da zero e fabbricato dal produttore (costi elevati, solo per grandi scale).
- Semi-Custom (Standard Cell): Utilizzano celle standard predefinite, riducendo i costi ma richiedendo comunque l’intervento del produttore.
- PLD: Dispositivi in cui le connessioni sono definite direttamente dall’utente finale, permettendo prototipazione rapida e costi ridotti.
Le diverse tipologie di PLD
Il video analizza le principali architetture che hanno segnato la storia dell’elettronica:
- PLA e PAL
- PLA (Programmable Logic Array): Dispongono di piani AND e OR entrambi programmabili. Nate negli anni ’70, sono famose per l’uso nel Commodore 64.
- PAL (Programmable Array Logic): Più semplici delle PLA, hanno il piano AND programmabile e il piano OR fisso.
- Evoluzioni: CPLD e FPGA
- CPLD (Complex PLD): Una serie di piccole PAL collegate da una matrice centrale programmabile, capaci di gestire migliaia di porte logiche.
- FPGA (Field Programmable Gate Array): Rappresentano la massima complessità. Sono basate su blocchi logici interconnessi tramite una memoria RAM (configurata all’accensione da una Flash) e permettono di realizzare intere CPU o sistemi di elaborazione segnali (DSP).
Come si programma un PLD?
La programmazione dipende dalla tecnologia costruttiva :
- Tecnologia Bipolare: Utilizza micro-fusibili che vengono “bruciati” per definire le connessioni (non reversibile)].
- Tecnologia CMOS: Sfrutta MOSFET a gate fluttuante (come nelle EPROM/EEPROM), rendendo i dispositivi cancellabili e riprogrammabili (EPLD o GAL) .
Implementazione della Logica Booleana
I PLD sono progettati per implementare funzioni logiche in prima forma canonica (somma di prodotti o mintermini). Attraverso matrici di porte AND e OR, è possibile tradurre qualsiasi tabella della verità in un circuito hardware fisico all’interno del chip.
Il video introduce anche concetti avanzati come le uscite programmabili (attive alte o basse tramite porte XOR) e i terminali bidirezionali (I/O) gestiti da buffer tri-state.
