Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NOMBRE DE LA ASIGNATURA
Practica Duración
Nombre de la Practica
No. (Horas)
Integrantes de equipo
Martinez Barrera Yamin Yoqsan
No. De control: 18590353
1 Introducción
Se pretende diseñar un autómata que simule las luces traseras de un viejo modelo thunderbird el cual
tiene arreglos de tres luces traseras para indicar el giro a la izquierda y la derecha, las cuales flashean
en patrones únicos.
El diseño es con base al comportamiento, por lo cual no es necesario hacer diagramas de ningún tipo
ya que se conocen las secuencias de las luces y las condiciones a las que obedecen.
Por esta razón es que se comienza por diseñar un listado VHDL respecto al comportamiento y con las
condiciones planteadas.
Y finalmente se implementa en una tarjeta FPGA con la ayuda de algunos programas y una tarjeta de
desarrollo amiba 2.
2 Objetivos (Competencias)
✓ Soluciona problemas de una aplicación común.
✓ Implementa un diseño en una tarjeta FPGA.
3 Fundamentación
4 Procedimiento (Descripción)
A Equipo Necesario Material
1 TARJETA DE DESARROLLO AMIBA 2
1 COMPUTADORA
✓ Software de diseño ISE WebPACK
✓ Software INTegra de intesc
1 CABLE MICRO USB
B Desarrollo de la Practica
Para comenzar a desarrollar la práctica, lo primero es hacer un análisis del planteamiento del problema,
en este caso se sabe lo siguiente:
La red tiene tres entradas, LEFT, RIGHT y HAZ. LEFT y RIGHT vienen de la palanca del conductor
✓ No pueden ser 1 al mismo tiempo.
✓ Cuando LEFT = 1, las luces se encienden con el patrón LA, LA LB, LA LB LC, ninguna y se repite la
secuencia.
✓ Cuando RIGHT = 1, la secuencia es similar.
✓ Si se conmuta la palanca de LEFT a RIGHT (o viceversa) a la mitad de una secuencia, la red se
deberá conmutar a IDLE (todas las luces apagadas) de inmediato y entonces iniciar la nueva
secuencia.
✓ HAZ se activa con el conmutador de intermitentes:
✓ Cuando HAZ = 1, las seis luces de ambos lados deben flashear al mismo tiempo.
✓ HAZ tiene precedencia sobre LEFT y RIGHT, incluso si esta activada la palanca.
Ya conociendo el comportamiento y las condiciones en las que funciona, se procede a realizar el listado
VHDL correspondiente
LISTADO VHDL
El listado se comienza agregando las librerías, los puertos (entradas y salidas) necesarias para el listado.
Las librerías IEEE.STD_LOGIC_ARITH.ALL y IEEE.STD_LOGIC_UNSIGNED.ALL son usadas más adelante
para operaciones aritméticas de un divisor de frecuencia que permite utilizar el oscilador implementado
en la tarjeta de desarrollo amiba 2
Tecnológico Nacional de México
Instituto Tecnológico de San juan del Rio
INGENIERÍA EN ELECTRONICA
--LIBRERIAS
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity LUCES_T is
port(
L_R : IN STD_LOGIC_VECTOR (1 downto 0);
HAZ,CLK : IN STD_LOGIC;
C_LEFT,C_RIGHT : OUT STD_LOGIC_VECTOR (2 downto 0);
LED : INOUT STD_LOGIC
);
end LUCES_T;
En la segunda parte se encarga de poder utilizar el oscilador de la tarjeta de desarrollo amiba 2.
Utilizando un divisor de frecuencia.
El divisor de frecuencia funciona simple, cada que se tenga un flanco de subida al contador se le suma
1 y cuando esta cuenta llega a igualarse a la constante se hacen dos cosas, la primera se reinicia el
contador y la segunda envía un pulso de salida que será necesario para la siguiente parte, este pulso
ayudara para hacer las transiciones entre estados.
Pero además también será posible visualizar los pulsos que envié el reloj a través de un led (hablando
a grandes rasgos).
Posteriormente se puede observar que sigue la parte del listado que se encarga de ejecutar la secuencia
de las luces izquierdas cuando se cumplen ciertas condiciones, la parte que se encarga de la secuencia
de las luces derechas y al final están las indicaciones si no se usa la palanca o cualquier otro caso. Al
unir estas 4 partes con unas cuantas condiciones podemos obtener un solo listado que tenga las
funciones como lo indica el enunciado del problema.
process (HAZ,LED,L_R,w,y,m)
begin
if (LED'event and LED = '1' ) then
end process;
end ARCH_LUCES_T;
Una vez terminado el listado, es necesario implementarlo en la tarjeta FPGA, pero antes, es necesario
crear el archivo para hacerlo.
✓ Una vez creado el proyecto se crea una nueva fuente “VHDL module”, se siguen las Indicaciones,
en la siguiente ventana se escribe el nombre de la entidad, arquitectura, más abajo se escribe
el nombre de las entradas y salidas.
✓ Se crea una nueva fuente “implementation constraints file”, se abre un nuevo archivo y se
escribe la asignación de los pines para los switch, puertos de salida y/o entrada que se requieren.
Tecnológico Nacional de México
Instituto Tecnológico de San juan del Rio
INGENIERÍA EN ELECTRONICA
✓ Ya dentro del programa, se conecta la tarjeta con la computadora usando el cable USB, se
enciende la tarjeta, se vincula y carga el archivo “.bit” que se generó con “xilinx” (este archivo
estará dentro de la carpeta de proyecto que creamos al inicio).
Tecnológico Nacional de México
Instituto Tecnológico de San juan del Rio
INGENIERÍA EN ELECTRONICA
5 Resultados y conclusiones
Después de realizar la práctica correspondiente, llegue a la conclusión de que muchas veces para
hacer un listado en VHDL es mejor guiarse con el comportamiento para hacer el diseño que hacerlo
con los diagramas, tiene ventajas como realizar la practica en menos tiempo y entender mejor el
funcionamiento ya que nosotros mismos lo vamos describiendo.
Pero, así como tiene sus ventajas, también cuenta con desventajas. Una de las mayores con las que
me encontré fue cuando no entendía como estaba interpretando el listado el programa. Por razones
como esa me demore mas tiempo, pero al final se pudo solucionar con la información de la referencia
Al principio yo me imaginé esta practica mas sencilla, pero al tratar de hacerla me costó más trabajo,
además de que tuve que pensar en cómo adaptar problemas mecánicos a los elementos con los que
cuenta la tarjeta.
Y por último quiero agregar que me gusto la practica porque vi esto como una aplicación real y muy
común en la vida diaria, algo que no sucede muy a menudo en las practicas
6 Anexos
Tecnológico Nacional de México
Instituto Tecnológico de San juan del Rio
INGENIERÍA EN ELECTRONICA
7 Referencias
• Stephen Brown y Zvonko Vranesic, (2006). Fundamentos de lógica digital con diseño
VHDL, segunda edición. México, México: Mcgraw-hill/interamericana editores, S.A. De
C.V.
• Marcos Sánchez-Élez (2014), Introducción a la programación en VHDL, Facultad de Informática
Universidad Complutense de Madrid.