You are on page 1of 8

Uso de wincupl

Antes de comenzar a usar Wincupl debemos elegir el dispositivo PLD a utilizar verificando que
dispone de todas las patillas que nuestro diseo necesita: Nentradas, Nsalidas, clear, clock, etc.

Nosotros utilizaremos:

Al abrir WinCupl veremos las siguientes barras: de mens y de herramientas.

En la barra de mens pulsamos File > New > Design File con lo que se abrir la siguiente ventana:

En Device cambiamos virtual por g22v10 (para generar el archivo .jed), mientras que en Name
nombraremos nuestro archivo de diseo, hecho esto presionamos OK.
Aparecer una pequea ventana titulada INPUT PINS, en la que pondremos el numero de pines de
entrada que necesitemos, en nuestro caso 3, presionamos OK; nos saldr otra ventana titulada
OUTPUT PINS donde pondremos el numero de patillas destinadas a ser salidas, escribiremos 7,
presionamos OK; se abrir otra titulada PINODES que no modificaremos, pulsaremos OK
.

finalmente nos saldr el espacio de trabajo.

En el espacio de trabajo aparecern los datos que ya hemos rellenado, pero que podrn ser
modificados fcilmente si as se requiere.
Vemos que los pines de entrada (INPUT PINS) y salida (OUTPUT PINS) an no estn definidos,
es decir, no hemos escogido los nmeros de patillas a utilizar ni sus nombres de variable, por lo
que procederemos a rellenar estos datos.
Como ya habamos mencionado, utilizaremos los pines del 1 al 3 como entradas, por lo que
pasamos a escribir los nmeros de esas patillas con sus respectivos nombres de variable, lo cual nos
servir para efectuar las posteriores ecuaciones lgicas que determinarn la funcin del dispositivo.
Para las salidas usaremos los pines del 14 al 20, realizando el mismo procedimiento que con las
entradas, con lo que obtendremos un espacio de trabajo similar a ste:

Para realizar las ecuaciones lgicas de las operaciones booleanas correspondientes, debemos saber
como se representan los operadores lgicos en WinCupl:

Las ecuaciones lgicas nos quedaran as:

and = a & b & c ;


nand = !(a & b & c) ;
or = a # b # c ;
nor = !(a # b # c) ;
xor = a $ b $ c ;
xnor = !(a $ b $ c) ;
nota = !a ;

Por lo que finalmente, nuestro espacio de trabajo sera similar a este:

Pasamos a compilar el cdigo para generar el archivo .jed, que como ya habamos mencionado,
es el utilizado por el programador para grabar la GAL22V10. Antes de esto, debemos
asegurarnos de que en Options > Compiler , en la barra de men, est activado lo siguiente:
en la pestaa Output Files, en el recuadro Download, debe estar activado la opcin JEDEC
como lo vemos a continuacin:

Mientras que en la pestaa General debe estar activada la opcin JEDEC name = PLD name
(aunque no se active esta casilla la mayora de las veces se genera el archivo .jed, aunque en
algunas ocasiones es necesario activarla para poder generar el archivo).
Hecho lo anterior, compilamos el cdigo mediante Run > Device Dependent Compile, por lo
que en la ventana de la derecha obtendremos los archivos generados despus de la compilacin,
entre ellos el .jed.

Ahora que hemos obtenido el archivo.jed, podremos simular nuestro circuito


en un programa como Proteus grabarlo directamente en el programador.

Uso de winsim
Antes de usar el winsim necesitamos tener el archivo.pld que se crea con el programa wincupl.

Presionar el botn de la funcin winsim dentro del wincupl o bien abrirlo desde la barra de inicio.

Saldr una ventana nueva en la que seleccionaremos New dentro de: File New

y aparecer otra ventana en la que presionaremos en Design File....

En la nueva ventana buscaremos el archivo.pld que hemos generado con WinCupl y presionamos
OK, por defecto este archivo se guarda en la carpeta WinCupl,.

Entonces se abrir el programa WinSim con extensin . si y presionamos el botn Add signal.

Agregamos las entradas y salidas que deseemos visualizar presionando OK, terminado esto
seleccionamos Done para regresar a la ventana principal del programa.

Ahora tendremos un esquema, tipo cronograma, de las entradas y salidas que hemos seleccionado,
entonces presionaremos el botn Add Vector para visualizar ms estados lgicos.

n
En concreto, aadiremos 2 1

entradas, siendo n el nmero de variables, en nuestro caso 3.

Lo que prosigue es cambiar el valor de las entradas. Esto se hace presionando el botn derecho del
ratn y seleccionando el valor lgico deseado ya sea 1, 0, H, L, Z, etc. Tambin se puede con:

Con los valores lgicos asignados a las entradas corresponde activar la simulacin presionando el
botn Simulate.

Aparecer una ventana con los resultados de la compilacin necesaria para la simulacin donde
presionaremos OK.

Solo nos queda con observar los resultados y comprobar que son los esperados.

Con este programa evitaremos programar en vano la PLD, corrigiendo previamente los errores que
hayamos cometido, ya sean de sintaxis, o bien, de diseo en nuestro programa.

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 ningn 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 ningn fichero de salida ni ningn mensaje de
error.
Tras la ltima lnea de programa, en el fichero .PLD debemos escribir al menos 2 retornos de
carro. Si no lo hacemos, el programa no compilar.
Al programar con el WinCUPL es necesario tener en cuenta que en la instruccin field
posicion=[q3..0]; el orden de los trminos q3 a q0 va a ser siempre q3,q2,q1,q0,
INDEPENDIENTEMENTE DEL ORDEN EN QUE LOS SITUEMOS.
(slo en esa instruccin!!!!!).
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 simulacin (.si) debe ser exactamente la misma que la del fichero .pld.
En esta cabecera, se debe indicar que el Device es "p22v10" (sin las comillas) y en Name se pondr
el mismo nombre que tiene el fichero (sin la extensin).
En las tablas 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 nos muestra un mensaje de error indicndonos que nos
falta una dll. En esos casos se seguirn los siguientes pasos:
Option, Compiler options, Select library, y se seleccionar culp.dl del directorio donde est
instalado CULP.
Si en las opciones de compilacin (Alt-O) se activan "Simulation" y "Show waveform" har de
una vez la compilacin y la simulacin, adems al final saldr una ventana con el cronograma de
las seales implicadas en la simulacin. MUCHO OJO cuando vayamos a cerrarla, porque suele
quedar abierta tambin otra ventana por detrs. Si no se cierran TODAS las ventanas antes de hacer
la siguiente compilacin, esta no se realizar correctamente y tendremos que cerrar el WinCUPL y
volver a abrirlo.
Es necesario introducir una seal de reloj a los biestables de la PAL cuando funciona como
elemento secuencial. Esta seal debe se introduce en el pin 1 de la PAL.
La caracterstica Power Up Reset de la PAL hace que tras alimentar el sistema todos los
biestables de la PAL tengan salida 0, es decir, el estado en el que la PAL comienza siempre es el 0.
Esta circunstancia debe ser considerada en la programacin de la PAL: se debe incluir siempre ese
estado inicial y gestionar las transiciones oportunas.

You might also like