viernes, 8 de febrero de 2008

DISPOSITIVOS LOGICOS PROGRAMABLES SIMPLES (SPLD)

CONSTRUCCION

Los SPLDs es una combinación de un dispositivo lógico (arreglo de compuertas AND, seguido por otro arreglo de compuertas OR, uno o ambos arreglos programables, algunos incluyen Flip Flops) y una memoria. La memoria se utiliza para almacenar el patrón el que se le ha dado al chip durante la programación. La mayoría de los métodos para almacenar datos en un circuito integrado han sido adaptados para el uso en SPLDs. Entre estos se incluyen: antifusibles de silicio, SRAMs, Células EPROM o EEPROM y memoria flash.

Los antifusibles de silicio son elementos de almacenamiento utilizados en las PAL, el primer tipo de SPLD. 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. Los SPLDs basadas en SRAM tíenen que ser programadas cada vez que el circuito se enciende. Generalmente esto lo hace otra parte del circuito.

Una célula EPROM es un transistor MOS (metal-óxido-semiconductor) que puede activarse atrapando una carga eléctrica permanentemente en su puerta, cosa que realiza un programador PAL. La carga permanece durante algunos años sólo puede ser eliminada exponiendo al chip a una luz ultravioleta fuerte en un dispositivo llamado borrador EPROM.
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 SPLD.

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.

ESTRUCTURA

La estructura típica consiste en "suma de productos"

  • Matriz AND programable + Matriz OR fija
  • Se puede implementar cualquier función de n entradas de hasta p términos producto (p <>

Se programan las interconexiones

  • Número de interruptores=(2n×p × m)

    Figura 1 Arreglo And Or de un SPLD.

FUNCIONAMIENTO

Como se ha mencionado, los SPLD están formadas por una matriz de puertas AND programable conectada a una puerta OR fija. Esta estructura permite implementar cualquier suma de productos lógicos con un número de variables definidas y limitadas, entre otras, por el número de entradas y salidas que tenga el dispositivo.

En la Figura 2 se muestra la estructura básica de un SPLD para tres variables de entrada y salida sin programar. Cada punto de intersección entre una fila y una columna se denomina celda y es el elemento programable del SPLD. Cada fila se conecta a la entrada de una puerta AND y cada columna a la variable de entrada o su complemento. En función de la presencia o ausencia de las conexiones creadas por programación, se puede aplicar cualquier combinación de variables de entrada o sus complementos a una puerta AND para generar cualquier operación producto que se desee.



Figura 2 SPLD con matriz AND sin programar

La implementación de una función lógica sobre un SPLD, se muestra la figura 3, donde las señales que entran a la matriz son las variables de entrada y sus complementos. Cuando se requiere la conexión entre una fila y una columna, el fusible queda intacto, Cuando dicha conexión no se requiere, el fusible se abre en el proceso de programación. La salida de la puerta OR proporciona finalmente la suma de productos. Observe que si alguna entrada de una puerta AND queda sin conectar, esta adquiere el valor del elemento neutro del producto lógico, sin afectar el resultado de dicha puerta.

Figura 3 SPLD con matriz AND programada

FABRICANTES

Dispositivos SPLD se introducen en 1978 por Monolithic Memories, Inc., (MMI), la arquitectura era más sencilla que la FPLA porque omitía la matriz
OR programable. Esto hizo los dispositivos más rápidos, más pequeños y más baratos .

Los SPLD de MMI pronto fueron distribuidos por AMD la cual empleo tecnología PROM de fusibles Titanio-Tungsteno programables una sola vez; Texas Instruments apoya las PALs con arquitectura variable programables una sola vez y National Semiconductor, quien fue el pionero en el desarrollo de Arreglos Lógicos Programables (Programmable Logic Arrays, PLA’s) en forma de un DIP grande de 24 pines o terminales (0.6 pulgadas de ancho) con 96 términos productos, 14 entradas, 8 salidas.

El primer circuito PAL fue el 16L8, de 20 terminales (pines), con soporte para 8 salidas y hasta 16 entradas con tecnología Bipolar, mostrada en la Figura 4, en cada macro celda se observa:


° Cada variable de entrada es distribuida negada y sin negar en la matriz de intersección mediante los literales (columnas).
° Todas las columnas cruzan líneas horizontales donde se puede realizar el AND cableado de las columnas que se elijan y con ello generar en cada fila la suma de productos que se desee.
° Siete filas son unidas mediante una compuerta OR para realizar la suma de productos.
° La señal de salida es negada por cuestiones de velocidad; ya que es más rapida una compuerta NOR que una OR, aunque existe la PAL 16H8, donde la salida en la compuerta OR sale sin negar.
° En algunas macroceldas el valor de salida se realimenta negado y sin negar a todo el circuito, lo cual permite la conexión en cascada de lógica, para la síntesis de funciones más complejas. Esto además facilita el diseño de circuitos realimentados para la elaboración de celdas de memorias.
° Las salidas se pueden controlar individualmente a través de las compuertas Tri-State de cada una y con esto poder seleccionar la salida como entrada.

Figura 4 PAL16L8 en encapsulado DIP20.

Con este tipo de dispositivos pueden simularse arreglos del tipo de Productos Lógicos, o en su caso realizar decodificación de direcciones. Sin embargo, la mayor aportación de los dispositivos PAL fue generar aplicaciones específicas en muy corto tiempo. La operación de estos dispositivos inicio manejando velocidades de 4.7 Mhz para la IBM PC hasta 33 Mhz, para posteriormente alcanzar los 50 Mhz; hoy se pueden encontrar dispositivos que operan con un retraso de propagación de la señal del orden de 5ns.

Sin embargo, su estructura simple también es su principal desventaja, ya que solo se pueden implementar pequeños circuitos lógicos representados con un modesto número de términos producto, porque su estructura de interconexión esta fija en cuanto a que no se puede configurar la salida si se requiere que sea activo alto, activo bajo, con o sin registro. En la Figura 5 se observa el diseño de una PAL con puertas de distintos tipos.

Figura 5 Diseño de una PAL con puertas de distintos tipos.


En el mercado se manejan referencias de las PALs comerciales como la PAL16L8, PAL20L8, PAL20V8 y PAL20X8.

DISEÑO

Puesto que las PAL son circuitos integrados muy complejos desde el punto de vista interno, los fabricantes han adoptado una notación simplificada para eliminar los diagramas lógicos complicados. En la Figura 6 se muestra la notación.

Figura 6 Símbolo simplificado de una SPLD

Buffer de entrada: Para evitar cargar con la gran cantidad de entradas de puertas AND a las que se pueden conectar una variable o su complemento, se añade un buffer a las variables de entrada del SPLD. Un buffer inversor genera el complemento de una variable de entrada.

Puertas AND: una matriz AND de una puerta SPLD típica tiene una gran cantidad de líneas de interconexión y cada puerta AND tiene entradas múltiples. El diagrama lógico de un SPLD muestra cada puerta AND que realmente tienen varias entradas, utilizando una sola línea para representar a todas las líneas de entrada.

Conexiones de un SPLD: Para obtener un diagrama lo más sencillo posible, los fusibles de una matriz AND programable se indican mediante una X en el punto de intersección






1 comentario:

Unknown dijo...
Este comentario ha sido eliminado por el autor.