Programmable Array Logic ( PAL ) es una familia de semiconductores de dispositivos lógicos programables utilizados para implementar funciones lógicas en circuitos digitales introducidos por Monolithic Memories , Inc. (MMI) en marzo de 1978. [1] MMI obtuvo una marca registrada en el término PAL para su uso en "Circuitos lógicos de semiconductores programables". Lattice Semiconductor posee actualmente la marca comercial . [2]
Los dispositivos PAL consistían en un pequeño núcleo PROM (memoria programable de solo lectura) y lógica de salida adicional que se utiliza para implementar funciones lógicas deseadas particulares con pocos componentes.
Utilizando máquinas especializadas, los dispositivos PAL eran "programables en campo". Los PAL estaban disponibles en varias variantes:
- Los dispositivos " programables de una sola vez " (OTP) no se podían actualizar ni reutilizar después de la programación inicial (MMI también ofrecía una familia similar llamada HAL, o "lógica de matriz rígida", que eran como dispositivos PAL excepto que estaban programados con máscara en el fábrica.).
- Las versiones borrables con UV (por ejemplo: PALCxxxxx, por ejemplo: PALC22V10) tenían una ventana de cuarzo sobre la matriz del chip y podían borrarse para su reutilización con una fuente de luz ultravioleta como una EPROM .
- Las versiones posteriores (PALCExxx, por ejemplo: PALCE22V10) eran dispositivos flash borrables.
En la mayoría de las aplicaciones, las GAL que se borran eléctricamente ahora se implementan como reemplazos directos compatibles con pines para PAL programables de una sola vez.
Historia
Antes de que se introdujeran los PAL, los diseñadores de circuitos lógicos digitales usaban componentes de integración a pequeña escala (SSI), como los de la familia TTL ( lógica transistor-transistor ) de la serie 7400 ; la familia 7400 incluía una variedad de bloques de construcción lógicos, como puertas ( NOT , NAND , NOR , AND , OR ), multiplexores (MUXes) y demultiplexores (DEMUXes), flip flops (tipo D, JK, etc.) y otros . Un dispositivo PAL normalmente reemplazaría a docenas de estos paquetes lógicos "discretos", por lo que el negocio de SSI declinó a medida que despegaba el negocio de PAL. Los PAL se utilizaron de forma ventajosa en muchos productos, como miniordenadores , como se documenta en el libro más vendido de Tracy Kidder , El alma de una nueva máquina .
Los PAL no fueron los primeros dispositivos lógicos programables comerciales; Signetics había estado vendiendo su matriz lógica programable de campo (FPLA) desde 1975. Estos dispositivos eran completamente desconocidos para la mayoría de los diseñadores de circuitos y se percibían como demasiado difíciles de usar. El FPLA tenía una velocidad operativa máxima relativamente lenta (debido a que tenía matrices de OR programables y programables), era caro y tenía una mala reputación de capacidad de prueba. Otro factor que limita la aceptación de la FPLA fue el paquete grande, un paquete doble en línea (DIP) de 28 pines de 600 mil (0,6 "o 15,24 mm) de ancho .
El proyecto para crear el dispositivo PAL fue dirigido por John Birkner y el circuito PAL real fue diseñado por HT Chua . [3] En un trabajo anterior (en el fabricante de minicomputadoras Computer Automation ), Birkner había desarrollado un procesador de 16 bits utilizando 80 dispositivos lógicos estándar. Su experiencia con la lógica estándar lo llevó a creer que los dispositivos programables por el usuario serían más atractivos si los dispositivos estuvieran diseñados para reemplazar la lógica estándar. Esto significaba que los tamaños de los paquetes tenían que ser más típicos de los dispositivos existentes y las velocidades debían mejorarse. MMI pretendía que los PAL fueran una parte de costo relativamente bajo (menos de $ 3). Sin embargo, la empresa inicialmente tuvo graves problemas de rendimiento de fabricación [ cita requerida ] y tuvo que vender los dispositivos por más de 50 dólares. [ cita requerida ] Esto amenazó la viabilidad de PAL como un producto comercial, y MMI se vio obligado a licenciar la línea de productos a National Semiconductor. [ citación necesitada ] PAL fueron más tarde " segunda fuente " por Texas Instruments y Advanced Micro Devices .
Tecnologías de proceso
Los primeros PAL eran componentes DIP de 20 pines fabricados en silicio utilizando tecnología de transistor bipolar con fusibles de programación de titanio-tungsteno programables de una sola vez (OTP). [4] Los dispositivos posteriores fueron fabricados por Cypress , Lattice Semiconductor y Advanced Micro Devices utilizando tecnología CMOS .
Los PAL originales de 20 y 24 pines fueron designados por MMI como dispositivos de integración de escala media (MSI).
Arquitectura PAL
La arquitectura PAL consta de dos componentes principales: un plano lógico y macrocélulas lógicas de salida.
Plano lógico programable
El plano lógico programable es una matriz de memoria de sólo lectura programable (PROM) que permite que las señales presentes en los pines del dispositivo, o los complementos lógicos de esas señales, se enruten a las macrocélulas lógicas de salida.
Los dispositivos PAL tienen matrices 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 sincrónica o asincrónica de las salidas.
Lógica de salida
Los primeros PAL de 20 pines tenían 10 entradas y 8 salidas. Las salidas eran activas bajas y podían registrarse o combinarse. Los miembros de la familia PAL estaban disponibles con varias estructuras de salida llamadas " macrocélulas lógicas de salida " u OLMC. Antes de la introducción de la serie "V" (para "variable"), los tipos de OLMC disponibles en cada PAL se fijaban en el momento de la fabricación. (El PAL16L8 tenía 8 salidas combinacionales y el PAL16R8 tenía 8 salidas registradas. El PAL16R6 tenía 6 registradas y 2 combinacionales, mientras que el PAL16R4 tenía 4 de cada uno). Cada salida podía tener hasta 8 términos de producto (efectivamente Y puertas); sin embargo, las salidas combinacionales utilizaron uno de los términos para controlar un búfer de salida bidireccional. Había otras combinaciones que tenían menos salidas con más términos de producto por salida y estaban disponibles con salidas altas activas (serie "H"). [5] : 1–14 La serie de dispositivos "X" tenía una puerta XOR antes del registro. [5] : 1–9 También hubo versiones similares de 24 pines de estos PAL.
Esta estructura de salida fija a menudo frustraba a los diseñadores que intentaban optimizar la utilidad de los dispositivos PAL porque sus aplicaciones a menudo requerían estructuras de salida de diferentes tipos. (Por ejemplo, no se pueden obtener 5 salidas registradas con 3 salidas combinacionales altas activas). Entonces, en junio de 1983, AMD presentó el 22V10, un dispositivo de 24 pines con 10 macrocélulas lógicas de salida. [6] El usuario puede configurar cada macrocélula para que sea combinatoria o registrada, activa alta o activa baja. El número de términos de producto asignados a una salida varió de 8 a 16. Este dispositivo podría reemplazar todos los dispositivos PAL de función fija de 24 pines. Los miembros de la serie PAL "V" ("variable") incluían PAL16V8, PAL20V8 y PAL22V10.
Diagrama de bloques PAL 16R4
Diagrama de bloques AMD 22V10
Macrocélula de salida AMD 22V10
Programación de PAL
PAL se programan utilizando eléctricamente patrones binarios (como JEDEC ASCII / hexadecimal archivos) y un sistema electrónico de programación especial que puede obtener del fabricante o de un tercero, como por ejemplo datos de E / S . Además de los programadores de dispositivos de una sola unidad, los alimentadores de dispositivos y los programadores de grupos se usaban a menudo cuando era necesario programar más que unos pocos PAL. (Para grandes volúmenes, los costos de programación eléctrica podrían eliminarse haciendo que el fabricante fabrique una máscara de metal personalizada para programar los patrones de los clientes en el momento de la fabricación; MMI usó el término " lógica de matriz dura " (HAL) para referirse a los dispositivos programados De este modo.)
Lenguajes de programación (por orden cronológico de aparición)
Aunque algunos ingenieros programaron dispositivos PAL editando manualmente archivos que contienen los datos del patrón de fusibles binarios, la mayoría optó por diseñar su lógica utilizando un lenguaje de descripción de hardware (HDL) como ABEL de E / S de datos, CUPL de dispositivos lógicos o PALASM de MMI . Estos eran programas de diseño asistido por computadora ( CAD ) (ahora denominados " automatización de diseño electrónico ") que traducían (o "compilaban") las ecuaciones lógicas de los diseñadores en archivos de mapas de fusibles binarios utilizados para programar (y a menudo probar) cada dispositivo.
PALASMA
El lenguaje PALASM (del "ensamblador PAL") fue desarrollado por John Birkner a principios de la década de 1980 y el compilador PALASM fue escrito por MMI en FORTRAN IV en un IBM 370/168. MMI puso el código fuente a disposición de los usuarios sin costo alguno. En 1983, los clientes de MMI ejecutaron versiones en DEC PDP-11 , Data General NOVA , Hewlett-Packard HP 2100 , MDS800 y otros.
Se utilizó para expresar ecuaciones booleanas para los pines de salida en un archivo de texto que luego se convirtió en el archivo de "mapa de fusibles" para el sistema de programación utilizando un programa proporcionado por el proveedor; más tarde, la opción de traducción de esquemas se hizo común y, más tarde, los 'mapas de fusión' podrían 'sintetizarse' a partir de un HDL (lenguaje de descripción de hardware) como Verilog .
CUPL
Tecnología Asistida liberado CUPL ( C ompiler para U NIVERSAL P rogrammable L ogic) en septiembre de 1983. [7] El software fue siempre referido como CUPL y nunca el acrónimo expandido. Fue la primera herramienta de diseño comercial que admitió varias familias de PLD. La versión inicial fue para IBM PC y MS-DOS, pero fue escrito en el lenguaje de programación C para que pudiera ser portado a plataformas adicionales. [8] La tecnología asistida fue adquirida por Personal CAD Systems (P-CAD) en julio de 1985. En 1986, el paquete de captura esquemática de PCAD se pudo utilizar como interfaz para CUPL. [9] CUPL fue posteriormente adquirida por Logical Devices y ahora es propiedad de Altium . [10] CUPL está disponible actualmente como un paquete de desarrollo integrado para Microsoft Windows. [11]
Atmel lanza gratis WinCUPL (su propio software de diseño para todos los SPLD y CPLD de Atmel). Atmel fue adquirida por Microchip.
ABEL
Data I / O Corporation lanzó ABEL en abril de 1984. El equipo de desarrollo fue Michael Holley, Mike Mraz, Gerrit Barrere, Walter Bright , Bjorn Freeman-Benson, Kyu Lee, David Pellerin, Mary Bailey, Daniel Burrier y Charles Olivier.
Data I / O escindió la línea de productos ABEL en una empresa de EDA llamada Synario Design Systems y luego vendió Synario a MINC Inc en 1997. MINC se centró en el desarrollo de herramientas de desarrollo FPGA. La empresa cerró sus puertas en 1998 y Xilinx adquirió algunos de los activos de MINC, incluido el lenguaje y el conjunto de herramientas ABEL. ABEL luego se convirtió en parte del paquete de herramientas Xilinx Webpack. Ahora Xilinx es dueño de ABEL.
Programadores de dispositivos
Los programadores de dispositivos populares incluyeron el programador lógico modelo 60A de Data I / O Corporation y el modelo 2900.
Uno de los primeros programadores PAL fue el diseño estructurado SD20 / 24. Tenían el software PALASM incorporado y solo requerían un terminal CRT para ingresar las ecuaciones y ver los diagramas de fusibles. Después de fusionar, las salidas de PAL podrían verificarse si se ingresaron vectores de prueba en el archivo fuente.
Sucesores
Después de que MMI tuvo éxito con las piezas PAL de 20 pines introducidas alrededor de 1978, AMD introdujo el PAL 22V10 de 24 pines con características adicionales. Después de comprar MMI (alrededor de 1987), AMD escindió una operación consolidada como Vantis, y Lattice Semiconductor adquirió esa empresa en 1999. [12]
Altera introdujo el EP300 (primer CMOS PAL) en 1983 y luego se trasladó al negocio de FPGA.
Lattice Semiconductor introdujo la familia de lógica de matriz genérica ( GAL ) en 1985, con equivalentes funcionales de los PAL de la serie "V" que utilizaban planos lógicos reprogramables basados en la tecnología EEPROM (memoria de sólo lectura programable y borrable eléctricamente). National Semiconductor fue una segunda fuente de piezas GAL.
AMD presentó una familia similar llamada PALCE. En general, una parte GAL puede funcionar como cualquiera de los dispositivos PAL de la familia similar. Por ejemplo, el 16V8 GAL puede reemplazar los PAL 16L8, 16H8, 16H6, 16H4, 16H2 y 16R8 (y muchos otros además).
ICT (International CMOS Technology) introdujo el PEEL 18CV8 en 1986. La parte EEPROM CMOS de 20 pines podría usarse en lugar de cualquiera de los PAL bipolares de salida registrada y consumir mucha menos energía.
Los dispositivos lógicos programables de mayor escala fueron introducidos por Atmel , Lattice Semiconductor y otros. Estos dispositivos ampliaron la arquitectura PAL al incluir múltiples planos lógicos y / o enterrar macrocélulas lógicas dentro de los planos lógicos. El término dispositivo lógico programable complejo (CPLD) se introdujo para diferenciar estos dispositivos de sus predecesores PAL y GAL, que en ocasiones se denominaban dispositivos lógicos programables simples (SPLD).
Otro gran dispositivo lógico programable es la matriz de puertas programables en campo (FPGA). Estos son dispositivos actualmente [ ¿cuándo? ] fabricado por Intel (que adquirió Altera ) y Xilinx y otros fabricantes de semiconductores.
Ver también
- Lógica combinacional
Otros tipos de dispositivos lógicos programables:
- Matriz de puertas programables en campo (FPGA)
- Matriz lógica programable (PLA)
- Dispositivo lógico programable (PLD)
- Dispositivo lógico programable complejo (CPLD)
- Dispositivo lógico programable borrable (EPLD)
- Arreglo lógico programable en campo ( Signetics FPLA)
Fabricantes actuales y anteriores de dispositivos lógicos programables:
- Actel
- Microdispositivos avanzados (PAL, PALCE)
- Altera (Flex, Max)
- Atmel
- Semiconductor de ciprés
- Intel
- Semiconductor de celosía (GAL)
- Semiconductor nacional (GAL)
- QuickLogic Corp.
- Signetics (FPLA)
- Instrumentos Texas
- Xilinx
Fabricantes actuales y anteriores de programadores de dispositivos PAL:
- Corporación de E / S de datos
Referencias
- ^ "Anuncia Monolithic Memories: una revolución en el diseño lógico". Diseño Electrónico . Rochelle, Nueva Jersey: Hayden Publishing. 26 (6): 148B, 148C. 18 de marzo de 1978. Anuncio introductorio en PAL (lógica de matriz programable).
- ^ Monolithic Memories, Inc (MMI) solicitó una marca de trabajo en el término "PAL" para su uso en "Circuitos lógicos de semiconductores programables" el 13 de abril de 1978. Se otorgó una marca registrada el 29 de abril de 1980, número de registro 1134025. MMI's El primer uso del término PAL en el comercio fue el 21 de febrero de 1978. La marca comercial es actualmente propiedad de Lattice Semiconductor Corporation de Hillsboro, Oregon. Fuente: Base de datos en línea de la Oficina de Patentes y Marcas de los Estados Unidos.
- ^ Birkner, John (16 de agosto de 1978). "Reducir la complejidad de la lógica aleatoria". Diseño Electrónico . Rochelle, Nueva Jersey: Hayden Publishing. 26 (17): 98-105.
- ^ Hoja de datos de TIBPAL 16R8-15C (PDF) . Dallas TX: Texas Instruments. Abril de 2000 [febrero de 1984]."Estos circuitos IMPACT combinan la última tecnología Schottky avanzada de baja potencia con fusibles de titanio-tungsteno comprobados para proporcionar sustitutos fiables y de alto rendimiento de la lógica TTL convencional". TI fue un proveedor de segunda fuente para MMI PALS.
- ^ a b Birkner, John M .; Coli, Vincent J. (1983). Manual de lógica de matriz programable PAL (3ª ed.). Monolithic Memories, Inc.
- ^ Información avanzada de AmPAL 22V10 . Sunnyvale CA: Microdispositivos avanzados. Junio de 1983. 04126A-PLP. Nota: Esta es la hoja de datos publicada por AMD cuando se introdujo el AmPAL 22V10.
- ^ Alford, Roger C. (1989). Guía del diseñador de lógica programable . Howard W. Sams. págs. 14-15, 166-168. ISBN 0-672-22575-1.
En 1981, [Bob] Osann fundó Assisted Technology para desarrollar herramientas de soporte PLD. En septiembre de 1983 Assisted Technology lanzó la versión 1.01a de su compilador PLD CUPL (Universal Compiler for Programmable Logic), que admite 29 dispositivos.
- ^ "CUPL - El lenguaje universal para la lógica programable" (PDF) (Comunicado de prensa). San José, CA: Assisted Technology, Inc. 1983. Archivado desde el original (PDF) el 29 de octubre de 2013 . Consultado el 10 de agosto de 2013 . Una hoja de datos preliminar de principios de 1983 para CUPL.
- ^ "Sistemas CAD personales" . Computer World . Framingham, MA: CW Communications. 19 (29): 97. 22 de julio de 1985. ISSN 0010-4841 .
- ^ Oficina de Patentes y Marcas de Estados Unidos. "CUPL" Software informático, a saber, software utilizado para desarrollar y compilar diseños para dispositivos lógicos programables y manuales de usuario relacionados distribuidos con ellos. Utilizado por primera vez en 1983, estado Activo. Número de serie 76357007. Número de registro 2909461. Propietario: Altium Limited, Australia 3 Minna Close, Belrose NSW2085, Australia.
- ^ "CUBEL ChipDesigner 5.0" . Dispositivos lógicos. Agosto de 2013. Archivado desde el original el 29 de mayo de 2015.
- ^ "Lattice Semiconductor adquiere Vantis Corp. de AMD" . EE Times . 26 de abril de 1999 . Consultado el 13 de mayo de 2015 .
Otras lecturas
- Birkner, John ; Vincent Coli (1981). Manual de lógica de matriz programable PAL (2 ed.). Monolithic Memories, Inc.
- Birkner, John; Vincent Coli (1983). Manual de lógica de matriz programable PAL (3 ed.). Monolithic Memories, Inc.
- Alford, Roger C. (1989). Guía del diseñador de lógica programable . Howard W. Sams. ISBN 0-672-22575-1.
- Estándar JEDEC JESD3-C, formato de transferencia de datos estándar entre el sistema de preparación de datos y el programador de dispositivos lógicos programables , junio de 1994. Documentos JEDEC