Anda di halaman 1dari 3

1

FPGA Design Re-use and FSM Control Unit


Using USB Keyboard, UART Terminal, ADC, and
Vivado
Cellere Jonathan, Peña Abigail, Samaniego Daniel
Departamento de Eléctrica y Electrónica, Universidad de las Fuerzas Armadas ESPE
Sangolquí-Ecuador
jmcellere@espe.edu.ec,kapena@espe.edu.ec,dasamaniego1@espe.edu.ec


Nos centraremos en el uso de los módulos XADC y Keyboard,
Resumen—El diseño de chips ha sido complejo desde sus basándonos en una lista de tutoriales disponibles en la página
inicios, sin embargo, en la última década muchas herramientas oficial, pero ya que el lenguaje de programación principal será
y nuevos métodos han hecho que este sea muy sencillo. Con la VHDL y debido a que los módulos estos están escritos en
inmensa demanda de sistemas más rápidos, pero también la Verilog se tendrá que integrar ambos lenguajes de una manera
necesidad de que la tecnología se comprima 0.7 por apropiada.
generación, el uso de un dispositivo programable cuya En el modo de alarma permitirá ingresar un voltaje externo
interconexión y funcionalidad puede ser configurada mediante por el canal 1 del XADC y si este sobrepasa el voltaje umbral
un lenguaje descriptivo VHDL/Verilog en donde se puede de 0.63, se encenderá un led simulando la alarma, la cual solo
describir sistemas combinacionales, máquinas de estados, etc. podrá ser desactivada por el ingreso de la clave de tres dígitos
La complejidad de diseñar un nuevo sistema que contenga dos mediante teclado.
modos de operación: una alarma y un vúmetro, que además En el modo Vúmetro
utilizan módulos ADC y Keyboard pero también la incursión
de dos lenguajes diferentes aumenta, no obstante, para lograr
los objetivos nos basamos en conceptos esenciales como:
diseño Top-Down1, IP Cores2, Vivado3 y FSM4, que facilitaron II. DESCRIPCIÓN DEL DISEÑO
el diseño y aportaron a la integración de varios módulos tanto
en Vivado5 como en VHDL6 además de un mayor
aprovechamiento de funcionalidades de la tarjeta Basys3. A. Diagrama Jerárquico

Índice de Términos—Diseño, Chips, IP Cores, Vivado, Top


Down.
B. Módulos (Interfaces en Reference manual)
I. INTRODUCCIÓN
Gracias a la revisión del manual de referencia y el análisis de
los módulos de ejemplo que involucran interfaces y puertos,
---- Contexto fueron de gran ayuda para el desarrollo del laboratorio.

---- Estado Del Arte Keyboard


Este módulo fue de gran importancia y esencial para
el envío de los datos mediante teclado y su conexión
---- Descripción de contribuciones o contenido del reporte con el UART, el código que se muestra en la ventana
terminal del computador es “scan code” que por
En este reporte se proporciona un conocimiento general sobre defecto el módulo lo muestra así. Se debió editar
el diseño de un sistema que contenga dos modos de debido a que tenía configurado el muestreo de la tecla
funcionamiento, tal que el sistema funcione como una Alarma cuando se presiona y cuando se suelta, lo que se hizo
y un Vúmetro, pero para vencer la complejidad del mismo se fue Reuse Design y editar el código para que lo que
reutilizaran módulos disponibles en Vivado. se muestre sea a línea seguida sin espacios y que el
código se muestre únicamente al presionar la tecla.

Estos cambios se registran en las figuras () y ().
1
Top Down: Es un diseño jerárquico.
2
IP Cores: Núcleos de Propiedad Intelectual.
3
Vivado es el primer juego de herramientas de la industria para el
----------Captura de pantalla código de UART
desarrollo de System on Chip (SoC). TX-------------
4
FSM: Máquina de Estado Finita. ----------Captura de pantalla UART CON
5
Verilog: Lenguaje de programación para hardware. código--------------
6
VHDL: Lenguaje de programación para hardware.
2

XADC

C. FSM Selección de Modo


Para la selección de los modos que permitirán ingresar a la
activación de la alarma o del vúmetro, se realizó una máquina
secuencial de 3 estados la cual depende de los valores
ingresados por teclado, en este caso para que ingrese al
módulo de la alarma el valor dado por el teclado es ‘1’ y para
ingresar al módulo vúmetro el valor es ‘0’ los cuales se
traducen en su respectivo scan code. La gráfica del diseño de
la máquina secuencial se muestra en la figura (¿):

Fig. 2 Máquina clave de la Alarma


E. Vúmetro

III. IMPLEMENTACIÓN

Fig. 1 Máquina Selección de modos -----Códigos y Capturas de pantalla de sus módulos y/o test
D. FSM Alarma benchs

La máquina de estados que se necesita en el modo 1 está A. Módulos


diseñada con el propósito de verificar cuando se sobrepase el Keyboard
voltaje umbral, se prenda un led indicando que está encendida
la alarma. A continuación, cuando se encuentre encendida se
esperará que el ingreso por teclado de la clave sea el correcto, XADC
al ingresar la clave la alarma se desactivara lo cul será cuando
se apague el led. En la Fig.2 se muestra el funcionamiento de B. FSM Selección de Modo
la maquina secuencial como se observa el primer estado es el C. FSM Alarma
stM que verifica que el usuario ingreso al modo 1. Luego en el
siguiente estado stV se verifica cuando se sobrepase el voltaje Test bench realizado sobre el uso correcto de la alarma
umbral en este estado se enciende la alarma y en los siguientes simulando el ingreso correcto e incorrecto de la clave.
estados se verifica la clave en el estado stA se compara que el
primer digito de la clave haya sido ingresado correctamente
dando un salto al stB que compara el segundo digito y
finalmente el stC comprueba que se haya ingresado el tercer
digito de la clave correctamente saltando a un estado stD que
apaga el led de la alarma.
3

El lenguaje VHDL nos permite reutilizar módulos que ya


han sido desarrollados, depurados y probados con
instanciación de los mismos.
La creación del archivo Test Bench permite simular y
verificar que las operaciones que realiza las FSM sean las
correctas.
La integración de módulos en distintos lenguajes de
descripción de hardware (VHDL, Verilog) es posible en
Vivado Xilix mediante la creación de un Proyecto de
formato Mix.

VI. RECOMENDACIONES

Fig. 3 Test Bench máquina modo alarma

BIBLIOGRAFÍA
[1] G. O. Young, “Synthetic structure of industrial plastics
(Book style with paper title and editor),” in
Plastics, 2nd ed. vol. 3, J. Peters, Ed. New York:
McGraw-Hill, 1964, pp. 15–64.
[2] W.-K. Chen, Linear Networks and Systems (Book style).
Belmont, CA: Wadsworth, 1993, pp. 123–135.
Fig. 4 Ingreso correcto de la clave
[3] H. Poor, An Introduction to Signal Detection and
Estimation. New York: Springer-Verlag, 1985, ch. 4.

Fig. 5 Ingreso incorrecto de la clave

D. Vúmetro

IV. RESULTADOS

Utilización de recursos

V. CONCLUSIONES

El ambiente de desarrollo vivado Xilinx presta muchas


facilidades a la hora de elaborar un proyecto, por lo tanto,
es necesario realizar al inicio el esquema del Top ya que
es más fácil entenderlo con un gráfico del diseño previo a
la programación.

Anda mungkin juga menyukai