Sie sind auf Seite 1von 8

Universidad del Valle de Mxico Campus Cuernavaca

Dispositivos lgicos secuenciales

PRCTICAS PROPUESTAS PARA GALS primer programa en WinCUPL.


Que es WinCUPL? Es un potente compilador lgico para diseos realizados en Dispositivos Lgicos Programables especficos, simples y complejos. El Universal Compiler Programmable Logic tiene una IDE (Integrated Development Enviroment) y un Simulador llamado WinSIM creados para la edicin, el diseo y comprobacin de programacin de dispositivos (como PLD y FPGA).

Como crear mi primer programa? Primero necesitamos tener algo que resolver, en este caso una funcin lgica dada por . Empecemos: Una vez instalada la aplicacin, buscamos el programa programas en ATMEL WINCUPL dando click en WinCUPL. ejecutable en mis

Ing. Rafael Durn Campoamor

Pgina 1

Universidad del Valle de Mxico Campus Cuernavaca

Dispositivos lgicos secuenciales

A continuacin se abrir la siguiente ventana.

Abrimos un nuevo proyecto en File y se abre el siguiente cuadro de dialogo y en nombre escribimos primero.

Ing. Rafael Durn Campoamor

Pgina 2

Universidad del Valle de Mxico Campus Cuernavaca

Dispositivos lgicos secuenciales

Despues aparecern 3 ventanas en el siguiente orden: pins de entrada, pins de salida y pinnodess, en ellos detallaremos el nmero de entradas a utilizar, as como su salida correspondiente.

Como tenemos 3 variables, seleccionamos 3 Entradas.

Como solo contamos con una salida, Escribimos 1.

En pinnodess podemos dar 0 y continuar.

Ing. Rafael Durn Campoamor

Pgina 3

Universidad del Valle de Mxico Campus Cuernavaca

Dispositivos lgicos secuenciales

Una vez completado el procedimiento anterior, aparece ya mi ventana de edicin con los datos proporcionados anteriormente.

Ing. Rafael Durn Campoamor

Pgina 4

Universidad del Valle de Mxico Campus Cuernavaca

Dispositivos lgicos secuenciales

Declaramos los pines del GAL 16v8a que contiene la siguiente configuracin: 1 clk/in0; 2 a 9 input in1 a in8; 11 OE; 12-19 IO0 a IO7; 10 gnd y 20 Vcc. Como solo necesitamos 3 entradas y una salida, seleccionamos 1,2 y 3 como entradas a,b y c respectivamente, y 12 como salida.

La funcin de salida f se escribe como sigue: f= (!a & b) # (a & !c); en donde ! es la not, & es la and y # es la or.

Ing. Rafael Durn Campoamor

Pgina 5

Universidad del Valle de Mxico Campus Cuernavaca

Dispositivos lgicos secuenciales

Ahora basta compilar el programa para un dispositivo definido seleccionado en men Options.

Se deber crear un archivo con extensin .jed o jedec dependiendo de la aplicacin y este ser el que carguemos en el programador.

Ing. Rafael Durn Campoamor

Pgina 6

Universidad del Valle de Mxico Campus Cuernavaca

Dispositivos lgicos secuenciales

Ahora unos ejemplo de cmo generar todas las funciones lgicas bsicas con ese mismo GAL 16V8A.
Name Partno Revision Date Designer Company Location Assembly Device Gates; CA0001; 04; 9/12/89; G. Woolhiser; Logical Devices, Inc.; None; None; g16v8a;

***************************************************************/ /* * Inputs: define inputs to build simple gates from */ Pin 1 = Pin 2 = a; b;

/* * Outputs: */ Pin Pin Pin Pin Pin Pin Pin Pin 12 13 14 15 16 17 18 19 = = = = = = = =

define outputs as active HI levels

inva; invb; and; nand; or; nor; xor; xnor;


Pgina 7

Ing. Rafael Durn Campoamor

Universidad del Valle de Mxico Campus Cuernavaca

Dispositivos lgicos secuenciales

/* * Logic: */ inva invb and nand or nor xor xnor = = = = = = = = !a; !b; a & !(a a # !(a a $ !(a

examples of simple gates expressed in CUPL

/* inverters */ b; & b); b; # b); b; $ b); /* /* /* /* /* /*


6 5 4

DSW1
OFF ON

and gate */ nand gate */ or gate R9 */ R10 10k nor gate */10k exclusive or gate */ U1 CLK/I0 exclusive nor1 gate */ 2
1 2 3 3 4 5 6 7 8 9 11 I1 I2 I3 I4 I5 I6 I7 I8 OE/I9 IO0 IO1 IO2 IO3 IO4 IO5 IO6 IO7

DIPSW_3

19 18 17 16 15 14 13 12

AM16V8

R11
10k

R1
330

R2
330

R3
300

R4
330

R5
330

R6
330

R7
330

R8
330

A'

B'

AND

NAND

OR

NOR

XOR

XNOR

Ing. Rafael Durn Campoamor

Pgina 8

Das könnte Ihnen auch gefallen