PLD - Dispositivos lógicos Programables

 Dispositivos lógicos Programables (PLD) 

Es una acepción genérica establecida para cualquier sistema digital cuyo funcionamiento está determinado por el usuario, después que dicho dispositivo fuera fabricado. Al referirnos a usuario, generalmente nos dirigimos a un profesional del diseño lógico, aunque pudiera ser realmente el cliente final. Al hablar aquí de circuitos digitales en forma general,  nos referimos a todos los sistemas digitales incluyendo por supuesto a los combinacionales y secuenciales.  

Actualmente se les utiliza para realizar todo tipo de circuitos digitales, desde los más sencillos a los más complejos; que en el pasado se realizaba con lógica cableada a través del uso de una gran cantidad de elementos lógicos convencionales SSI ó MSI; utilizados en forma discreta. Pero la diferencia fundamental es que estos dispositivos están armónicamente estructurados, tanto en su hardware como en las herramientas de software utilizadas para el diseño lógico. 

Debido a los avances de la tecnología en la realización de nuevas  estructuras y el incremento de la integración, logrando cada vez circuitos en menor tamaño, ó mayor cantidad de elementos lógicos en el mismo, es que cualquier diseño digital, que hasta hace poco tiempo se realizaba en forma discreta, se pueda configurar ó realizar con estos circuitos lógicos programables. Podemos decir entonces, en forma generalizada que estos dispositivos permiten programar todo tipo de componente de la lógica booleana, desde las compuertas más elementales hasta los secuenciales más complejos, pasando por decodificadores, multiplexores, contadores,  registros, procesadores digitales, sistemas de transmisión de datos, etc. 
  
Estos circuitos PLD conforman una estructura básica compacta, perfectamente estructurada y por lo general realizada en un solo circuito integrado (aunque a veces puede ser más de uno) fabricados en alta (LSI), muy alta (VLSI) ó ultra alta (ULSI) escala de integración. Poseen diferentes características según el fabricante, en cuanto a su capacidad de programación, tecnología, forma exterior, etc. Al igual que las memorias programables, están aquellos que permiten una única programación,  los que pueden ser borrados con luz ultravioleta y aquellos borrables  y programables eléctricamente.  
 
Los sistemas secuenciales síncronos de control microprogramados, también llamados microcontroladores, constituyen una especie de dispositivos lógicos programables, pero como en general poseen una arquitectura perfectamente definida y lo único que se programa es una memoria PROM no se incluyen en el estudio de este tipo de circuitos. Algunos autores suelen incluirlos, junto a los PLD propiamente dichos  dentro del estudio y clasificación de las memorias PROM. 

Diferentes tipos DE PLD

Esta clasificación se presenta muy compleja pues se establece mucha  confusión debido a que cada fabricante establece su nomenclatura particular, con la finalidad de lograr su propio espacio de poder en la comercialización de dichos dispositivos. Cada empresa fabricante de circuitos integrados digitales establece un nombre, aunque dicho producto ya exista en el mercado con otra denominación, aun más correcta. Generalmente estas ideas se aclaran estudiando detenidamente el significado de dichas siglas. 

  • ROM , memoria de solo lectura. 
  • PROM , memoria de solo lectura programable.
  • PLA, Arreglo Lógico Programable.
  • EEPROM , memoria de solo lectura programable y borrable electrónicamente.
  • RAM , memoria de acceso aleatorio.
  • SRAM , memoria de acceso aleatorio estática.
  • DRAM , memoria de acceso aleatorio dinámica.

Por lo antes, indicado realizaremos familias de PLD y ahora las  analizaremos brevemente, para luego dedicarnos  de lleno al estudio pormenorizado de cada una de ellas. 

1.- Redes Lógicas Programables, PAL (Programmable Array Logic) ó PLA (Programmable Logic Array). Se las puede dividir en tres grandes subfamilias, según el tipo de matriz programable que incluya en su estructura lógica:
a) Matriz Y programable – matriz O programable: PLA.
b) Matriz Y fija – matriz O programable: PROM.
c) Matriz Y programable – matriz Y fija: PAL propiamente dichas, y que según el tipo de dispositivo lógico que incluya en su estructura interna, pueden ser:

  • PAL combinacionales ó PAL simples.
  • PAL secuenciales. ó FPLS.
Desde el punto de vista de la tecnología de programación, se las divide en dos tipos:
  • PAL Bipolares.
  • PAL CMOS.

2.- EPLD (Erasable Programmable Logic Device) Son circuitos lógicos programables eléctricamente y borrables con luz ultravioleta, que permiten desarrollar un diseño, borrando y regrabando hasta sacarle todos los problemas lógicos ó eléctricos.
Tenemos las siguientes familias:

a) EPLD Simples ó clásicas: 

  •  Familia de serie EPXXXX.
b) EPLD Complejas ó CPLD (Complex Programmable Logic Device): 

  • Familia MAX ó de la serie EPMXXXX. Múltiple Array matriz.
  • Familia FLEX ó Flexible Lógic Element Matrix.
  • Familia APEX ó Advanced Programmable Element Matrix.
c) EPLD Específicas: 
  • Familia de serie EPB.
  • Familia de serie EPS.
3. GAL (Generic Array Logic) Son equivalente a las memorias EEPROM, es decir que permiten ser borradas y grabadas eléctricamente. Se pueden establecer la siguientes subfamilias:

a) Tipo PAL: Matriz Y / Macrocelda programable de salida:
  • Borrables y Programables fuera del circuito.
  • Borrables y Programables en circuito.
b) TIPO FPLA : Matriz Y / Matriz O / Macrocelda programable de salida. Se introduce un nuevo concepto más general de redes/macroceldas programables.

4. ASIC: Son circuitos digitales completos, de uso directo por los diseñadores, sin necesidad de programación posterior. Aparecieron al mismo tiempo que las PAL, pero como son programables por máscaras en fábrica sólo se aplica a grandes producciones en serie, pues su costo es elevado y su amortización se justifica solo en esos casos.

5. LCA (Logic Cell Array) ó FPGA (Field Programmable Gate Array) ó red de celdas lógicas. Podemos decir que es un producto similar a las ASIC, pero programables por el usuario. Se caracteriza por poseer una gran cantidad de bloques funcionales básicos, que en el estadio de diseño e implementación el usuario interconecta para obtener las funciones lógicas deseadas.

6. FPGA de antifusibles: se trata de redes de compuertas lógicas muy similares a las LCA, pero con una técnica de programación de las uniones totalmente diferentes, cuya denominación es la que identifica a estos circuitos, es decir antifusibles.

Estructura de los PLD

1.- Memoria programable de sólo lectura (Programmable Read Only Memory, PROM). 

Está formada por un conjunto fijo de puertas AND  (no programable) conectadas como decodificador y una matriz programable OR. Se utiliza como memoria direccionable y no como dispositivo lógico. 


2.- Matriz lógica programable PLA (Programmable Logic Array). 

Es un PLD formado por una matriz AND programable y una matriz OR programable. También se denomina FPLA (Field Programmable Logic Array) debido a que es el usuario y no el fabricante el que la programa. 

3.- Matriz lógica programable PAL (Programmable Array Logic). 

Se ha desarrollado para superar ciertas desventajas de la PLA, tales como largos retardos debidos a fusibles adicionales que resulta de la utilización de dos matrices programables y la mayor complejidad del circuito. La PAL básica está formada por una matriz AND programable y una matriz OR fija con la lógica de salida.  


4.- Matriz lógica genérica GAL (Generic Array Logic). 
Es el desarrollo más reciente. Al igual que la PAL se forma con una matriz AND programable y una matriz OR fija. Las dos principales diferencias son: 

  • Es reprogramable: usa la tecnología E²CMOS (Electrically Erasable CMOS) CMOS borrable eléctricamente en lugar de fusibles. 
  • Tiene configuraciones de salida programables. 


FUENTES:

  • PDF.- https://www.infor.uva.es/~jjalvarez/asignaturas/fundamentos/apuntes/digital/Tema4_memorias.pdf
  • PDF.- http://www1.frm.utn.edu.ar/tecnicad1/_private/Apuntes/PLD.pdf
  • PDF.- http://www.ptolomeo.unam.mx:8080/jspui/bitstream/132.248.52.100/658/8/A8.pdf
  • Dispositivo Lógico Programable (PLD) - Arquitectura de Computadoras. (s. f.). Arquitectura de Computadoras. Recuperado 8 de octubre de 2021, de https://sites.google.com/site/arquitectura1488/news/introduccion
  • PDF.- https://eduarmandov.files.wordpress.com/2017/05/digital-systems-pld.pdf

Comentarios