PRÁCTICA #3. Programación e implementación de una Gal RESUMEN. La vertiginosidad con que avanza la tecnología en nuestro tiempo, nos lleva a la sistematización de cualquier proceso. En esta práctica analizaremos el Circuito Integrado Gal 22v10 del cual conoceremos su programación e implementación en algunos circuitos básicos, los cuales serán: sumador, sumador-restador, decodificador, sumador bcd y multiplicador.
PALABRAS CLAVE: Gal,
programación, sistema de control, decodificador, codificador, mapa de Karnaugh, lenguaje Cupl
OBJETIVOS DE LA PRÁCTICA:
Poder programas una Gal Saber implementar la Gal Darnos cuenta de los beneficios que con lleva usarla
1
RESUMEN. Lógica combinatoria con Gal
En la GAL22v10 tendremos que 22 terminales pueden ser utilizados como entradas, en el esquema están marcados como In, que 10 terminales se pueden utilizar como salidas, en el esquema están marcados como Out, además que estas salidas pueden ser Q lo que representa la salida de un flip flop. Se puede observar que los 10 terminales comparten la opción de entrada o salida y que esta salida puede ser el Q de un flip flop. También el terminal 1 que es una entrada comparte la opción de ser la entrada de la señal de reloj clk para los flip flop internos de la GAL siendo esto útil al diseñar circuitos digitales secuenciales. WINCUPL En las siguientes tablas se resumen las instrucciones más frecuentes para la realización de aplicaciones digitales combinatorias. Formatos Numéricos
2
Operadores Lógicos
MATERIALES: PROTOBOARD. CABLE UTP. PINZAS. 2 DIP switch.
7 resistencias de 330 Ω.
2 display de 7 segmentos de cátodo común. 9 Gal 22v10 Fuente de voltaje de computadora. Computadora Quemador de Gal
MÉTODO: Programación en cupl.
3
DESARROLLO: 1.-SUMADOR COMPLETO DE 4 BIT. Realizar una tabla de verdad (tabla 1) con el comportamiento que tendrá el sumador y obtener la ecuación reducida para cada bit de resultado y de acarreo (Figura 1). Implementar estas ecuaciones en la GAL programándola mediante lenguaje CUPL (Figura 2). Simulación del circuito obtenido utilizando Proteus (Figura 3). Realizar las conexiones requeridas y comprobar el funcionamiento del circuito (Figura 4,5). Tabla 1
A B CO 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Tabla de verdad de un sumador. .
Figura 1.Funciones de un sumador.
4
C 0 0 0 1 0 1 1 1
S 0 1 1 0 1 0 0 1
Figura 3.Simulacion en proteus.
Figura 4. Implementación física del sumador.
5
Figura 5 . Comprobación del sumador al introducir la suma (0100+0001=0101).
2.- SUMADOR-RESTADOR. Realizar una tabla de verdad (tabla 1,2) con el comportamiento que tendrá el sumador-restador y obtener la ecuación reducida para cada bit de resultado y de acarreo (Figura 6).La resta se realizara usando el complemento a2. Implementar estas ecuaciones en la GAL programándola mediante lenguaje CUPL (Figura 7). Simulación del circuito obtenido utilizando Proteus (Figura 8). Realizar las conexiones requeridas y comprobar el funcionamiento del circuito (Figura 9,10).
Tabla 2. Tabla de verdad del restador.
6
Figura 6 . Funciones del sumador-restador.
Figura 8 .Simulación del circuito sumador-restador.
Figura 9 . Implementación física del sumador-restador.
7
Figura 10.Comprobacion del sumador-restador al introducir la siguiente operación 0010+0001=0001, recordar que la resta se hace partiendo del complemento a dos del segundo número.
3.-DECODIFICADOR. La función básica de un decodificador es detectar la presencia de una determinada combinación de bits (código) en sus entradas y señalar la presencia de este código mediante un cierto nivel de salida. En la figura 11 se muestra el esquema básico de un decodificador.
Figura 11. Esquema de un decodificador.
Partiendo de este concepto se diseñara un decodificador de BCD a decimal de 0 a 9, iniciaremos construyendo la tabla de verdad para determinar las funciones de salida que irán a un display de 7 segmentos que nos permitirá visualizar que numero se está decodificando. La tabla 3 nos representara la tabla de verdad de dicho decodificador.
8
Tabla 3.
ENTRADAS. A B C D 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1 Tabla de verdad del decodificador.
a 1 0 1 1 0 1 1 1 1 1 X X X X X X
b 1 1 1 1 1 0 0 1 1 1 X X X X X X
c 1 1 0 1 1 1 1 1 1 1 X X X X X X
SALIDAS. d 1 0 1 1 0 1 1 0 1 1 X X X X X X
e 1 0 1 0 0 0 1 0 1 0 X X X X X X
f 1 0 0 0 1 1 1 0 1 1 X X X X X X
g 0 0 1 1 1 1 1 1 1 1 X X X X X X
Una vez terminada la tabla de verdad debemos encontrar las funciones para cada una de las letras correspondientes al display por medio de mapas de karnaugh tal como se muestra en la figura 12.
Figura 12. Reducción de las funciones del decodificador por medio de mapas de karnaugh
9
Una vez obtenidas las funciones se procedió a elaborar el circuito lógico quedando como se muestra en el diagrama de la figura 13.
Figura 13.Diagrama del circuito del decodificador.
10
4.- Sumador BCD. La tabla de verdad a usar serán las mismas del sumador y el decodificador (tabla 1,3). La ecuación reducida para cada bit de resultado y de acarreo (Figura 1,12). Implementar estas ecuaciones en la GAL programándola mediante lenguaje CUPL (Figura). Simulación del circuito obtenido utilizando Proteus (Figura 14,15). Realizar las conexiones requeridas y comprobar el funcionamiento del circuito (Figura 9,10)
Figura 14 .Diagrama del sumador BCD
11
Figura 14 .Implementacion Física del sumador BCD.
Figura 15 .Comprovacion del sumador BCD al sumar (1000+0001=1001).
12
5.- Multiplicador. La multiplicación requiere M ciclos utilizando un sumador de N bits. Se realiza la suma de N productos parciales, que se generan multiplicando un bit del multiplicador por el valor del multiplicando (operación AND) y desplazando el resultado según la posición del bit del multiplicador.
Figura 16.Simulacion del multiplicador.
Figura 17 .Implementacion física del multiplicador.
13
Figura 18.Comprovacion del Multiplicador al hacer la siguiente operación: (0010) (0011)=00000110.
14
CONCLUSIÓN: Al usar la Gal nos damos cuenta que podemos ahorrarnos hardware en la implementación de los circuitos ya que la podemos programar para que realice varias funciones, de este modo podemos usar un solo circuito integrado, dependiendo de la función que se desea realizar y de la capacidad de la Gal.
BIBLIOGRAFÍA: Libros: 1.-"Diseño lógico". A. Lloris, A. Prieto. Ed. Mc Graw –Hill. (1996). 2.-"Principios de diseño digital". Daniel D. Gajski. Ed. Prentice –Hall. (1997). 3.-"Fundamentos de diseño lógico y computadoras". M. Morris Mano y Charles R: Kime. Ed. Prentice –Hall. (1998). 4.-"Circuitos digitales y Microprocesadores". H. Taub. Ed. MacGraw –Hill. (1982).
15