Documente Academic
Documente Profesional
Documente Cultură
DOCENTE:
ING. HÉCTOR RICARDO HERNÁNDEZ DE LEÓN
ALUMNOS:
EDUARDO ARCE CRUZ
RUBÉN MOSCOSO ESPINOZA
JOSUÉ FRANCISCO RODAS LÓPEZ
MANUEL ALEJANDRO ANTONIO RUIZ
TUXTLA GUTIÉRREZ, CHIAPAS, MÉXICO
MARCO TEORICO
GAL22V10
WINCUPL
En las siguientes tablas se resumen las instrucciones más frecuentes para
la realización de aplicaciones digitales combinatorias.
Formatos Numéricos
Se utilizan los prefijos entre comillas simples para indicar el formato numérico que se
está utilizando.
Asignación De Terminales, Variables Y Constantes
Son las instrucciones que se utilizan para definir y asignar terminales a variables, o
asignar a variables operaciones con variables o constantes.
Ejemplos de asignaciones de terminales:
PIN 2 = a; /*asigna al terminal 2 la variable a*/
PIN 2 = !a; /*asigna al terminal 2 la variable a negada*/
PIN [2,3,4,5,6,7,8,9]= [A0,A1,A2,A3,A4,A5,A6,A7];
PIN [2..9] = [A0,A1,A2,A3,A4,A5,A6,A7];
PIN [2..9] = [A0..A7];
Operadores Lógicos
Los operadores aritméticos se utilizan para realizar operaciones entre valores que
sean de tipo numérico y no con variables de tipo booleano como las asignadas a lo
terminales por medio de la instrucción PIN. Normalmente lo que se hace es que el
resultado de una operación aritmética se asigna a una variable o registro.
Simulador utilizado
La característica más importante y que mejor define Proteus es su capacidad de
simular el comportamiento de los circuitos electrónicos. Proteus incorpora una amplia
librería de dispositivos analógicos y digitales con su correspondiente modelo SPICE
que simula su comportamiento. Además podemos crear nuestros propios dispositivos
si disponemos del fichero SPICE correspondiente. De esta manera podemos
comprobar el funcionamiento de nuestros diseños.
El módulo de simulación avanzada nos posibilita la simulación de transitorios,
frecuencias, transformadas de Fourier, curvas de transferencia, etc. Con el podemos
visualizar los datos en gráficos analógicos, digitales y de buses de datos.
Simulación Avanzada
Y los diferentes módulos VSM específicos de cada familia de microprocesdaores nos
permiten observar cómo interactúa el software que se ejecuta en un microcontrolador
con cualquier tipo de componente electrónico, tanto digital como analógico, situado en
su periferia reduce considerablemente el número de horas utilizadas en los desarrollos
de los equipos. Más de 800 versiones de microprocesadores diferentes se pueden
simular en Proteus. Los modelos de microprocesadores simulan completamente los
puertos de entrada/salida, las interrupciones, los relojes y contadores, las USART's y
todos los periféricos presentes en cada microprocesador soportado
PRECTICA 1
Compuerta AND de dos entradas
**********************************************************************
*********
compuerta AND de dos entradas
**********************************************************************
*********
======================================================================
=========
Chip Diagram
======================================================================
=========
| a |
x---|1 24|---x Vcc
x---|2 23|---x
a x---|3 22|---x
b x---|4 21|---x
x---|5 20|---x
x---|6 19|---x
x---|7 18|---x
x---|8 17|---x s
x---|9 16|---x
x---|10 15|---x
x---|11 14|---x
GND x---|12 13|---x
| |
/* *************** INPUT PINS *********************/
PIN 3 = a ; /* */
PIN 4 = b ; /* */
s = a&b;
En esta práctica realizamos una compuerta de AND de dos entradas para poder visualizar que
efectivamente funcione, lo que Podemos notar es que al poner la secuencia de (0,1) el led
encienda y lo que hace la función de AND.
**********************************************************************
*********
OR
**********************************************************************
*********
PRECTICA 2
Una compuerta OR y una compuerta AND de dos entradas
======================================================================
=========
Expanded Product Terms
======================================================================
=========
S0 =>
A0 & A1
S1 =>
B1
# B0
S0.oe =>
1
S1.oe =>
1
| OR |
x---|1 24|---x Vcc
A0 x---|2 23|---x S0
A1 x---|3 22|---x S1
B0 x---|4 21|---x
B1 x---|5 20|---x
x---|6 19|---x
x---|7 18|---x
x---|8 17|---x
x---|9 16|---x
x---|10 15|---x
x---|11 14|---x
GND x---|12 13|---x
| |
Name OR y AND de dos entradas ;
PartNo 00 ;
Date 28/09/2019 ;
Revision 01 ;
Designer equipo 4 ;
Company Ruben_Moscoso ;
Assembly None ;
Location ;
Device g22v10 ;
S0 = A1&A0;
S1 = B1#B0;
En esta práctica realizamos una compuerta OR y una compuerta AND de dos entradas para poder
visualizar que efectivamente funcione, lo que Podemos notar es que al poner la secuencia de (1,1)
en AND y OR (0,0) el led encienda en la salida 1 y si ponemos (0,0) en AND y OR (1,1) encienda S0.
PRACTICA 3
DECODIFICADOR BINARIO DECIMAL
**********************************************************************
*********
DECODIFICADOR-B-D
**********************************************************************
*********
======================================================================
=========
Expanded Product Terms
======================================================================
=========
/* *************** INPUT PINS *********************/
PIN 2 =a ; /* */
PIN 3 =b ; /* */
PIN 4 =c ; /* */
PIN 5 =d ; /* */
// DECLARACIONES
FIELD entradas =[d,c,b,a];
FIELD salidas =[sdp,sg,sf,se,sd,sc,sb,sa];
//BOLEANAS
======================================================================
=========
Chip Diagram
======================================================================
=========
|DECODIFICADOR-|
x---|1 24|---x Vcc
a x---|2 23|---x
b x---|3 22|---x sdp
c x---|4 21|---x sg
d x---|5 20|---x sf
x---|6 19|---x se
x---|7 18|---x sd
x---|8 17|---x sc
x---|9 16|---x sb
x---|10 15|---x sa
x---|11 14|---x
GND x---|12 13|---x
SIMULACION
CIRCUITO FISICO
En esta practica utilizamos un display de 7 segmentos para poder visualizar que
efectivamente funcione, lo que Podemos notar es que ahora gracias a que nosotros lo
programamos Podemos mostrar letras como se muestran en las imagenes que en los casos
de los circuitos integrados 7448 o 7447 solop nos arrojan numeros del 0 al 9
PRACTICA 4
SUMADOR DE 4 BITS
**********************************************************************
*********
SUMADOR
**********************************************************************
*********
======================================================================
=========
Expanded Product Terms
======================================================================
=========
/* *************** INPUT PINS *********************/
PIN 2 = a0 ; /* */
PIN 3 = a1 ; /* */
PIN 4 = a2 ; /* */
PIN 5 = a3 ; /* */
PIN 6 = b0 ; /* */
PIN 7 = b1 ; /* */
PIN 8 = b2 ; /* */
PIN 9 = b3 ; /* */
s0=SUM4BITS(a0,b0,'h'0,c0);
s1=SUM4BITS(a1,b1,c0,c1);
s2=SUM4BITS(a2,b2,c1,c2);
s3=SUM4BITS(a3,b3,c2,cout);
======================================================================
=========
Chip Diagram
======================================================================
=========
| SUMADOR |
x---|1 24|---x Vcc
a0 x---|2 23|---x
a1 x---|3 22|---x
a2 x---|4 21|---x cout
a3 x---|5 20|---x c2
b0 x---|6 19|---x c1
b1 x---|7 18|---x c0
b2 x---|8 17|---x s3
b3 x---|9 16|---x s2
x---|10 15|---x s1
x---|11 14|---x s0
GND x---|12 13|---x
| |
SIMULACION
PRACTICA 5
COMPUERTAS LOGICAS
*******************************************************************************
Prac5
*******************************************************************************
===============================================================================
===============================================================================
Chip Diagram
===============================================================================
| Compu ertas |
a x---|1 24|---x Vcc
b x---|2 23|---x
c x---|3 22|---x
x---|4 21|---x
x---|5 20|---x and
x---|6 19|---x nand
x---|7 18|---x or
x---|8 17|---x nor
x---|9 16|---x xor
x---|10 15|---x xnor
x---|11 14|---x nota
GND x---|12 13|---x
| |
===============================================================================
===============================================================================
Chip Diagram
===============================================================================
| Prac3 |
x---|1 24|---x Vcc
A3 x---|2 23|---x
A2 x---|3 22|---x
A1 x---|4 21|---x g
A0 x---|5 20|---x f
B3 x---|6 19|---x e
B2 x---|7 18|---x d
B1 x---|8 17|---x c
B0 x---|9 16|---x b
select x---|10 15|---x a
x---|11 14|---x punto
GND x---|12 13|---x
| |
/******************************************************************/
/* Programa preparado para el dispositivo: 22V10 */
/******************************************************************/
/** Definicion de los pines de entrada **/
Pin [2..5] = [A3..0]; /* Dato A */
Pin [6..9] = [B3..0]; /* Dato B */
Pin 10 = select; /* Seleccion */
/** Definicion de los pines de salida **/
Pin [15..21] = a,b,c,d,e,f,g; /* Senianles de los displays */
Pin 14 = punto; /* Punto decimal */
/** Cuerpo del programa **/
/* Descripcion del multiplexor utilizando funciones logicas */
S3 = (!select & A3) # (select & B3);
S2 = (!select & A2) # (select & B2);
S1 = (!select & A1) # (select & B1);
S0 = (!select & A0) # (select & B0);
/* Descripcion del conversion BCD - 7 segmentos utilizando una tabla
de verdad */
TABLE S3,S2,S1,S0=> !a,!b,!c,!d,!e,!f,!g,!punto {
'h'0=>'b'11111100; 'h'1=>'b'01100000; 'h'2=>'b'11011010;
'h'3=>'b'11110010;
'h'4=>'b'01100110; 'h'5=>'b'10110110; 'h'6=>'b'00111110;
'h'7=>'b'11100000;
'h'8=>'b'11111110; 'h'9=>'b'11100110; 'h'A=>'b'00000001;
'h'B=>'b'00000001;
'h'C=>'b'00000001; 'h'D=>'b'00000001; 'h'E=>'b'00000001;
'h'F=>'b'00000001;
PRECTICA 7
CONTADOR DE DECADAS
**********************************************************************
*********
CONTADOR
**********************************************************************
*********
| CONTADOR |
!clk x---|1 24|---x Vcc
reset x---|2 23|---x
up x---|3 22|---x
x---|4 21|---x
x---|5 20|---x
x---|6 19|---x
x---|7 18|---x
x---|8 17|---x q0
x---|9 16|---x q1
x---|10 15|---x q2
x---|11 14|---x q3
GND x---|12 13|---x
| |
SEQUENCE contador {
Materiales
1. Protoboard
2. Cables de conexión
3. 1 led
4. Gal22v10
5. Swich
6. Resistencia
Descripción
Es un circuito combi nacional que tiene varios canales de datos de entrada y
solamente un canal de salida. Sólo un canal de la entrada pasará a la salida y este
será el que haya sido escogido mediante unas señales de control.
Si utiliza un multiplexor de 4 canales de entrada. Una de los cuatro canales de
entrada será escogida para pasar a la salida y esto se logra con ayuda de las
señales de control o selección.
La cantidad de líneas de control que debe de tener el multiplexor depende del
número de canales de entrada. En este caso, se utiliza la siguiente fórmula: Número
de canales de entrada =2n., donde n es el número de líneas de selección.
Desarrollo
En este apartado se llevó acabo la programación del gal22v10 con el programa wincupl
se programa un multiplexor de 4x1 (esto significa que tiene 4 entradas con una salida)
en el apartado anterior esta la descripción de este programa
Multiplexor 4x1
**********************************************************************
*********
Multiplexor
**********************************************************************
*********
======================================================================
=========
Expanded Product Terms
======================================================================
=========
sal =>
i0 & !s0 & !s1
# i1 & s0 & !s1
# i2 & !s0 & s1
# i3 & s0 & s1
sal.oe =>
1
| Multiplexor |
x---|1 24|---x Vcc
s1 x---|2 23|---x sal
s0 x---|3 22|---x
i0 x---|4 21|---x
i1 x---|5 20|---x
i2 x---|6 19|---x
i3 x---|7 18|---x
x---|8 17|---x
x---|9 16|---x
x---|10 15|---x
x---|11 14|---x
GND x---|12 13|---x
| |
Name Multiplexor
4x1 ; PartNo 00 ;
Date
02/10/201
9 ; Revision 01 ;
Designer equipo 4
;
Company
Ruben_Moscos
o ; Assembly None ;
Location ;
Device g22v10 ;
sal=i0&!s1&!s0#i1&!s1&s0#i2&s1&!s0#i3&s1&s0;
Simulación en proteus
En esta imagen podemos observar la simulación de este circuito multiplexor de 4x1
si antes llevado acabo la configuración de wincupl a proteus que es un formato
llamado .JED para poder simular el circuito
======================================================================
=========
Expanded Product Terms
PIN 1= clk;
PIN 15= V1; //pin 12 y 13 encienden el verde
PIN 16= V2;
PIN 17= A;
PIN 18= R1; //pines 15 al 17 encienden el rojo
PIN 19= R2;
PIN 20= R3;
SEQUENCE SEMAFORO{
PRESENT S0 NEXT S1;
PRESENT S1 NEXT S2;
PRESENT S2 NEXT S3;
PRESENT S3 NEXT S4;
PRESENT S4 NEXT S5;
PRESENT S5 NEXT S0;
}
======================================================================
=========
Chip Diagram
======================================================================
=========
| semaforo1 |
clk x---|1 24|---x Vcc
x---|2 23|---x
x---|3 22|---x
x---|4 21|---x
x---|5 20|---x R3
x---|6 19|---x R2
x---|7 18|---x R1
x---|8 17|---x A
x---|9 16|---x V2
x---|10 15|---x V1
x---|11 14|---x
GND x---|12 13|---x
| |
Conclusión.
Como conclusión sobre esta sección, podemos decir que es recomendable incluir
los estados no usados en el diseño de los circuitos secuenciales. Esto implica una
reducción en las expresiones lógicas y por consiguiente en el tamaño del circuito,
que en otros términos representará obviamente un menor tiempo de desarrollo y
costo de implementación.
En esta grafica se aprendió el proceso para el uso de este programa, el cual para
muchos era nuevo y no teníamos mucho conocimiento de esta plataforma, como
cualquier programa lo principal es el controlar salidas y con esta práctica sencilla
logramos entenderlo sin ningún problema. En este circuito pusimos en práctica los
enclavamientos, estos son bastante útiles cuando se tiene que controlar procesos
en base a condiciones, nos da la posibilidad de evaluar la posición según a nosotros
con convenga.
Bibliografía
www.forosdeelectronica.com
http://micropinguino.blogspot.com/2013/05/logica-combinatoria-con-gal-y-wincupl.html
http://www.hubor-proteus.com/proteus-pcb/prospice.html
http://javierandres-arquitectura.blogspot.com/2012/03/simulacion-de-un-dispositivo-
gal-en.html