You are on page 1of 17

Leccin 2.1.

CUPL Introduccin
Objetivo: Lenguaje CUPL Asignaturas: Dispositivos Lgicos Programables (5 de Ing. Telecomunicacin) Autor: Juan Carlos Campo
Bibliografa: Manual Protel99. Altium

Cabecera
NAME CLASE1; DATE 20/10/2004; PARTNO ; REVISION ; DESIGNER ; COMPANY ; ASSEMBLY ; LOCATION ; DEVICE p16l8;

Comentarios
/* esto es un comentario */
Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Definicin de pines
/*ENTRADAS*/ PIN 1= A0; PIN 2= A1; PIN 3= A2; PIN 4= A3; /*SALIDAS*/ PIN 19= G; PIN 18= F;
Para dispositivos virtuales no se indica el nmero Las variables no pueden tener espacios y distingue maysculas de minsculas

Definicin de campos

FIELD ENT=[A3..0];
Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Operadores lgicos

OPERADOR ! & # $

EJEMPLO !A A&B A#B A$B

FUNCIN NOT AND OR XOR

PRECEDENCIA 1 2 3 4

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Definicin de tablas de verdad


FIELD ENT=[A3..0]; FIELD SAL=[P0..3]; TABLE ENT=>SAL { 0=>7; 1=>0; 2=>6; 3=>9; 4=>C; 5=>D; 6=>F; 7=>8; 8=>E; 9=>E; A=>E; B=>8; C=>2; D=>C; E=>2; F=>2; }

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Formato de los nmeros


Por defecto hexadecimal, excepto pines de los nmeros y variables indexadas Nmero b1101 O663 D92 hBA O[300..477] H7FXX Base binaria Octal Decimal Hexadecimal Octal Hexadecimal Valor decimal 13 435 92 186 192..314 35512..32767

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Operadores aritmticos
Operador ** * / % + Descripcin Potencia Multiplicacin Divisin Mdulo Suma Resta Ejemplo 2**3 435 4/2 9%8 2+4 4-1

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Ejemplo
Realizar un programa en CUPL para la PAL16L8 que haga las funciones de decodificador BCD a 7 segmentos

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Simulacin
Fichero .si Cabecera: idntica a CUPL Comentarios: igual que en CUPL

Simulacin: ORDER
ORDER: A0, A1, A2;

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Simulacin: VECTORS
ORDER: A0, A1, A2; /*A0 Y A1 entradas A2 salida*/ VECTORS: 00* 01* Valor Descripcin
0 1 C K L H Z N P R * Entrada a 0 Entrada a 1 Entrada reloj, 0, 1, 0 Entrada reloj, 1, 0, 1 Testea salida a 0 Testea salida a 1 Testea salida a alta impedancia No testeada Precarga registros internos Generacin aleatoria Salida a determinar

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Ejemplo
Aadir el fichero de simulacin para el decodificador Realizar un programa que calcule el cuadrado de un nmero de entrada de tres bits

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Leccin 2.2. CUPL (2 parte)


Objetivo: Lenguaje CUPL Asignaturas: Dispositivos Lgicos Programables (5 de Ing. Telecomunicacin) Autor: Juan Carlos Campo
Bibliografa: Manual Protel99. Altium
Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Extensiones de las variables


.AP .AR .CK .CE .D .DFB .DQ .J .K .OE .R .S .T Preset asncrono de un biestable Reset asncrono de un biestable Reloj programable de un biestable Enable reloj biest. D que lo incorporan Entrada D de un biestable D Salida realimentacin biestable D Salida Q de un biestable D Entrada J de un biestable JK Entrada K de un biestable JK Enable de una salida programable Entrada R de un biestable RS Entrada S de un biestable RS Entrada T de un biestable T

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Extensin .OE

Ejemplo: PIN 19= A; A.OE=1;

/* PIN DE SALIDA */ /* LO CONFIGURA COMO SALIDA */ /* El compilador lo hace automticamente viendo el uso que se hace del pin */

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Extensin .D

Ejemplo: Realizar un contador ascendente de 2 bits con reset para la PAL16R8

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Extensin .D
.AP .AR

.CE

.CK

.DFB

.J .K

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

Comandos CUPL Comando


$DEFINE argument $UNDEF argument $INCLUDE file

Ejemplo

$DEFINE PORTC 'h'3F0

$INCLUDE fichero.pld

$MACRO name argument1 argument2...argumentn; macro function body $MEND $MACRO mifun ent1 ent2 sal; sal=ent1#ent2; $MEND mifun(in1, in2, out); /* llamada a macro */ $REPEAT index=[number1,number2,_numbern] repeat body $REPEND $REPEAT i = [0..7] !out{i} ='h'{i} & enable; $REPEND

Ingenieros de Telecomunicacin. Dispositivos Lgicos Programables. Universidad de Oviedo

You might also like