CODIGO VHDL CONVERTIDOR DECIMAL HEXADECIMAL

UCEVA, Sánchez Cristian, Semáforo y detector de secuencias con FPGA SEMAFORO Y DETECTOR DE SECUENCIAS Sánchez Moreno, C

Views 147 Downloads 0 File size 608KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UCEVA, Sánchez Cristian, Semáforo y detector de secuencias con FPGA

SEMAFORO Y DETECTOR DE SECUENCIAS Sánchez Moreno, Cristian Andrés. {ing-crissan}@hotmail.com Unidad Central del Valle del Cauca

Resumen—Este artículo contiene los pasos que se llevaron a cabo para el desarrollo de un semáforo y un detector de secuencias, ambos implementados en una FPGA, para los que se usaron diagramas de estados, los cuales son de mucha utilidad para ejercicios de este tipo, los resultados obtenidos se visualizarán a través de diodos emisores de luz, los cuales identificaran si mi salida para el caso del detector de secuencias está en estado ALTO o BAJO. Abstract— This article contains the steps carried out for developing a traffic light and a detector sequence, both implemented in a FPGA, for which state diagrams were used, which are very useful for such exercises, the results are displayed by light emitting diodes, which identify if my output for the case of sequence detector is HIGH or LOW state. Índice de Términos FPGA, QUARTUS II, VHDL, HARDWARE, MAQUINA ESTADOS, MAQUINA TIPO MALEY, MAQUINA TIPO MOORE

I. INTRODUCCIÓN

E

L CONOCIMIENTO DEL LENGUAJE VHDL SE HA CONVERTIDO EN ALGO IMPRENSINDIBLE PARA TODOS LOS INGENIEROS QUE ESTAN DE ALGUNA MANERA LIGADOS AL DESARROLLO DE SUSTEMAS ELECTRONICOS DIGITALES. Y no solo de los que quieran convertirse en diseñadores de circuitos integrados. A través de el, el ingeniero se da cuenta de la importancia de la simulación como herramienta de ayuda al diseño, se acostumbra a estructurar los procedimientos de diseño y adquiere conciencia de la importancia que el hardware tiene en el desarrollo de las tecnologías de la información.

De este modo se aplicaran los conceptos adquiridos para hacer de máquinas de estado de tipo MALEY y t MOORE, de las cuales se utilizó la máquina de estado tipo MOORE para el semáforo y la MALEY para el detector de secuencias, ya que de este modo los cálculos se simplificaban más y facilitaba la construcción del código vhdl para cada caso. II. OBJETIVOS A. Objetivo General Generar dos scripts en vhdl los cuales permitan el desarrollo de un código en donde se pueda simular el funcionamiento de un semáforo de 3 vías y un detector de secuencias utilizando máquinas de estado. B. Objetivos Específicos  Interpretar los resultados obtenidos mediante el análisis del código, las variables y como estas influyen en cada función.  Interpretar como la fpga se comunica con el programa quartus II, para poder obtener los datos que se ingresen a través del hardware (switches o pulsadores de la fpga).  Crear un script el cual permita ingresar una ráfaga de bits mediante los pulsadores de la fpga y si se ingresa la secuencia deseada, se encenderá un led identificando que la secuencia se detectó.  Identificar los componentes que intervienen en el desarrollo del código y la implementación de hardware para el semáforo de 3 vías, como la asignación de pines en la fpga para cada semáforo, y

UCEVA, Sánchez Cristian, Semáforo y detector de secuencias con FPGA

la máquina de estados que hará las veces de temporizador y coordinación de los semáforos.

III. MARCO TEÓRICO fpga: Un FPGA (o Field Programmable Gate Array). Es un dispositivo semiconductor que posee bloques lógicos interconectados para que puedan ser programados. Quartus II: Es un ambiente completo disponible para el diseño de sistemas programables en un Chip, y de desarrollo que permite añadir archivos de programación y configuración.

Figura 2 Maquina tipo Moore Maquina estados: Son circuitos secuenciales que se encuentran constituidos por una etapa combinacional y una etapa de memoria, relacionadas de tal forma que conforman un sistema secuencial para algún propósito especial. Los registros y contadores con entradas asincrónicas son ejemplos de este tipo de sistemas secuenciales.

Vhdl: Es un lenguaje de descripción del hardware que puede utilizarse para modelar, documentar, simular, verificar y sintetizar un sistema digital. IV. PROCEDIMIENTO Hardware: Se refiere a todas las partes tangibles de un sistema informático; sus componentes pueden ser tanto eléctricos, electrónicos, electromecánicos y mecánicos. Maquina tipo maley: En esta máquina de estados las salidas se encuentran determinadas por el estado interno del sistema y por las entradas no sincronizadas con el circuito. El diagrama de bloques representativo de esta máquina se muestra en la figura 1, donde se observa que las salidas del sistema son tanto sincrónicas como asincrónicas.

Figura 1 Maquina tipo Mealy. Maquina tipo Moore: Las salidas solo dependen del estado interno y de cualquier entrada sincronizada con el circuito, como se observa en la figura 2. Donde las salidas del sistema son únicamente sincrónicas. Un ejemplo de este tipo de máquinas de estado son los contadores.

1.) GENERACION CODIGO RELOJ 1 HZ En la figura 1 se muestra el código que se generó para realizar el clk, el cual optimiza la frecuencia de la FPGA de 50MHZ a 1Hz, para poder que el reloj trabaje en tiempo real.

UCEVA, Sánchez Cristian, Semáforo y detector de secuencias con FPGA

Figura 1 Código clk a 1hz

En la figura 2 y figura 3 se puede ver el código generado para el funcionamiento del detector de secuencias, en donde se realizan una serie de estados, donde se usaron un total de 7 estados. En donde el bit input me identifica si a la entrada de cada estado hay un 0 o un 1, y así poder pasar al estado siguiente o quedarme en el mismo dependiendo de la condición.

Figura 2 Código Detector parte 1

UCEVA, Sánchez Cristian, Semáforo y detector de secuencias con FPGA

Figura 5 detectando secuencia 1001

En la figura 6 se muestra la asignacion de puertos en la fpga, donde se le asigna al vector salidadisplay cada uno de los segmentos del diaplay 7 segmentos, con el fin de que me identifique si estoy ingresando un 0 o un 1 y facilitar la visualizacion de datos.

Figura 3 Código Detector parte 2 En la figura 4 vemos la simulación para una secuencia de entrada determinada en este caso a la maquina le entra la secuencia 1001,001 y como vemos al terminar la secuencia a la salida veo un 1 hasta el nuevo flanco de subida, pero como al final del blanco termino en un 0 y me llega otro 0 y un nuevo 1 la secuencia se mantiene porque me detecta a la vez el 001.

Figura 6 Asignación puertos FPGA

En la figura 7, 8 Y 9 se pueden ver las partes del código generado para el semáforo, en donde se necesitan 30 estados que serían la suma de cada uno de los estados de los leds de cada semáforo. Para ello se utilizó una maquina moore, ya que esta es más práctica para este tipo de casos, y poder facilitar la resolución del semaforo.

Figura 4 Simulación detector En la figura 5 se muestra el detector probado en la fpga, en donde se ingresa la secuencia 1001, y al final se enciende el led LEDRO, porque me detecto una secuencia correcta.

UCEVA, Sánchez Cristian, Semáforo y detector de secuencias con FPGA

Figura 7 parte 1 código semáforo

Figura 9 parte 3 código semáforo En la figura 10 se muestra el semáforo funcionando en la FPGA, en donde se muestra en el primer display los conteos correspondientes a cada estado del led rojo para cada semáforo.

Figura 8 parte 2 código semáforo Figura 10 Semáforo en la FPGA

UCEVA, Sánchez Cristian, Semáforo y detector de secuencias con FPGA

al usuario a interpretar datos y corregir errores de programación.

V. CONCLUSIONES -Se demostró la importancia que tiene una fpga para el diseño de programas digitales, siendo un aliado importante para volver reales los códigos hechos en vhdl.

-Se aprendió que a la hora de capturar los datos de una fpga y llevarlos a nuestro programa es importante conocer los comandos que se requieren como la declaración de puertos.

VI. BIBLIOGRAFIA

-Se aprendió que las máquinas de estado son un elemento muy importante para el diseño de circuitos secuenciales y ayudan a reducir cálculos en circuitos que requieren gran cantidad de estados.

[1] DISEÑO DE SISTEMAS DIGITALES CON VHDL [en línea] Disponible en: http://books.google.com.co/books [Citado el 6 de octubre de 2014].

-Se aprendió que Quartus II es una herramienta muy importante para la programación en vhdl, ya que contiene herramientas interactivas que ayudan

[2PROGRAMACION EN VHDL [en línea]. http://ladecadence.net/trastero/VHDL%20Maxine z.pdf [Citado el 6 de Octubre de 2014].