0 calificaciones0% encontró este documento útil (0 votos)
179 vistas
Logica Programable
El documento describe los principales métodos de diseño lógico programable y los tipos de programas para la programación de lógica programable. Explica que el proceso de diseño lógico con PLD consta de tres etapas: diseño lógico, implementación del diseño y verificación del diseño. Luego, resume las características clave de los programas OPAL, ABEL y CUPL, que son algunos de los más utilizados para la programación de lógica programable.
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0 calificaciones0% encontró este documento útil (0 votos)
179 vistas
Logica Programable
El documento describe los principales métodos de diseño lógico programable y los tipos de programas para la programación de lógica programable. Explica que el proceso de diseño lógico con PLD consta de tres etapas: diseño lógico, implementación del diseño y verificación del diseño. Luego, resume las características clave de los programas OPAL, ABEL y CUPL, que son algunos de los más utilizados para la programación de lógica programable.
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12
MTODOS DE DISEO DE LGICA PROGRAMABLE
El proceso de diseo lgico con PLD se resume en tres grandes etapas:
1. DISEO LGICO 2. IMPLEMENTACION DEL DISEO 3. VERIFICACIN DEL DISEO. DISEO LGICO Dentro de la primera etapa, los pasos involucrados son los mismos que en cualquier diseo digital, combinatorio o secuencial, y se pueden subdividir en los pasos siguientes: Definir el problema. Generar un diagrama de bloques. Obtener tabla de verdad. Derivar ecuaciones lgicas que describen la operacin del diseo. IMPLEMENTACIN DEL DISEO La implementacin del diseo consiste en seleccionar y usar las herramientas, tanto de hardware y software, necesarias para la traduccin de los resultados a un mapa de fusibles para la programacin del chip. Esta fase consiste en: Seleccin del PLD. Hacer archivo de ecuaciones Correr el software, como por ejemplo el PALASM, ABEL, CUPL, etc. para generar el archivo JEDEC (mapa de fusibles). Configurar programador universal. Programar chip. VERIFICACIN DEL DISEO La etapa final consiste en la verificacin del diseo en la cual la correcta programacin del PLD es comprobada, por medio de tcnicas de simulacin. Los pasos de la verificacin son: Generacin de vectores de prueba. Simulacin del funcionamiento del pld en la computadora. Prueba funcional del dispositivo. Documentacin del diseo.
TIPOS DE PROGRAMAS PARA PROGRAMACIN DE LGICA PROGRAMABLE OPAL (OPEN PROGRAMMABLE ARCHITECTURE LANGUAGE- LENGUAJE ABIERTO DE ARQUITECTURAS PROGRAMABLES) En este lenguaje, se ofrece al diseador usar lenguaje de mquinas de estado, ecuaciones booleanas multi-nivel, as como funciones de tabla de verdad, etc. Esto le proporciona libertad para seleccionar la implementacin que mejor se adapte a las especificaciones del diseo. Este software consiste de una serie de mdulos que aceptan un formato como entrada, y crea otro formato como salida. Los archivos creados por el OPAL usan las extensiones para describir el formato. Por ejemplo, el mdulo OPL2PLA requiere un archivo *.opl, y genera un archivo PLA, *.pla. Los nombres de los mdulos son fciles de recordar, porque ellos describen la accin que el mdulo realiza. El paquete de software OPAL permite descripciones lgicas genricas que sern sintetizadas dentro de dispositivos especficos sin conocer a detalle la arquitectura del dispositivo. El OPAL, en lugar de solo proporcionar independencia del dispositivo, tambin proporciona herramientas independientes. Esto resulta en un alto aprovechamiento del sistema, el cual da al diseador visibilidad y control sobre cada paso del diseo lgico y proceso de implementacin.
ABEL (ADVANCED BOOLEAN EXPRESSION LANGUAGE- LENGUAJE AVANZADO DE EXPRESIONES BOOLEANAS) ABEL es una marca registrada de Data I/O Corporation, permite implementar diseos lgicos en dispositivos lgicos programables. Puede ser utilizado para programar cualquier tipo de PLD y, por tanto, es un lenguaje independiente del dispositivo. El lenguaje ABEL se ejecuta en un computador conectado a un programador de dispositivos, independiente del lenguaje, en el que se inserta el PLD. Aun cuando la mayora de los PLD pueden programarse fsicamente slo con expresiones de suma de productos, lenguajes como ABEL permiten que las ecuaciones PLD se escriban casi en cualquier formato; el compilador manipula algebraicamente y minimiza las ecuaciones para ajuste, si es posible, dentro de la estructura PLD disponible. Estructura interna A continuacin se presenta la estructura tpica de un programa en el lenguaje ABEL y un ejemplo del mismo: Estructura: module nombre del mdulo [title string] [deviceID device deviceType;] declaraciones de pin otras declaraciones equations ecuaciones [Test_Vectors] tested vectores end nombre de mdulo En la estructura se identifican las siguientes caractersticas: Un archivo de programa comienza con el enunciado module, que asocia un nombre (por ejemplo: Decodificador_de_Memoria) con el mdulo del programa. Los programas grandes pueden tener mltiples mdulos, cada uno con su propio ttulo local, declaraciones y ecuaciones. El nombre del mdulo puede ser cualquier identificador vlido.
Los identificadores deben comenzar con una letra o un guin, pueden contener hasta 31 letras, dgitos y guiones, y son distinguibles las minsculas y maysculas. El enunciado title especifica una cadena como un ttulo que se insertar en los archivos de documentacin que sean creados por el compilador. Una cadena es una serie de caracteres encerrados entre comillas simples. La declaracin device incluye un identificador de dispositivo (por ejemplo: `P16L8' para un PAL16L8). El compilador usa el identificador del dispositivo en los nombres de los archivos de documentacin que genera, y usa el tipo de dispositivo para determinar si ste puede en realidad realizar las funciones lgicas requeridas en el programa. La directiva @ALTERNATE le dice al compilador que reconozca un conjunto alterno de smbolos para denotar las operaciones lgicas; los cuales se presentan a continuacin:
Por ejemplo, la siguiente expresin lgica: Y= ( + B + + D) (A + B + E) en lenguaje ABEL sera: Y= (!A # B # !E # D) & (A # B # E) Los comentarios comienzan con una doble comilla y terminan con otra doble comilla o el fin de la lnea, lo que ocurra primero. Las declaraciones de terminales le indican al compilador los nombres simblicos asociados con las terminales externas del dispositivo. Las seales cuyos nombres tienen el prefijo NOT (/) son activas bajas en la terminal externa; las otras son activas altas. Otras declaraciones permiten al diseador definir constantes y macros para simplificar el diseo del programa y mejorar su legibilidad. El enunciado equations indica qu ecuaciones lgicas definen seales de salida como funcin de las seales de entrada que correspondan. El enunciado end marca el fin del mdulo. Compilador Comprueba la sintaxis. Comprueba la suficiencia de patillas. Expande las ecuaciones. Reduce las ecuaciones a suma de productos segn la arquitectura del PLD. Hace un chequeo de los vectores de test vs ecuaciones. Chequea los requerimientos impuestos por las ecuaciones en cuanto al nmero de patillas, trminos de producto con los disponibles en la PLD concreta. Finalmente determina el patrn necesario para programar la PLD.
CUPL (COMPILER UNIVERSAL PROGRAMMABLE LOGIC-COMPILADOR UNIVERSAL DE LGICA PROGRAMABLE) El lenguaje de programacin CUPL se basa en ficheros con la extensin PLD, que con- tienen la definicin del programa que se desea que ejecute el dispositivo programable. Cuando son abiertos, desde el programa WinCUPL, como proyecto, se abrirn adems los ficheros de simulacin y compilacin que tengan su mismo nombre. Si la compilacin se produce con xito, y si se ha seleccionado un dispositivo fsico concreto (distinto de virtual), entonces se generarn una serie de ficheros, dependiendo de las opciones de compilacin elegidas. De entre ellos, destacamos: Fichero de mapa de fusibles: Con extensin .JED, incluye la informacin necesaria para que el programador de dispositivos lgicos pueda programar la PLD correspondiente. La in-formacin contenida, en ASCII, representa la matriz de fusibles con lo que resulta, de alguna manera, legible. Fichero de documentacin: Con extensin .DOC incluye, segn las opciones que hayamos elegido, informacin de las ecuaciones expandidas y minimizadas, el nmero de trminos producto usado para cada variable, el mapa de fusibles, e incluso el pin-out del dispositivo una vez programado. En caso de simular el circuito, se generarn los ficheros con extensin .SI, en el que se guardan los estmulos definidos, y el fichero .SO, en el que se almacena el resultado de la simulacin. RESUMEN DE LAS CARACTERSTICAS DE LOS TIPOS DE PROGRAMAS PALASM (PAL ASSEMBLER-ENSAMBLADOR DE PAL) Creado por la compaa Advanced Micro Devices(AMD) Desarrollado nicamente para aplicaciones con dispositivos PAL Acepta el formato de ecuaciones booleanas Utiliza cualquier editor que grabe en formato ASCII OPAL Desarrollado por National Semiconductors Se aplica en dispositivos PAL y GAL Formato para usar lenguaje de mquinas de estado, ecuaciones booleanas de distintos niveles, tablas de verdad, o cualquier combinacin entre ellas. Disponible en versin estudiantil y profesional (OPAL Jr y OPAL Pro) Genera ecuaciones de diseo partiendo de una tabla de verdad. PLPL (PROGRAMABLE LOGIC PROGRAMMING LANGUAGE: LENGUAJE DE PROGRAMACIN DE LGICA PROGRAMABLE) Creado por AMD Introduce el concepto de jerarquas en sus diseos. Formatos mltiples (ecuaciones booleanas, tablas de verdad, diagramas de estado y las combinaciones entre stos) Aplicaciones en dispositivos PAL y GAL.
ABEL Creado por Data I/O Corporation Programa cualquier tipo de PLD (Versin 5.0) Proporciona tres diferentes formatos de entrada: ecuaciones booleanas, tablas de verdad y diagramas de estados. Es catalogado como un lenguaje avanzado HDL (lenguaje de descripcin en hardware)
CUPL Creado por AMD para desarrollo de diseos complejos. Presenta una total independencia del dispositivo. Programa cualquier tipo de PLD. Facilita la generacin de descripciones lgicas de alto nivel. Al igual que ABEL, tambin es catalogado como HDL.
CAMPOS DE APLICACIN DE LA LGICA PROGRAMABLE
La lgica programable es una herramienta de diseo muy poderosa, que se aplica en el mundo industrial y en proyectos universitarios en todo el mundo. En la actualidad se usan desde los PLD ms sencillos (como el GAL, PAL, PLA) como reemplazos de circuitos LSI y MSI, hasta los potentes CPLD y FPGA, que tienen aplicaciones en reas como telecomunicaciones, computacin, redes, medicina, procesamiento digital de seales, multiprocesamiento de datos, microondas, sistemas digitales, telefona celular, filtros digitales programables, entre otros. En la actualidad, los CPLD son muy utilizados a nivel industrial, ya que resulta fcil convertir diseos compuestos por mltiples PLD sencillos en un circuito CPLD.
LENGUAJES DE DESCRIPCIN DE HARDWARE Como se apreci en el mtodo anterior de programacin, no soluciona mucho el problema de la complejidad a la hora de implementar un circuito ya que se emplea el lgebra booleana en esencia. Lo que nos trae a la siguiente etapa los HLD (lenguajes de descripcin de hardware) cuyo objetivo es simplificar el trabajo an ms y realizar tareas con mayor complejidad. Como consecuencia de la creciente necesidad de integrar un mayor nmero de dispositivos en un solo circuito integrado, se desarrollaron nuevas herramientas de diseo en un solo circuito integrado, se desarrollaron nuevas herramientas que auxilian al ingeniero a integrar sistemas muy completos. Esto permiti que en la dcada de los 50 aparecieran los HDL como una opcin de diseo para el desarrollo de sistemas electrnicos elaborados. Por poseer una sintaxis parecida a la de un lenguaje de alto nivel, ste tipo de descripcin es muy aceptado por diseadores. Los HDL ms utilizados son: ABEL, Advanced Boolean Expression Language. VHDL, Very High Hardware Description Language VERILOG Una de las principales caractersticas de estos lenguajes radica en su capacidad para describir en distintos niveles de abstraccin (funcional, transferencia de registros y lgico o nivel de compuertas). Dichos niveles sirven para clasificar modelos HDL segn el grado de detalle y precisin de sus descripciones. Los niveles de abstraccin descritos desde el punto de vista de simulacin y sntesis del circuito pueden definirse como sigue: Algortmico: Se refiere a la relacin funcional entre las entradas y salidas del circuito o sistema, sin hacer referencia a la realizacin final. Transferencia de registros (RT): Consiste en la participacin del sistema en bloques funcionales sin considerar a detalle la realizacin final de cada bloque. Lgico o de compuertas: El circuito se expresa en trminos de ecuaciones lgicas o de compuertas. Debido a una similitud con el lenguaje de programacin Visual Basic y algunos otros, se opt por VHDL, el cual nos proporciona una alta confiabilidad.
VHDL En la actualidad, el lenguaje de descripcin en hardware ms utilizado a nivel industrial es VHDL, que apareci la dcada de los ochenta como un lenguaje estndar, capaz de soportar el proceso de diseo de sistemas electrnicos complejos, con propiedades para reducir el tiempo de diseo y los recursos tecnolgicos requeridos. El departamento de la defensa de Estados Unidos cre el lenguaje VHDL; luego de varias versiones revisadas, el IEEE (Instituto de Ingenieros Electrnicos y Elctricos) public en diciembre de 1987 el estndar IEEEstd. Ventajas del desarrollo de circuitos integrados con VHDL Ventajas de usar VHDL en un circuito integrado: Notacin formal. Los circuitos permite su uso en cualquier diseo electrnico. Disponibilidad pblica. Es un estndar no sometido a patente, por lo que cualquiera puede utilizarla sin restricciones. Independencia tecnolgica de diseo. Se dise para soportar diversas tecnologas. (PLD, FPGA, ASIC, etc.). Independencia de la tecnologa y proceso de fabricacin. Se cre para que fuera independiente de la tecnologa y el proceso de fabricacin del circuito. Capacidad descriptiva en distintos niveles de abstraccin. Consta con varios niveles de detalla, desde la especificacin hasta la implementacin; se pueden combinar a lo que se le conoce simulacin multinivel. Uso como formato de intercambio de informacin. Permite el intercambio de informacin a o largo de todas las etapas del proceso. Independencia de los proveedores. Permite que las descripciones sean accesibles desde cualquier lugar. Reutilizacin del cdigo. Permite reutilizar los cdigos en diversos diseos, sin importar si es (CMOS, bipolar, etc.) o implementado en (FPGA, ASIC, etc.). Facilitacin de la participacin en proyectos internacionales.
Desventajas del desarrollo de circuitos integrados con VHDL Como se puede observar, VHDL presenta grandes ventajas; sin embargo, es necesario mencionar tambin algunas desventajas que muchos diseadores consideran importantes: En algunas ocasiones, el uso de una herramienta provista por alguna compaa en especial tiene caractersticas adicionales al lenguaje, con lo que se pierde tin poco la libertad de diseo. Como mtodo alternativo, se pretende que entre diseadores que utilizan distintas herramientas exista una compatibilidad en sus diseos, sin que esto requiera un esfuerzo importante en la traduccin del cdigo. Debido a que VHDL es un lenguaje diseado por un comit, presenta una alta complejidad, ya que se debe dar gusto a las diversas opiniones de los miembros de ste, por lo que resulta un lenguaje difcil de aprender para un novato.
REFERENCIAS Libros:
VHDL El arte de programar sistemas digitales, David G. Maxinez y Jessica Alcal. CECSA primera edicin, 2002. Aplicaciones del diseo lgico programable. Tesis del Ing. Miguel ngel Gutirrez Zamarripa. 1999. Fundamentos de Lgica Digital con Diseo VHDL, Stephen Brow y Zvonko Vranesic, McGraw Hill, 2da Edicin 2006. Pginas web: http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/SisDig2- Ses/UMD/Unidad%20I/UIndDel.htm http://es.scribd.com/doc/23601525/Programacion-en-CUPL http://www.iuma.ulpgc.es/~roberto/asignaturas/EI/transparencias/EI_ABEL.pdf http://www.el.bqto.unexpo.edu.ve/~ltarazona/digitales/tema5A_4.pdf
RECURSOS EXTRA http://html.rincondelvago.com/lenguaje-de-programacion-abel.html