Вы находитесь на странице: 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

Вам также может понравиться