stringtranslate.com

Dispositivo lógico programable

Un dispositivo PAL simplificado. Los elementos programables (que se muestran como un fusible) conectan las entradas verdadera y complementada a las puertas AND. Estas puertas AND, también conocidas como términos de producto, se unen mediante operación OR para formar una matriz lógica de suma de productos.

Un dispositivo lógico programable ( PLD ) es un componente electrónico utilizado para construir circuitos digitales reconfigurables . A diferencia de la lógica digital construida utilizando puertas lógicas discretas con funciones fijas, la función de un PLD no está definida en el momento de su fabricación. Antes de que el PLD pueda usarse en un circuito, debe programarse para implementar la función deseada. [1] En comparación con los dispositivos lógicos fijos, los dispositivos lógicos programables simplifican el diseño de lógica compleja y pueden ofrecer un rendimiento superior. [2] A diferencia de los microprocesadores , la programación de un PLD cambia las conexiones realizadas entre las puertas del dispositivo.

Los PLD se pueden clasificar en términos generales, en orden creciente de complejidad, dispositivos lógicos programables simples (SPLD) , que comprenden lógica de matriz programable , matriz lógica programable y lógica de matriz genérica ; Dispositivos lógicos programables complejos (CPLD) ; y matrices de puertas programables en campo (FPGA) .

Historia

En 1969, Motorola ofreció el XC157, un conjunto de puertas programadas con máscara con 12 puertas y 30 pines de entrada/salida no comprometidos. [3]

En 1970, Texas Instruments desarrolló un circuito integrado programable por máscara basado en la memoria asociativa de sólo lectura o ROAM de IBM . Este dispositivo, el TMS2000, fue programado alterando la capa de metal durante la producción del CI. El TMS2000 tenía hasta 17 entradas y 18 salidas con 8 flip-flops JK para memoria. TI acuñó el término matriz lógica programable (PLA) para este dispositivo. [4]

En 1971, General Electric Company (GE) estaba desarrollando un dispositivo lógico programable basado en la nueva tecnología de memoria programable de sólo lectura (PROM). Este dispositivo experimental mejoró el ROAM de IBM al permitir lógica multinivel. Intel acababa de presentar la EPROM UV de puerta flotante por lo que el investigador de GE incorporó esa tecnología. El dispositivo de GE fue el primer PLD borrable jamás desarrollado, anterior al Altera EPLD en más de una década. GE obtuvo varias de las primeras patentes sobre dispositivos lógicos programables. [5] [6] [7]

En 1973, National Semiconductor introdujo un dispositivo PLA programable con máscara (DM7575) con 14 entradas y 8 salidas sin registros de memoria. Esta fue más popular que la pieza TI, pero el costo de fabricar la máscara de metal limitó su uso. El dispositivo es importante porque fue la base de la matriz lógica programable en campo producida por Signetics en 1975, el 82S100. ( Intersil en realidad venció a Signetics en el mercado, pero el bajo rendimiento condenó su parte). [8] [9]

En 1974, GE celebró un acuerdo con Monolithic Memories (MMI) para desarrollar un dispositivo lógico programable por máscara que incorporara las innovaciones de GE. El dispositivo recibió el nombre de 'Matriz lógica asociativa programable' o PALA. El MMI 5760 se completó en 1976 y podía implementar circuitos secuenciales o multinivel de más de 100 puertas. El dispositivo estaba respaldado por un entorno de diseño de GE donde las ecuaciones booleanas se convertirían en patrones de máscara para configurar el dispositivo. La pieza nunca llegó al mercado. [10]

PLA

En 1970, Texas Instruments desarrolló un circuito integrado programable por máscara basado en la memoria asociativa de sólo lectura o ROAM de IBM . Este dispositivo, el TMS2000, fue programado alterando la capa de metal durante la producción del CI. El TMS2000 tenía hasta 17 entradas y 18 salidas con 8 flip-flops JK para memoria. TI acuñó el término matriz lógica programable para este dispositivo. [4]

Una matriz lógica programable (PLA) tiene una matriz de puertas AND programable, que se vincula a una matriz de puertas OR programable, que luego se puede complementar condicionalmente para producir una salida. Un PLA es similar a un concepto de ROM, sin embargo, un PLA no proporciona una decodificación completa de una variable y no genera todos los minterms como en una ROM.

CAMARADA

Los dispositivos PAL tienen conjuntos de celdas de transistores dispuestas en un plano "O fijo, Y programable" que se utiliza para implementar ecuaciones lógicas binarias de "suma de productos" para cada una de las salidas en términos de las entradas y retroalimentación síncrona o asíncrona de las salidas.

MMI introdujo un dispositivo revolucionario en 1978, la lógica de matriz programable o PAL. La arquitectura era más simple que la de la FPLA de Signetics porque omitía la matriz OR programable. Esto hizo que las piezas fueran más rápidas, más pequeñas y más baratas. Estaban disponibles en paquetes DIP de 20 pines y 300 mil, mientras que los FPLA venían en paquetes de 28 pines y 600 mil. El Manual PAL desmitificó el proceso de diseño. El software de diseño PALASM (ensamblador PAL) convirtió las ecuaciones booleanas de los ingenieros en el patrón de fusibles necesario para programar la pieza. Los dispositivos PAL pronto fueron adquiridos como segunda fuente por National Semiconductor, Texas Instruments y AMD.

Después de que MMI tuvo éxito con las piezas PAL de 20 pines, AMD introdujo el PAL 22V10 de 24 pines con características adicionales. Después de comprar MMI (1987), AMD escindió una operación consolidada como Vantis , y ese negocio fue adquirido por Lattice Semiconductor en 1999.

GAL

Celosía GAL 16V8 y 20V8

Una mejora del PAL fue el dispositivo lógico de matriz genérico, o GAL, inventado por Lattice Semiconductor en 1985. Este dispositivo tiene las mismas propiedades lógicas que el PAL pero se puede borrar y reprogramar. El GAL es muy útil en la etapa de creación de prototipos de un diseño, cuando cualquier error en la lógica se puede corregir mediante reprogramación. Los GAL se programan y reprograman utilizando un programador PAL o, en el caso de chips que lo admiten, utilizando la técnica de programación en circuito .

Los Lattice GAL combinan CMOS y tecnología de puerta flotante borrable eléctricamente (E 2 ) para un dispositivo lógico de alta velocidad y bajo consumo. La corporación Internacional CMOS Technology (ICT) introdujo un dispositivo similar llamado PEEL (lógica programable eléctricamente borrable).

CPLD

Los PAL y GAL están disponibles sólo en tamaños pequeños, equivalentes a unos cientos de puertas lógicas. Para circuitos lógicos más grandes, se pueden utilizar PLD o CPLD complejos. Estos contienen el equivalente a varios PAL vinculados mediante interconexiones programables, todo en un circuito integrado . Los CPLD pueden reemplazar miles, o incluso cientos de miles, de puertas lógicas.

Algunos CPLD se programan mediante un programador PAL, pero este método resulta inconveniente para dispositivos con cientos de pines. Un segundo método de programación consiste en soldar el dispositivo a su placa de circuito impreso y luego alimentarlo con un flujo de datos en serie desde una computadora personal. El CPLD contiene un circuito que decodifica el flujo de datos y configura el CPLD para realizar su función lógica especificada. Algunos fabricantes (incluidos Altera y Microsemi ) utilizan JTAG para programar CPLD en circuito a partir de archivos .JAM .

FPGA

Mientras los PAL se convertían en GAL y CPLD (todos discutidos anteriormente), se estaba produciendo una corriente separada de desarrollo. Este tipo de dispositivo se basa en la tecnología de matriz de puertas y se denomina matriz de puertas programables en campo (FPGA). Los primeros ejemplos de FPGA son la matriz 82S100 y el secuenciador 82S105 de Signetics, introducidos a finales de los años 1970. El 82S100 era una serie de términos AND. El 82S105 también tenía funciones flip-flop.

(Observación: 82S100 y circuitos integrados similares de Signetics tienen estructura PLA, plano Y + plano O).

Los FPGA utilizan una cuadrícula de puertas lógicas y, una vez almacenados, los datos no cambian, similar a lo que ocurre con una matriz de puertas ordinaria. El término programable en campo significa que el dispositivo lo programa el cliente, no el fabricante. Los FPGA y los conjuntos de puertas son similares, pero los conjuntos de puertas solo se pueden configurar en fábrica durante la fabricación. [11] [12] [13]

Los FPGA generalmente se programan después de soldarlos a la placa de circuito, de manera similar a los CPLD más grandes. En la mayoría de los FPGA más grandes, la configuración es volátil y debe recargarse en el dispositivo cada vez que se aplica energía o se requiere una funcionalidad diferente. La configuración normalmente se almacena en una PROM de configuración , EEPROM o memoria flash. [14] Las versiones de EEPROM pueden ser programables en el sistema (normalmente a través de JTAG ).

La diferencia entre FPGA y CPLD es que los FPGA se basan internamente en tablas de búsqueda (LUT), mientras que los CPLD forman funciones lógicas con mar de puertas (por ejemplo, suma de productos ). Los CPLD están destinados a diseños más simples, mientras que los FPGA están destinados a diseños más complejos. En general, los CPLD son una buena opción para aplicaciones de lógica combinacional amplia , mientras que los FPGA son más adecuados para máquinas de estados grandes , como los microprocesadores .

EPLD

Un EPLD de Cypress en un PLCC - paquete

Utilizando la misma tecnología que las EPROM , las EPLD tienen una ventana de cuarzo en el paquete que permite borrarlas al exponerlas a la luz ultravioleta. [15] [16]

Utilizando la misma tecnología que las EEPROM , los EEPLD se pueden borrar eléctricamente. [15] [16]

Un dispositivo lógico programable borrable ( EPLD ) es un circuito integrado que comprende una serie de PLD que no vienen preconectados; las conexiones son programadas eléctricamente por el usuario. La mayoría de los dispositivos GAL y FPGA son ejemplos de EPLD. [ cita necesaria ]

Otras variantes

Estos son circuitos de microprocesador que contienen algunas funciones fijas y otras funciones que pueden modificarse mediante el código que se ejecuta en el procesador. El diseño de sistemas que se modifican automáticamente requiere que los ingenieros aprendan nuevos métodos y que se desarrollen nuevas herramientas de software.

Ahora se venden PLD que contienen un microprocesador con una función fija (el llamado núcleo ) rodeado de lógica programable. Estos dispositivos permiten a los diseñadores concentrarse en agregar nuevas características a los diseños sin tener que preocuparse por hacer funcionar el microprocesador. Además, el microprocesador de función fija ocupa menos espacio en el chip que una parte del conjunto de puertas programables que implementa el mismo procesador, dejando más espacio para que el conjunto de puertas programables contenga los circuitos especializados del diseñador.

Cómo los PLD conservan su configuración

Un PLD es una combinación de un dispositivo lógico y un dispositivo de memoria . La memoria se utiliza para almacenar el patrón que se le dio al chip durante la programación. La mayoría de los métodos para almacenar datos en un circuito integrado se han adaptado para su uso en PLD. Éstas incluyen:

Los antifusibles de silicio son conexiones que se realizan aplicando un voltaje a través de un área modificada de silicio dentro del chip. Se llaman antifusibles porque funcionan de manera opuesta a los fusibles normales, que comienzan su vida como conexiones hasta que son rotos por una corriente eléctrica.

La SRAM, o RAM estática, es un tipo de memoria volátil, lo que significa que su contenido se pierde cada vez que se corta la alimentación. Por lo tanto, los PLD basados ​​en SRAM deben programarse cada vez que se enciende el circuito. Por lo general, esto lo hace automáticamente otra parte del circuito.

Una celda de memoria EPROM es un MOSFET (transistor de efecto de campo semiconductor de óxido metálico, o transistor MOS) que se puede encender atrapando una carga eléctrica permanentemente en su electrodo de puerta. Esto lo hace un programador PAL. La carga permanece durante muchos años y sólo puede eliminarse exponiendo el chip a una fuerte luz ultravioleta en un dispositivo llamado borrador EPROM.

La memoria flash no es volátil y conserva su contenido incluso cuando se apaga la alimentación. Se almacena en celdas de memoria MOSFET de puerta flotante y se puede borrar y reprogramar según sea necesario. Esto lo hace útil en PLD que pueden reprogramarse con frecuencia, como los PLD utilizados en prototipos. La memoria flash es un tipo de EEPROM que contiene información mediante cargas eléctricas atrapadas similares a la EPROM. En consecuencia, la memoria flash puede almacenar información durante años, pero posiblemente no tantos años como la EPROM.

En 2005, la mayoría de los CPLD son programables y borrables eléctricamente y no volátiles. Esto se debe a que son demasiado pequeñas para justificar el inconveniente de programar celdas SRAM internas cada vez que se inician, y las celdas EPROM son más caras debido a su paquete cerámico con ventana de cuarzo.

Lenguajes de programación PLD

Muchos dispositivos de programación PAL aceptan entradas en un formato de archivo estándar, comúnmente conocido como " archivos JEDEC ". Son análogos a los compiladores de software . Los lenguajes utilizados como código fuente para los compiladores lógicos se denominan lenguajes de descripción de hardware o HDL. [1]

PALASM , ABEL y CUPL se utilizan con frecuencia para dispositivos de baja complejidad, mientras que Verilog y VHDL son lenguajes de descripción de nivel superior populares para dispositivos más complejos. El ABEL más limitado se utiliza a menudo por razones históricas, pero para nuevos diseños VHDL es más popular, incluso para diseños de baja complejidad.

Para lenguajes de programación, flujos de diseño y herramientas PLD modernos, consulte FPGA y computación reconfigurable .

Dispositivos de programación PLD

Se utiliza un programador de dispositivos para transferir el patrón lógico booleano al dispositivo programable. En los primeros días de la lógica programable, cada fabricante de PLD también producía un programador de dispositivos especializado para su familia de dispositivos lógicos. Posteriormente aparecieron en el mercado programadores de dispositivos universales que soportaban varias familias de dispositivos lógicos de diferentes fabricantes. Los programadores de dispositivos actuales normalmente pueden programar PLD comunes (principalmente equivalentes PAL/GAL) de todos los fabricantes existentes. Los formatos de archivo comunes utilizados para almacenar el patrón lógico booleano (fusibles) son JEDEC, Altera POF (archivo de objetos programables) o Xilinx BITstream. [17]

Ver también

Referencias

  1. ^ ab Horowitz, Paul; Colina, Winfield (2015). Horowitz P., Hill W. - El arte de la electrónica . Nueva York. pag. 764.ISBN​ 978-0-521-80926-9.{{cite book}}: Mantenimiento CS1: falta el editor de la ubicación ( enlace )
  2. ^ Holdsworth, B.; Bosques, RC (2003). Diseño de lógica digital (4ª ed.). Elsevier. ISBN 978-0-7506-4582-9.
  3. ^ Libro de datos de semiconductores de Motorola, cuarta edición . Motorola Inc. 1969. pág. IC-73.
  4. ^ ab Andrés, Kent (octubre de 1970). "Un informe de aplicación de Texas Instruments: matrices lógicas programables MOS" . Instrumentos Texas. Boletín CA-158.Report presenta las series TMS2000 y TMS2200 de PLA programables con máscara.
  5. ^ Greer, David L. Circuitos lógicos eléctricamente programables, patente estadounidense 3.818.452. Cesionario: General Electric, presentada: 28 de abril de 1972, concedida: 18 de junio de 1974
  6. ^ Greer, David L. Circuitos lógicos asociativos de niveles múltiples, patente estadounidense 3.816.725. Cesionario: General Electric, presentada: 28 de abril de 1972, concedida: 11 de junio de 1974
  7. ^ Greer, David L. Circuitos lógicos asociativos segmentados, patente estadounidense 3.849.638. Cesionario: General Electric, presentada: 18 de julio de 1973, concedida: 19 de noviembre de 1974
  8. ^ "Semiconductores y circuitos integrados: FPLA". EDN . 20 (13). Boston, MA: Cahners Publishing: 66. 20 de julio de 1975.Comunicado de prensa sobre la matriz lógica programable en campo Intersil IM5200. Catorce pines de entrada y 48 términos de producto. Programación de migración inducida por avalanchas. El precio unitario fue $37.50
  9. ^ "Las FPLA ofrecen una lógica personalizada rápida". EDN . 20 (13). Boston, MA: Cahners Publishing: 61. 20 de julio de 1975.Comunicado de prensa sobre los arreglos lógicos programables en campo Signetics 82S100 y 82S101. Catorce pines de entrada, 8 pines de salida y 48 términos de producto. Programación de cartuchos fusibles de NiCr.
  10. ^ Pellerin, David; Michael Holley (1991). Diseño práctico utilizando lógica programable . Prentice Hall. pag. 15.ISBN 0-13-723834-7.
  11. ^ Dorf, Richard C. (3 de octubre de 2018). Electrónica, Electrónica de Potencia, Optoelectrónica, Microondas, Electromagnética y Radar. Prensa CRC. ISBN 978-1-4200-0315-4.
  12. ^ Vahid, Frank; Givargis, Tony D. (17 de octubre de 2001). Diseño de sistemas integrados: una introducción unificada de hardware/software. John Wiley e hijos. ISBN 978-0-471-38678-0.
  13. ^ Chen, Wai-Kai (3 de octubre de 2018). El manual VLSI. Prensa CRC. ISBN 978-1-4200-0596-7.
  14. ^ https://cdrdv2-public.intel.com/654742/cfg_cf52010.pdf
  15. ^ ab Tertulien Ndjountche. "Electrónica digital 2: circuitos lógicos secuenciales y aritméticos". 2016. pág. 224.
  16. ^ ab Clive Maxfield. "La guía del guerrero del diseño sobre FPGA". 2004. pág. 20
  17. ^ Formatos de archivo PLD

enlaces externos