sistemas digitales - practica 4
Post on 29-Jun-2015
577 Views
Preview:
TRANSCRIPT
UNIVERSIDAD AUTONOMA
DE QUERETARO
FACULTAD DE INFORMATICA
ING. EN TELECOMUNICACIONES
SISTEMAS DIGITALES
PRACTICA No. 3
“Funciones f(4) y f(5) para la GAL”
Alumnos:
Ramírez Cruz Uriel Exp: 215488
Reyes Cruz Luis Ángel Exp: 163986
Paniagua Martínez Jonathan Exp: 215486
Uribe García Alejandro Exp: 215484
FECHA: 10/09/11
Objetivo
El alumno realizara la primera práctica completa para programar una GAL con los conocimientos
que se han aprendido, los cuales son:
Reducir la función dada por el método de Quine Mc Cluskey, realizar el código en VHDL para
después simularlo y por ultimo pasarlo a la GAL para realizar el correspondiente circuito en el
Proto y probar su funcionamiento.
Antecedentes
Matriz Genérica Programable
Una Matriz Genérica Programable (GAL, Generic Array Logic) es una denominación que utilizaba originalmente Lattice Semiconductor y que más tarde se licenció a otros fabricantes. Un GAL en su forma básica es un PLD con una matriz AND reprogramable, una matriz OR fija y una lógica de salida programable mediante una macrocelda. Esta estructura permite implementar cualquier función lógica como suma de productos con un numero de términos definido.
En los PLDs no reprogramables la síntesis de las ecuaciones lógicas se realiza mediante quema de fusibles en cada punto de intersección de los pines de entrada con las compuertas.
En el caso de un GAL es básicamente la misma idea pero en vez de estar formada por una red de conductores ordenados en filas y columnas en las que en cada punto de intersección hay un fusible, el fusible se reemplaza por una celda CMOS eléctricamente borrable (EECMOS). Mediante la programación se activa o desactiva cada celda EECMOS y se puede aplicar cualquier combinación de variables de entrada, o sus complementos, a una compuerta AND para generar cualquier operación producto que se desee. Una celda activada conecta su correspondiente intersección de fila y columna, y una celda desactivada desconecta la intersección. Las celdas se pueden borrar y reprogramar eléctricamente. A continuación se muestran la estructura típica de un GAL y la macrocelda de salida del GAL22V10.
Material Galaxy previamente instalado
Protoboard
GAL 22v10D
Cable calibre 22
Programador con software
Dip switch de 8
Tablero lógico
Desarrollo Ejercicios:
Reducir, programar y pasar a la GAL las siguientes funciones:
1. Fr =∑ (0,1,2,3,4,8,10,14,15)
2. F4 =∑ (1,2,3,4,6,7,9,11,12,14)
3. F5 = ∑(0,2,4,8,10,14,15,16,18,20,24,26,30,31)
1) Para el primer ejercicio, las tablas de reducción fueron las siguientes
indice binario Representacion Binaria Reduccion
0 0 0 0 0 0
1 0 0 0 1 1
0 0 1 0 2
0 1 0 0 4
1 0 0 0 8
2 0 0 1 1 3
1 0 1 0 10
3 1 1 1 0 14
4 1 1 1 1 15
indice binario Representacion Binaria Reduccion
0 0 0 0 - 0-1
0 0 - 0 0-2
0 - 0 0 0-4
- 0 0 0 0-8
1 0 0 - 1 1,-3
0 0 1 - 2,-3
- 0 1 0 2,-10
1 0 - 0 8,-10
2 1 - 1 0 10,-14
3 1 1 1 - 14,-15
indice binario Representacion Binaria Reduccion
0 0 0 - - 0-1, 2-3
- 0 - 0 0-2, 8-10
Implicante primo Representacion Binaria Terminos cubiertos
I1 - 0 - 0 0-2, 8-10
I2 0 0 - - 0-1, 2-3
I3 1 1 1 - 14,-15
I4 1 - 1 0 10,-14
I5 0 - 0 0 0-4
Implicante 0 1 2 3 4 8 10 14 15
I1 x x x x
I2 x x x x
I3 x x
I4 x x
I5 x x
La función minimizada quedo de la siguiente forma:
Fr(A,B,C,D) = I1 + 12 + 13 + 15
Fr(A,B,C,D) = B’D’ + A’B’ + ABC + A’C’D’
2) Para las otras dos funciones minimizadas por el mismo método quedaron asi:
F4(A,B,C,D) = A’CD + B’D + BD’
F5(A,B,C,D,E) = C’E’ + BCD + B’D’E’
Resultados
El código en VHDL para las 3 funciones fue el siguiente:
--Practica 4
-- Luis Angel Reyes
Library IEEE;
USE IEEE.std_logic_1164.all;
ENTITY Practica3 IS
port(
--Variables de entrada
E,D,C,B,A:in std_logic;
--salidas
X,Y,Z:out std_logic
);
END Practica3;
ARCHITECTURE Practica3 OF Practica3 IS
BEGIN
X <= ((NOT C)AND (NOT A))OR((NOT D)AND(NOT C))
OR(D AND C AND B)OR((NOT D)AND(NOT B)AND (NOT A));
Y <= ((NOT D)AND B AND A)OR(C XOR A);
Z <= ((NOT C)AND(NOT A))OR (D AND C AND B)
OR ((NOT D)AND(NOT B)AND(NOT A));
END Practica3;
1) Hicimos su correspondiente simulación y una vez que corroboramos que la simulación
daba los valores correspondientes a la tabla de verdad, procedimos a usar el programador
para pasar el archivo .jed generado por el galaxy para programar la GAL.
2) Cabe mencionar que la reducción de F4 fue con ayuda del maestro ya que por el método
de Quine Mc Cluskey se necesitaba otro paso para poder llegar a la minimización correcta,
pero nosotros corroboramos el resultado minimizando la función por mapas K.
3) Después de tener la GAL programada, realizamos el cableado en el proto para realizar el
siguiente circuito:
Observamos donde van las señales de
entrada en la GAL y las 3 salidas que
corresponden una para cada una de las
funciones.
Imágenes de como quedo el circuito:
Podemos observar en los diferentes
estados como los leds que muestran las
salidas cambian
Otro diferente tiempo, cabe mencionar que para
programar estas funciones juntas y debido a que 2
eran de 4 variables y una de 5, era necesario y si
queríamos checar las 3 funciones al mismo
tiempo, hay que tener cuidado al momento de
programarla para que las variables coincidan con
la tabla de verdad, así tuvimos que la variable con
menor frecuencia fue E en lugar de A y la variable
con mayor frecuencia fue A
Conclusión Aprendimos en esta práctica varias cosas como:
El uso correcto de los operadores lógicos para escribir correctamente la función dentro del código
fuente y que salga el resultado correcto, ya que como vimos, con funciones más largas es un poco
más complicado programarlas y sobre todo el uso de los paréntesis.
La forma correcta de usar las señales de entrada cuando se tiene una función de 4 entradas y una
de 5 y se quieren programar juntas, la importancia de saber cuál es el bit más significativo dentro
de la función.
Así también tanto para programar como para cablear el circuito habría que tener cuidado con las
entradas del switch así la GAL.
La importancia que tienen las señales intermedias que nos hubieran podido facilitar la
programación de las funciones y estas señales que ahora utilizaremos para programas posteriores.
top related