Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial Cupl PDF
Tutorial Cupl PDF
co 1
TUTORIAL
CUPL
(actualizado 11/07/2005)
En este documento encontrará una ayuda para el manejo del software para el
diseño, simulación e implementación en una GAL22V10 de circuitos digitales.
1. ABRIR EL PROGRAMA
Se da un clic en inicio-programas-CUPL starter kit, luego clic en el
icono CUPL.
Figura. Nº 1.
Figura. Nº 2.
Aparece en pantalla una plantilla que será útil para la elaboración del
diseño que queremos realizar. Como se muestra en figura 3
1
Diseño de Circuitos Digitales nmunoz@udea.edu.co 2
Figura. Nº 3.
Figura. Nº 4.
En el espacio Filename, debe escribir el nombre del archivo, se sugiere
utilizar nombres que tengan que ver con el diseño que se esta realizando
por ejemplo si se esta haciendo una secuencia de luces utilizar
2
Diseño de Circuitos Digitales nmunoz@udea.edu.co 3
• Título o encabezado:
Por ejemplo:
Como se puede ver cada línea se termina con punto y coma (;).
Posteriormente se puede poner una breve descripción o comentario de
lo que se va hacer, esto se debe hacer de la siguiente manera:
/* Secuencia de luces a una velocidad de un Hertz*/
La información que se encuentre entre estos símbolos /* */ serán
comentarios y no harán parte del diseño. Puede incluir varias líneas.
3
Diseño de Circuitos Digitales nmunoz@udea.edu.co 4
• Declaraciones:
Especifica los pines que van a ser usados y las variables que son
asignadas a cada uno de estos.
Por ejemplo:
Son variables que no tienen asignado un pin y pueden ser útiles para
reducir las expresiones correspondientes a cada salida.
Por ejemplo:
• Cuerpo:
4
Diseño de Circuitos Digitales nmunoz@udea.edu.co 5
5
Diseño de Circuitos Digitales nmunoz@udea.edu.co 6
6
Diseño de Circuitos Digitales nmunoz@udea.edu.co 7
• Titulo o encabezado
• Orden
Estas van separadas por comas “,” y se finaliza con punto y coma
“;”.
7
Diseño de Circuitos Digitales nmunoz@udea.edu.co 8
8
Diseño de Circuitos Digitales nmunoz@udea.edu.co 9
9
Diseño de Circuitos Digitales nmunoz@udea.edu.co 10
Solución:
Son 4 entradas y 3 salidas, P1, P2, P3, P4, C0, C1 y NP respectivamente.
De acuerdo con las condiciones de funcionamiento expresadas en el
enunciado, se puede obtener la siguiente tabla de verdad del circuito a
implementar. Y posteriormente con esta se obtienen las ecuaciones:
C1 C2
0 0 = PISO 1
0 1 = PISO 2
1 0 = PISO 3
1 1 = PISO 4
NP = 1 NO HAY
SOLICITUD .
10
Diseño de Circuitos Digitales nmunoz@udea.edu.co 11
P4 P3 P2 P1 C2 C1 NP
0 0 0 0 0 0 1
0 0 0 1 0 0 0
0 0 1 0 0 1 0
0 0 1 1 0 1 0
0 1 0 0 1 0 0
0 1 0 1 1 0 0
0 1 1 0 1 0 0
0 1 1 1 1 0 0
1 0 0 0 1 1 0
1 0 0 1 1 1 0
1 0 1 0 1 1 0
1 0 1 1 1 1 0
1 1 0 0 1 1 0
1 1 0 1 1 1 0
1 1 1 0 1 1 0
1 1 1 1 1 1 0
11
Diseño de Circuitos Digitales nmunoz@udea.edu.co 12
12
Diseño de Circuitos Digitales nmunoz@udea.edu.co 13
13
Diseño de Circuitos Digitales nmunoz@udea.edu.co 14
14
Diseño de Circuitos Digitales nmunoz@udea.edu.co 15
Luego puede abrir el archivo con extensión .doc generado por CUPL donde
podrá encontrar en la parte inferior un diagrama con la asignación de los pines
como se muestra en la siguiente gráfica, que será útil en el momento de
implementar el circuito.
15
Diseño de Circuitos Digitales nmunoz@udea.edu.co 16
IMPORTANTE
16
Diseño de Circuitos Digitales nmunoz@udea.edu.co 17
• Declaraciones:
Comandos:
El comando mas usado es $DEFINE, asigna a una variable un valor o
estado.
Por ejemplo:
$MACRO and $REPEAT, estos dos comandos forman un ciclo que se repite
cuantas veces se desee.
Por ejemplo:
Que equivale a
17
Diseño de Circuitos Digitales nmunoz@udea.edu.co 18
Operaciones aritméticas:
Operaciones lógicas:
18
Diseño de Circuitos Digitales nmunoz@udea.edu.co 19
Ejemplos
Name shift_r;
Partno g_01;
Date 22/05/05;
Revision 01;
Designer grupo1;
Company udea;
Assembly none;
Location none;
Device GAL22V10;
/******************************************************************/
/* */
/* */
/* */
/******************************************************************/
/* Allowable Target Device Types: */
/******************************************************************/
19
Diseño de Circuitos Digitales nmunoz@udea.edu.co 20
/*En las ecuaciones lógicas se dan a conocer las acuaciones que corresponden a cada*/
/*una de las salidas de los flip-flop que integran un shift register 74194*/
Fig. 1.1
20
Diseño de Circuitos Digitales nmunoz@udea.edu.co 21
J1 = X + Q2
K1 = X Q2
J2= Q1
K2 = X Q 1 = X + Q1 (teorema de Demorgan)
Z = X Q1Q2
Tabla de estado:
Fig. 1.2
Diagrama de estado:
21
Diseño de Circuitos Digitales nmunoz@udea.edu.co 22
Fig.1.3
No hay diferencia entre una tabla de estado y un diagrama de estado. Los dos presentan
la misma información, pero el diagrama es una forma práctica y fácil de presentar un
problema.
Código en Cupl
Name maquin;
Partno g_01;
Date 22/05/05;
Revision 01;
Designer grupo1;
Company udea;
Assembly none;
Location none;
Device GAL22V10;
/*entradas*/
22
Diseño de Circuitos Digitales nmunoz@udea.edu.co 23
/*salidas*/
sequence [d, Q1, Q0]/*Instruccion para definir las variables de una maquina de
estados*/
{
present stateA next stateC;/*Mediante el "present ... next..." se declara el
estado */
present stateB next stateB;/*inicial y el siguiente de una maquina de estados*/
present stateC next stateB;/*dependiendo de las exigencias del problema*/
present stateD next stateD;
present stateE next stateH;
present stateF next stateF;
present stateG next stateF;
present stateH next stateE;
Fig. 1.6
23
Diseño de Circuitos Digitales nmunoz@udea.edu.co 24
Las flechas entre círculos no se marcan con valores de entrada y salida como
en los diagramas de estado normales. Recuérdese que las transiciones de
estado ocurren durante un pulso de reloj. Los flip-flops no cambian de estado si
no hay un pulso de reloj. Desde este punto de vista, el diagrama de estado de
un contador no tiene que mostrar valores de entrada/salida a lo largo de las
flechas que conectan los estados. La única entrada al circuito es el pulso de
cuenta y las salidas se especifican directamente con los estados presentes de
los flip-flops. El siguiente estado del contador depende enteramente de su
estado presente. Debido a esta propiedad, un contador se especifica
completamente con una lista de la secuencia de la cuenta, es decir, la
secuencia de los estados binarios. En la figura 1.7 se representa la tabla de
estado correspondiente al diagrama de la figura 1.6.
J 4 = Q3 Q2 Q1 J2= Q4 Q1
J 3 = Q2 Q1 J1= 1
24
Diseño de Circuitos Digitales nmunoz@udea.edu.co 25
K 4 = Q1 K 2 = Q1
K 3 = Q2 Q1 K1 = 1
Fig. 1.8
25
Con las ecuaciones obtenidas anteriormente se dibuja el diagrama lógico del
contador BDC. Fig. 1.9.
Fig. 1.9
Para la conformación del código en Cupl se realiza de la misma foma que con el
ejemplo anterior pero haciendo la correspondencia con los 32 estados diferentes
que resultarían incluyendo la selección “x”.
26