TAZ-TFG-2017-094


Generación automática de bancos de registros en VHDL mediante una herramienta de traducción en JavaCC

Alcolea Moreno, Adrián
Resano Ezcaray, Javier (dir.) ; Navarro Tabernero, Denis (dir.)

Universidad de Zaragoza, EINA, 2017
Informática e Ingeniería de Sistemas department, Arquitectura y Tecnología de Computadores area

Graduado en Ingeniería Informática

Abstract: La empresa de electrodomésticos Balay utiliza el lenguaje de descripción de hardware VHDL para realizar el diseño de sus circuitos integrados. En el desarrollo de los mismos, la necesidad de modificar habitualmente los bancos de registros acaba suponiendo una sobrecarga de trabajo. Para solucionarlo se ha planteado este proyecto desde la empresa, cuyo objetivo principal es "desarrollar un software para la generación automática de bancos de registros en lenguaje VHDL a partir de unas especificaciones". En el desarrollo de este proyecto se han llevado a cabo tres tareas principales. Por un lado, se ha definido un formato sencillo mediante el cual realizar las especificaciones de los bancos de registros en una hoja de cálculo de manera muy visual. Este formato permite detallar todas las características de los registros que la empresa requiere. Por otro, se han diseñado los bancos de registros VHDL que deben generarse. Se ha tenido en cuenta la importancia de hacer un código claro y legible, aunque vaya a ser generado de manera automática. Para ello se han utilizado estrategias como definir ciertas especificaciones en un fichero de librería separado, o la creación de registros genéricos a partir de los cuales se realizan las instancias dentro de los bancos. Finalmente, se ha desarrollado el programa de traducción que, tomando las especificaciones como entrada, genera automáticamente los ficheros VHDL que contienen la definición de los bancos de registros especificados, respetando siempre el formato y comportamiento descritos en la entrada. Para el desarrollo del traductor se ha utilizado el lenguaje Java junto con JavaCC, un lenguaje específico para la generación de analizadores sintácticos. Esto ha facilitado el diseño y organización del programa, y ha permitido adaptar el análisis de la entrada de forma iterativa, conforme se concretaban aspectos de las especificaciones.

Tipo de Trabajo Académico: Trabajo Fin de Grado

Creative Commons License

El registro pertenece a las siguientes colecciones:
Academic Works > Trabajos Académicos por Centro > escuela-de-ingeniería-y-arquitectura
Academic Works > End-of-grade works



Back to search

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)