sistemas digitales - practica 3

11
UNIVERSIDAD AUTONOMA DE QUERETARO FACULTAD DE INFORMATICA ING. EN TELECOMUNICACIONES SISTEMAS DIGITALES Prof. Dr. J. Carlos Pedraza PRACTICA No. 3 Programar nuestro GAL22V10Alumnos: Ramírez Cruz Uriel Exp. 215488 Reyes Cruz Luis Ángel Exp. 163986 Paniagua Martínez Jonathan Exp. 215486 Uribe García Alejandro Exp. 215484

Upload: luis-reyes

Post on 29-Jun-2015

786 views

Category:

Technology


3 download

TRANSCRIPT

UNIVERSIDAD AUTONOMA DE QUERETARO

FACULTAD DE INFORMATICA

ING. EN TELECOMUNICACIONES

SISTEMAS DIGITALES

Prof. Dr. J. Carlos Pedraza

PRACTICA No. 3 “Programar nuestro GAL22V10”

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

Objetivo

Que el alumno utilice lenguaje de programación VHDL, así también el programa Galaxy para configurar el hardware del dispositivo lógico programable GAL22V10 utilizando el programador, usando una función lógica y resolviéndola con el método de minimización de Quine Mc. Cluskey.

Antecedentes

Método de Quine Mc. Cluskey

es un método de simplificación de funciones booleanas desarrollado por Willard Van Orman Quine

y Edward J. McCluskey. Es funcionalmente idéntico a la utilización del mapa de Karnaugh, pero su

forma tabular lo hace más eficiente para su implementación en lenguajes computacionales, y

provee un método determinístico de conseguir la mínima expresión de una función booleana.

Lenguaje VHDL Diseñado para el desarrollo de sistemas digitales de tipo combinacional y secuencial. Desarrollo de microcontroladores a través de una Unidad Central de Procesamiento (CPU). Permite conocer los retardos, tiempos de respuesta, realizar simulaciones, etc. La principal filosofía es que el dispositivo se programa sólo cuando la simulación funciona correctamente. De forma paralela, se desarrolla la tarjeta de circuito impreso, logrando obtener un sistema en un

menor tiempo.

GAL22V10 Datasheet

Material

Programa Galaxy

Programador Para GAL

dispositivo lógico programable GAL22V10

Desarrollo

Realizar lla función por el método de minimización de Quine Mc. Cluskey.

Función lógica de 4 variables.

𝑓4 = ∑(0,1,2,3,4,8,10,14,15)

1. Agrupación de términos por índice binario

Índice binario Representación binaria Reducción

0 0000 0

1 0001 0010 0100 1000

1 2 4 8

2 0011 1010

3 10

3 1110 14

4 1111 15

2. El segundo paso del método consiste en realizar las particiones a la tabla original para

localizar todas las adyacencias existentes, eliminando la variable que cambia su valor.

1ª Partición

Índice binario Representación binaria Reducción

0 000- 00-0 0-00 -000

0-1 0-2

0-4, I5 0-8

1 00-1 001- -010 10-0

1-3 2-3

2-10 8-10

2 1-10 10-14, I4

3 111- 14-15, I3

3. Definido.

Se dice que 2 términos son compatibles si y solo si cumplen las siguientes condiciones:

Tener un índice binario adyacente

Contener las mismas variables

Tener las mismas variables eliminadas

Solo cambie de valor una variable entre ellos

Índice binario Representación binaria Reducción

0 00— -0-0

0-1-2-3, I2 0-2-8-10, I1

4. Implicante primo

Se denomina implicarte primo a todo termino que contiene al menos un elemento que no ha sido

cubierto por ningún otro implicarte primo de una partición superior

𝐼ℎ → 𝑖𝑚𝑝𝑙𝑖𝑐𝑎𝑛𝑡𝑒 ℎ

Implicante primo

Implicante primo Términos cubiertos Representación binaria

I1 0-2-8-10 -0-0

I2 0-1-2-3 00--

I3 12-15 111-

I4 10-14 1-10

I5 0-4 0-00

5. El último paso del método consiste en la selección de los implicantes primos secuenciales

y se lleva acabo formando una tabla en los implicantes primos y los min términos.

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

𝑓4 𝐴, 𝐵, 𝐶, 𝐷 = 𝐼1 + 𝐼2 + 𝐼3 + 𝐼5 =𝐵𝐷

+𝐴𝐵

+ 𝐴𝐵𝐶 +𝐴𝐶𝐷

2. Programamos nuestro código en Galaxy , este el que nos permite programar en VHDL y una vez

compilado correctamente el programa nos genera 2 archivos muy importantes: el rpt que nos

sirve para saber en que pines de la GAL van a quedar nuestras entradas y salidas una vez que lo

pasemos y el.jed que en realidad es el archivo que se pasa a la GAL ya que este contiene el mapa

de fusibles que se usaran.

El active sim sirve para simular el programa en VHDL y saber si la programación fue adecuada.

Y una vez hecho esto así es como queda nuestro código y nuestro mapa de fusibles.

Después damos seguimiento a pasarlos al GAL22V10 con el programador

--Practica 2

-- Equipo

Library IEEE;

USE IEEE.std_logic_1164.all;

ENTITY practica2 is

port(

--Variables de entrada

A:in std_logic;

B:in std_logic;

C:in std_logic;

D:in std_logic;

--salidas

Y:out std_logic;

Z:out std_logic

);

END practica2;

ARCHITECTURE practica2 OF practica2 IS

BEGIN

Y <= ((not A) and (not B) and (not C)) or ((not A) and B and C) or ( A and (not B) and C) or

( A and B and (not C));

Z <= (A and (not B) and (not D)) or (B and C and D) or (not A) ;

END practica2;

3. Así es como queda realizada nuestra practica finalmente en una simulación en Proteus Y

físicamente en nuestro GAL22V10.

Conclusión

Esta práctica nos enseña a manejar el dispositivo lógico programable GAL22V10, también

saber cómo resolver nuestra función lógica utilizando el método el método de

minimización de Quine Mc. Cluskey y a su ves practicamos un poco mas el lenguaje de

programación VHDL y del programa Galaxy .

Por último nos enseña como pasarlo al programador para que este guarde el código

generado en el dispositivo lógico programable GAL22V10.