uLAB

Interfaz de controles virtuales para el desarrollo de aplicaciones interactivas en FPGA

Virtual controls interface for the development of interactive applications in FPGA

Miguel Risco Castillo

Resumen

El desarrollo de aplicaciones en FPGA (Field Programmable Gate Array), por su nivel de complejidad, establece un grado de dificultad adicional al que supone la realización tareas con resultados similares usando microprocesadores o microcontroladores, por este motivo, las FPGA suelen usarse donde este esfuerzo añadido es justificado, ya sea por su enorme flexibilidad o en tareas en el que, el procesamiento en paralelo, uno de los puntos fuertes de estos dispositivos, sea requerido. Sin embargo existen aplicaciones intermedias en donde, siendo razonable el uso de las FPGA, resulta complejo el diseño de los métodos de control que permiten al usuario interactuar con el sistema, distrayendo al diseñador de la aplicación de los objetivos principales. Durante la instrucción en el uso de estos dispositivos sucede algo similar, el docente y alumno suelen distraer su atención en la solución de problemas de interconexión específicos del hardware que se esté usando como herramienta de desarrollo y muchas veces el cambio de estas herramientas supone una modificación drástica de los parámetros del ejercicio, del mismo modo, hay proyectos en los que se descarta el uso de tarjetas de prototipos por no disponer del número de controles o interfaces suficientes para el ingreso de datos o presentación de los resultados. Este trabajo presenta una herramienta que consiste en los elementos de software y núcleos IP (intellectual property) para FPGA necesarios que permiten la implementación de un conjunto de controles virtuales en PC (computadora personal) que interactúan automáticamente con un componente sintetizable en VHDL usando una conexión serie disponible en la mayoría del hardware de desarrollo. La complejidad del sistema permanece oculta de cara al diseñador y éste accede a un conjunto de señales de entrada y salida fácilmente identificables con sus símiles virtuales. La aplicación resultante es un sistema transparente en donde el usuario puede interactuar con su diseño al interior de la FPGA directamente desde el panel de controles virtuales en PC proporcionando estímulos manuales o automáticos y mostrando los posibles resultados mediante representaciones binarias, hexadecimales e incluso gráficas. Este método de control y presentación de resultados se viene usando en el desarrollo de los ejercicios del curso, que sobre diseño en VHDL y FPGA, dicta el laboratorio multidisciplinario del centro internacional de física teórica (ICTP), entre otras aplicaciones. El software para PC y el núcleo IP específico para la FPGA se distribuyen gratuitamente y sin limitaciones para fines educativos y de investigación previa autorización del autor.

Palabras claves: FPGA, control virtual, aplicaciones interactivas

Ver artículo completo AQUI