Sei sulla pagina 1di 11

UNIVERSIDAD

DEL CALLAO

NACIONAL

FACULTAD DE INGENIERIA ELCTRICA Y


ELECTRNICA
ESCUELA PROFECIONAL DE INGENIERIA
ELECTRNICA

ASIGNATURA:
computadoras

Arquitectura de
Laboratorio -92G

CODIGO
12132203
76
12132100
12

SEMESTRE ACADEMICO: 2014-B


TEMA:
PROYECTO VHDL
PROFESOR:
Cucho Mendoza Zenn

APELLIDOS/NOM
BRES
DE
LA
CRUZ
CASTRO
DOMINGO CESAR
HERRERA ESCATE
HAROLD ANDRE

PREVIO(
6)

P_LAB(
8)

SUST(
4)

TAREAS(
2)

NOT
A

Proyecto de VHDL por medio del GAL 22V10D


I.

Introduccin:
GAL (Generic Array Logic), en espaol Arreglo Lgico Genrico, son un
tipo de circuito integrado, de marca registrada por Lattice
Semiconductor, que ha sido diseados con el propsito de sustituir a
la mayora de las PAL, manteniendo la compatibilidad de sus
terminales.
Utiliza una matriz de memoria EEPROM en lugar por lo que se puede
programar varias veces.
Un GAL en su forma bsica es un PLD con una matriz AND
reprogramable, una matriz OR fija y una lgica de salida programable
mediante una macrocelda. Esta estructura permite implementar
cualquier funcin lgica como suma de productos con un nmero de
trminos definido. En los PLDs no reprogramables la sntesis de las
ecuaciones lgicas se realiza mediante quema de fusibles en cada
punto de interseccin de los pines de entrada con las compuertas. En
el caso de un GAL es bsicamente 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 interseccin hay un fusible, el fusible se
reemplaza por una celda CMOS elctricamente borrable (EECMOS).
Mediante la programacin se activa o desactiva cada celda EECMOS y
se puede aplicar cualquier combinacin de variables de entrada, o sus
complementos, a una compuerta AND para generar cualquier
operacin producto que se desee. Una celda activada conecta su
correspondiente interseccin de fila y columna, y una celda
desactivada desconecta la interseccin. Las celdas se pueden borrar y
reprogramar elctricamente.

II.

Objetivos:
-

Programar en lenguaje VHDL y controlar un circuito externo.


Usar GAL22v10d para controlar un circuito por medio del lenguaje
VHDL.
Controlar un motor y leds por medio del lenguaje VHDL y la
interfaz de Proteus Isis.

III.

Funcionamiento:
La manera en la que opera nuestro proyecto es la siguiente:
Tenemos 3 pulsadores, uno para el sentido Horario, uno para el
sentido Antihorario y uno ms que es el pulsador para detener el giro,
llamado tambin stop.
Para esto tenemos nuestra programacin hecha previamente en el
VHDL, la cual ser mostrada en breve, el programa ejecutable (.jed) la
cual adquirimos usando el programa ispleverclasic siguiendo una
serie de pasos mostrados a continuacin, es as que el GAL22V10D
puede controlar a los dems dispositivos segn nuestra
programacin. Para resumir esta parte, usando nuestra programacin
en VHDL controlamos varios dispositivos mediante un solo integrado,
GAL22V10D.
Siguiendo con el proceso, el GAL22V10D permite aprovechar las
ventajas del motor para hacerlo girar, ya sea en sentido horario o
antihorario dependiendo del pulsador que activemos mientras dura el
proceso o detenerlo si es deseado, mediante el pulsador de stop.
Se agregaron una serie de leds, como demostracin del sentido en el
cual va el motor, esto es simplemente esttico, pero permite
visualizar de una mejor manera el giro del motor DC.

IV.

Diagrama de flujo:
Proyecto VHDL con
motor y leds

Cargamos la programacin
en .jed en el GAL22V10D

Apretamos cualquiera de
los pulsadores para el giro
del motor

Antihorario

Horario

V.

El motor gira en sentido


horario y los leds se
encienden indicando el
sentido de giro

Programacin en VHDL:

El motor gira en sentido


antihorario y los leds se
encienden indicando el
sentido de giro

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity motorled is
port( P: in std_logic_vector(2 downto 0);
S: out std_logic_vector(1 downto 0);
P1: in std_logic_VECTOR(2 DOWNTO 0);
C: out std_logic_vector(2 downto 0);
V: out std_logic_vector(2 downto 0)

end motorled ;
architecture motorled of motorled is
signal B: std_logic_vector (1 downto 0);
begin
------------DECLARANDO SIGNAL B------------with P select

);

B <= "01" when "011",


"10" when "101",
"11" when "110",
"00" when others;
------------VALORES DE GIRO DEL MOTOR-------process(B)
begin
if B="01" then S <= "10" ;
end if;
if B="10" then S <= "01" ;
end if;
if B="11" then S <= "00" ;
end if;
if B="00" then S <= "00" ;
end if;
end process;
-----------------PARTE DE LOS LEDS-----------------------with P select
C <= "101" when "011",
"110" when "101",
"100" when others;
----------PARTE DE VELOCIDAD
with P1 select
V <= "001" when "011",
"010" when "101",

"100" when others;

end motorled;

En imgenes:

USANDO EL ISPLEVER CLASSIC:


Para comvertir nuestro archivo a formato .jed para que lo podramos abrir en
proteus seguiremos los siguiente pasos:
Crear archivo en la carpeta donde se encuentrra el proyecto en VHDL:

Seleccionar el GAL 22V10D para su uso en el ISIS:

Abrir el archivo VHDL creado con la programacin a usar:

Una ves creado compilar el trabajo de la siguiente forma:

Realizar el mapa de fusibles de la siguiente manera:

Una ves seguido los pasos abrimos y observamos la asignacin de PINES en


el CHIP REPORT

VI. Simulacin en Proteus:

VII. Observaciones y Conclusiones:

Nuestro programa tiene un diseo agradable a la vista el cual


permite escoger un sentido de giro para un motor y asimismo
detenerlo si es deseado, todo por medio de pulsadores que sirven
como selectores mediante la ejecucin de nuestra programacin.

Concluimos del laboratorio que usando VHDL y Proteus podemos


simular circuitos como PLD con una programacin la cual es mas
til que hacerlo de la manera clsica con solo compuertas e
integrados ya que suplantamos todo ello por una programacin la
cual controla el proceso del circuito dndonos la ventaje de
portabilidad y menos gasto para el proyecto.

Es posible desarrollar un programa en lenguaje VHDL en Quartus II


y simularlo en Proteus, sin embargo no es suficiente estos 2
programas para desarrollarlo.
El GAL utilizado 22V10 es muy til y verstil, pues podemos
declarar variables de entradas y salidas a preferencia y gusto del
usuario.
Es mucho ms prctico que el PPI pues se requieren menos
componentes y es ms sencilla la declaracin de puertos.

Durante el desarrollo de ste programa tuvimos inconvenientes


como el uso de un programa extra para crear el archivo .jed que
sirviera de base para nuestro proyecto en Proteus.
Se us el ispLever Classic 1.8 con el cual pudimos hacer uso de
nuestra programacin dentro del 22V10.
Trabajamos bajo el mismo concepto de nuestro proyecto PPI, es
decir, logramos hacer el mismo trabajo, pero sta vez empleando
lo aprendido en la 2da parte del semestre.

Potrebbero piacerti anche