Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NOMBRE DE LA DURACIÓN
PRÁCTICA No. LABORATORIO DE
PRÁCTICA (HORA)
Programación de memoria
7 Eléctrica y Electrónica
PLD en WinCUPL
2
1 OBJETIVOS
Iniciar el uso del software WinCUPL para construir circuitos combinacionales
Explicar mediante un ejemplo el proceso de programación de un PLD, retomando los
conceptos de la práctica 4 que corresponde a un sumador completo.
2 INTRODUCCIÓN
En esta práctica se introduce el uso y manejo del software WinCUPL, desde la
escritura del programa con WinCUPL, hasta la programación hardware.
Proporcionando un ejemplo para un dispositivo programable muy popular: el
GAL16V8. En la última parte se incluye un conjunto de recomendaciones útiles a la
hora de la programación con WinCUPL.
Figura 7.2 Ejemplo de formato usado para el archivo de entrada CUPL, modo de ecuación booleana
1.- Una vez abierto el programa, abre el archivo de entrada (escrito previamente en
cualquier procesador de textos) a través del menú principal File-Open. A
continuación compila, con la opción Run-Device Dependent Compile, indicada por
la flecha en la figura 7.4, que también incluye la pantalla obtenida tras una
compilación realizada con éxito.
Si la compilación finaliza con éxito se genera el archivo .JED, que será el que
utilizaras en el programa posterior para grabar en el PLD. En caso de error,
aparecen los mensajes correspondientes en la ventana de mensajes (messages).
Si esta ventana no aparece directamente, la visualizas con la opción Window-
Message.
El compilador genera siempre (incluso cuando haya errores) el archivo .DOC con
información sobre el programa del PLD, como por ejemplo, la función lógica
implementada en cada salida. Entre la información incluida en este fichero está el
número de productos que necesita la función implementada en cada salida, así
como el número de productos disponibles en dicha salida. Si el número de
productos disponibles, como pasa en el ejemplo de la figura 7.5, es menor que el
número de productos necesarios el programa no compilará.
En ese caso, verifica si es posible hacer una reasignación de pines, de forma que
en todas las salidas el número de productos necesarios sea menor al número de
productos disponibles, como en el fragmento mostrado en la figura 7.6
Este proceso se repite hasta que no haya más errores o advertencias. En ese
punto, el diseño se puede probar usando un simulador. Entonces, el diseño lógico
se simula utilizando un conjunto de entradas hipotéticas conocidas como vectores
de prueba. Este proceso “ejercita”, de forma efectiva, el diseño por software para
determinar si trabaja correctamente, antes de programar realmente el PLD. Si se
descubre cualquier defecto de diseño durante la simulación, el diseño debe
depurarse y modificarse para corregir dicho defecto. Una vez terminado el diseño,
el compilador genera un archivo de documentación, que incluye las ecuaciones
lógicas finales, el archivo JEDEC y, si se desea un diagrama de los pines del PLD.
B DESARROLLO EN EL LABORATORIO
Para este ejercicio realiza el diseño de un sumador de 4 bits, utilizando el GAL16V8
el cual tiene ocho entradas dedicadas y ocho entradas/salidas (E/S), como muestra
el diagrama de la figura 7.7.
Name sumador4bits.pld;
Designer usuario ;
Partno practica6 ;
Company UJAT ;
Date enero/31/2008 ;
Assembly ninguna ;
Revision 01 ;
Location DAIA ;
Device p16v8 ;
Format j ;
/*Definiciones de CONJUNTOS */
Cout = A&B # A&Cin # B&Cin; /*Una ecuacion define los cuatro bits de acarreo de salida*/
S = A$(B$Cin); /*Esta ecuacion define el conjunto de 4 bits de la suma*/
Paso No. 3. Una vez abierto el archivo de entrada procede a compilarlo tal como se
indica en la figura 7.4 de la simulación en WinCUPL.
a) b)
Figura 7.10 a) Vista del programador b) Forma correcta de insertar el dispositivo en el programador
Según este diagrama de bloques, la elección del dispositivo es el primer paso, para
el cual selecciona la opción Device del menú principal, después PLD y por último, el
PLD, PAL16V08Q de ATMEL. Si el dispositivo elegido no es correcto mostrará un
mensaje de error, y debes modificar la selección. En caso de elección correcta
veras una pantalla como la de la figura 7.13
Fabricante (ATMEL)
Dispositivo
seleccionado
Tipo de encapsulado
Información del
dispositivo
Llegado a este punto, selecciona File, Load JEDEC File, y carga el .JED generado
en la compilación. Por último, pulsamos Program y se programará (quemará) el
PLD.
Recomendaciones
El WinCUPL incluye un directorio de ejemplos (examples) que pueden
utilizarse para familiarizarse con la sintaxis.
El WinCUPL NO admite la letra 'ñ' ni acentos, en ningún punto del programa
(ni siquiera en los comentarios). La presencia de cualquiera de estos
caracteres provocará la salida inmediata del programa cuando se intente
compilar, sin producir ningún fichero de salida ni ningún mensaje de error.
Tras la última línea de programa, en el fichero .PLD debes escribir al menos
2 retornos de carro. Si no lo haces, el programa no compilará.
Al programar con el WinCUPL es necesario tener en cuenta que en la
instrucción field posicion=[q3..0]; el orden de los términos q3 a q0 va a ser
siempre q3,q2,q1,q0, INDEPENDIENTEMENTE DEL ORDEN EN QUE LOS
SITUES, (¡sólo en esa instrucción!). Es decir, es lo mismo field
posicion=[q3..0]; que field posicion=[q0..3]; y el orden va a ser el indicado
anteriormente.
La cabecera del fichero de simulación (.si) debe ser exactamente la misma
que la del fichero .pld. En esta cabecera, se debe indicar que el Device es
"p16v8" (sin las comillas) y en Name se pondrá el mismo nombre que tiene
el fichero (sin la extensión).
Cuando utilizas la opción para programar mediante tabla de verdad es
necesario incluir todas las posibles combinaciones binarias de las entradas,
incluso las que nunca vayan a utilizarse en el circuito.
Algunas veces, al intentar compilar se muestra un mensaje de error
indicando que falta una dll. En esos casos se seguirán los siguientes pasos:
Option, Compiler options, Select library, y se seleccionará cupl.dl del
directorio donde esté instalado CUPL.
Si en las opciones de compilación (Alt-O) se activan "Simulation" y "Show
waveform" harás de una vez la compilación y la simulación, además al final
saldrá una ventana con el cronograma de las señales implicadas en la
simulación. MUCHO OJO cuando vayas a cerrarla, porque suele quedar
abierta también otra ventana por detrás. Si no se cierran TODAS las
ventanas antes de hacer la siguiente compilación, esta no se realizará
correctamente y tendrás que cerrar el WinCUPL y volver a abrirlo.
5 PREGUNTA S
1. Los dispositivos PLD pueden clasificarse como
(a) combinacionales y secuenciales
(b) programables y no programables
(c) programables una única vez y reprogramables
(d) PROM, PLA, PAL y GAL
(e) las respuestas (a) y (c)
(f) las respuestas ( c ) y (d)