PLD
PLD
PLD
en chips que permite la reconfiguraci�n de los circuitos con el simple cambio del
software que incorpora, es lo contrario de la l�gica cableada.
�ndice
1 El uso de ROMs como PLDs
2 L�gica programable temprana
3 PAL
4 PLA
5 GALs
5.1 Funcionamiento del GAL
6 CPLDs
7 FPGAs
8 Otras variantes
9 Almacenamiento de la configuraci�n en las PLDs
10 Lenguajes de programaci�n de PLDs
11 V�ase tambi�n
12 Referencias
13 Enlaces externos
El uso de ROMs como PLDs
Antes de que se inventasen las PLDs, los chips de memoria de solo lectura (ROM) se
utilizaban para crear funciones de l�gica combinacional arbitrarias con un n�mero
determinado de entradas. Considerando una ROM con m entradas, a las que se denomina
l�neas de direcci�n; y con n salidas, a las que se denomina l�neas de datos. Cuando
se utiliza como memoria, la ROM contiene {\displaystyle 2^{m}} {\displaystyle
2^{m}} palabras de n bits. Supongamos que las entradas no son direccionadas por una
direcci�n de m-bits, sino por m se�ales l�gicas independientes. Te�ricamente, hay
{\displaystyle 2^{m}} {\displaystyle 2^{m}} funciones booleanas posibles de estas m
se�ales, pero la estructura de la ROM permite solo producir n de estas funciones en
los pines de salida. Por lo tanto, en este caso, la ROM se vuelve un equivalente de
n circuitos l�gicos separados, cada uno generando una funci�n elegida de las m
entradas.
La ventaja de utilizar una ROM de esta forma es que cualquier funci�n concebible de
las m entradas puede ser colocada por las n salidas, haciendo este el dispositivo
l�gico combinacional de mayor prop�sito general disponible. Tambi�n las PROMs (ROMs
programables), EPROMs (PROMs de borrado por ultravioleta) y EEPROMs (PROMs de
borrado el�ctrico) disponibles pueden ser programadas de esta manera con un
programador PROM hardware o software. Sin embargo, existen varias desventajas:
En 1974, General Electric firm� un acuerdo con Monolithic Memories para desarrollar
un PLD de m�scara programable incorporando las innovaciones de General. El
dispositivo se bautiz� como Programmable Associative Logic Array (PALA, matriz
l�gica asociativa programable). El MMI 5760 fue terminado en 1976 y pod�a
implementar circuitos multinivel o secuenciales de m�s de 100 puertas. El
dispositivo estaba soportado por el entorno de desarrollo de General, donde las
ecuaciones Booleanas pod�an ser convertidas a patrones de m�scara para configurar
el dispositivo. El integrado nunca se comercializ� (hasta ahora debido a lo antes
comentado).
PAL
MMI introdujo un dispositivo revolucionario en 1978, la Programmable Array Logic
(Matriz l�gica programable). La arquitectura era m�s sencilla que la FPLA de
Signetics porque omit�a la matriz OR programable. Esto hizo los dispositivos m�s
r�pidos, m�s peque�os y m�s baratos. Estaban disponibles en encapsulados de 20
pines y DIP de 300 mil�simas de pulgada, mientras que las FPLAs ven�an en
encapsulados de 28 pines y DIP de 600 mil�simas de pulgada. Ciertas publicaciones
sobre PALs desmitificaban el proceso de dise�o. El software de dise�o PALASM (PAL
Assembler, ensamblador PAL) convert�a las ecuaciones Booleanas de los ingenieros en
el patr�n de fusibles requerido para programar el dispositivo. Los PAL de MMI
pronto fueron distribuidos por National Semiconductor, Texas Instruments y AMD.
Tras el �xito de MMI con los PAL de 20 pines, AMD introdujo los 22V10 de 24 pines
con caracter�sticas adicionales. Tras comprar a MMI (1987), AMD desarroll� una
operaci�n consolidada como Vantis, adquirida por Lattice Semiconductor en 1999.
PLA
Definido en ingl�s como: "Programmable Logic Array" forma parte de los PLD simples
(SPLDs). Estos dispositivos fueron los primeros chips desarrollados espec�ficamente
para implementar circuitos l�gicos. Como los PAL, anteriormente vistos, disponen de
dos planos diferenciados: AND y OR. En este caso, los PLA tienen ambos planos
programables lo que hace que su estructura sea ideal para implementar funciones
l�gicas como sumas de productos, por el contrario hace que el dispositivo tenga
mayor tama�o y menor velocidad. Por �ltimo existen variantes de este tipo de
estructura:
Solo plano AND o plano OR
Plano AND con reglamentaci�n
Plano AND y OR con reglamentaci�n
Con registros o registros programables
Factores fundamentales de revisi�n
Aplicaci�n de �lgebra de Boole.
GALs
Art�culo principal: Generic array logic
Celdas se pueden borrar y reprogramar el�ctricamente. Una celda E2CMOS t�pica puede
mantener el estado en que se ha programado durante 20 a�os o m�s. Las macroceldas
l�gicas de salida (OLMCs) est�n formadas por circuitos l�gicos que se pueden
programar como l�gica combinacional o como l�gica secuencial. Las OLMCs
proporcionan mucha m�s flexibilidad que la l�gica de salida fija de una PAL.
CPLDs
Art�culo principal: CPLD
Las PALs y GALs est�n disponibles s�lo en tama�os peque�os, equivalentes a unos
pocos cientos de puertas l�gicas. Para circuitos l�gicos mayores, se pueden
utilizar PLDs complejos o CPLDs. Estos contienen el equivalente a varias PAL
enlazadas por interconexiones programables, todo ello en el mismo circuito
integrado. Las CPLDs pueden reemplazar miles, o incluso cientos de miles de puertas
l�gicas.
FPGAs
Art�culos principales: FPGA y Field programmable gate array.
Mientras el desarrollo de las PALs se enfocaba hacia las GALs y CPLDs (ver
secciones superiores), apareci� una corriente de desarrollo distinta. Esta
corriente de desarrollo desemboc� en un dispositivo basado en la tecnolog�a de
matriz de puertas y se le denomin� field-programmable gate array (FPGA). Algunos
ejemplos de las primeras FPGAs son la matriz 82s100 y el secuenciador 82S105 de
Signetics, presentados a finales de los 70. El 82S100 era una matriz de t�rminos
AND, y tambi�n ten�a funciones de biestable.
Las FPGAs utilizan una rejilla de puertas l�gicas, similar a la de una matriz de
puertas ordinarias, pero la programaci�n en este caso la realiza el cliente, no el
fabricante. El t�rmino field-programmable (literamente programable en el campo) se
refiere a que la matriz se define fuera de la f�brica, o "en el campo".
Las FPGAs se programan normalmente tras ser soldadas en la placa, en una forma
similar a los CPLDs grandes. En las FPGAs m�s grandes, la configuraci�n es vol�til
y debe ser reescrita cada vez que se enciende o se necesita una funcionalidad
diferente. La configuraci�n se guarda normalmente en una PROM o EEPROM. Las
versiones EEPROM pueden ser programadas mediante t�cnicas como el uso de cables
JTAG.
Las FPGAs y los CPLDs son buenas opciones para una misma tarea. Algunas veces la
decisi�n sobre una u otra es m�s econ�mica que t�cnica, o puede depender de la
preferencia personal o experiencia del ingeniero.
Otras variantes
Actualmente, existe bastante inter�s en sistemas reconfigurables. Estos sistemas se
basan en circuitos microprocesadores y contiene algunas funciones prefijadas y
otras que pueden ser alteradas por c�digo en el procesador. Para dise�ar sistemas
que se auto-alteren, es necesario que los ingenieros aprendan nuevos m�todos y que
nuevas herramientas de software se desarrollen.
Las PLDs que se venden actualmente, contienen un microprocesador con una funci�n
prefijada (el n�cleo) rodeado con dispositivos de l�gica programable. Estos
dispositivos permiten a los dise�adores concentrarse en a�adir nuevas
caracter�sticas a los dise�os sin tener que preocuparse de hacer que funcione el
microprocesador.
antifusibles de silicio.
SRAMs.
C�lulas EPROM o EEPROM.
Memoria flash.
Los antifusibles de silicio son elementos de almacenamiento utilizados en las PAL,
el primer tipo de PLD. Estos antifusibles se encargan de formar conexiones mediante
la aplicaci�n de voltaje en un �rea modificada del chip. Se le llama antifusibles
porque funcionan de manera opuesta a los fusiles normales, los cuales permiten la
conexi�n hasta que se rompen por exceso de corriente el�ctrica.
Las SRAM, o RAM est�ticas, son un tipo vol�til de memoria, lo que quiere decir que
su contenido se pierde cada vez que se desconectan. Las PLDs basadas en SRAM t�enen
que ser programadas cada vez que el circuito se enciende. Generalmente esto lo hace
otra parte del circuito.
Las memorias flash son no vol�tiles, por lo que retienen sus contenidos incluso
cuando se les corta la alimentaci�n. Puede ser borradas y reprogramadas tanto como
sea necesario, lo que las hace �tiles para las memorias PLD.
A partir de 2005, la mayor�a de las CPLDs son del tipo EEPROM y no vol�tiles. Esto
se debe a que son demasiado peque�as para justificar lo poco conveniente que es la
programaci�n interna de celdas SRAM cada vez que se inician, y lo costoso de las
c�lulas EPROM debido a su encapsulado cer�mico con una ventana de cuarzo.
El m�s limitado ABEL se usa normalmente por razones hist�ricas, pero para nuevos
dise�os es m�s popular VHDL, incluso para dise�os de baja complejidad.
V�ase tambi�n
Gate array
CPLD
Matriz de macroc�lulas
Matriz de l�gica programable (PAL)
Field-programmable gate array (FPGA)
Circuito integrado de aplicaci�n espec�fica (ASIC)