Publicación: Simplificación del hardware complementario de funcionamiento del nanochip El Gran Jaguar y optimización de software de lectura de Python usando multihilos y multiprocesamiento
Portada
Citas bibliográficas
Código QR
Autores
Autor corporativo
Recolector de datos
Otros/Desconocido
Director audiovisual
Editor
Tipo de Material
Fecha
Citación
Título de serie/ reporte/ volumen/ colección
Es Parte de
Resumen en español
En este proyecto se desarrolló e implementó un sistema de comunicación que combina la funcionalidad de una FPGA y una Raspberry Pi, diseñado específicamente para el procesamiento eficiente de señales en tiempo real. Como parte de los objetivos a cumplir, se incluyó la descripción en Verilog de nuevas celdas generadas por la última versión de la síntesis lógica. Otro objetivo fue la simplificación del hardware, eliminando la Tiva C para que las señales fueran recibidas directamente por la Raspberry Pi. Finalmente, el objetivo más importante fue implementar nuevas técnicas de procesamiento en Python, como multithreading y multiprocessing, para garantizar que el audio se reproduzca en tiempo real. Primero, se desarrolló el código en la Raspberry Pi, comenzando con pruebas de funciones como el reloj, el envío de la señal de inicio y la recepción de los 8 bits. Para estas pruebas se utilizó un Arduino Nano como simulador de la FPGA. Una vez que las técnicas de procesamiento aplicadas tuvieron éxito, se incorporaron los otros bits de configuración inicial, incluyendo el reset y la selección de idioma. Para reproducir el audio, se seleccionó la librería gTTS, que utiliza la voz de Google y permite elegir el idioma en el que se pronunciará el texto. Para cumplir con el objetivo de procesar señales en tiempo real, se emplearon procesos en paralelo, colas para gestionar las frases y limpieza de recursos al analizar. En cuanto a las simulaciones, se siguió la documentación heredada de promociones anteriores, que incluyó la creación de nuevos proyectos y la documentación de las black boxes. Las simulaciones se realizaron en el programa ISE Design; primero, se creó el proyecto y se seleccionó el modelo de la FPGA. Luego, se agregaron los códigos de la síntesis lógica y las black boxes. Dado que se realizaron cambios en la síntesis, se generaron nuevas black boxes que fueron añadidas al documento en Verilog. Para su creación, fue necesario consultar los documentos proporcionados por TSMC. Además, se elaboró un archivo .ucf para defi nir la conexión física de los pines de entrada y salida. Las simulaciones en ISim incluyeron configuraciones de pines como el reloj, reinicio, selección de idioma e inicio, verificando su funcionamiento y aprendiendo a manejar los pines de configuración. Para futuros trabajos, se sugiere incorporar una memoria no volátil en la FPGA, lo que permitiría conservar la configuración incluso después de apagar el dispositivo, eliminando la necesidad de recargar los datos en cada inicio. También se recomienda el desarrollo de una interfaz gráfica que facilite la interacción del usuario, permitiendo configuraciones intuitivas como la selección de idioma o ajustes de las configuraciones.
Resumen en inglés
In this project, a communication system was developed and implemented, combining the functionality of an FPGA and a Raspberry Pi, specifically designed for eficient real-time signal processing. One of the objectives included describing new cells in Verilog, generated by the latest version of logical synthesis. Another goal was to simplify the hardware by removing the Tiva C, allowing the signals to be received directly by the Raspberry Pi. Finally, the most important objective was to implement new processing techniques in Python, such as multithreading and multiprocessing, to ensure real-time audio playback. First, the code was developed on the Raspberry Pi, starting with tests of functions like the clock, sending the start signal, and receiving the 8 bits. An Arduino Nano was used as an FPGA simulator for these tests. Once the applied processing techniques succeeded, the additional configuration bits were incorporated, including reset and language selection. For audio playback, the gTTS library was selected, as it uses Google's voice and allows choosing the language for text pronunciation. To achieve real-time signal processing, parallel processes were employed, queues were used to manage the phrases, and resources were cleaned up upon completion. Regarding the simulations, the documentation inherited from previous cohorts was followed, including the creation of new projects and the documentation of Black boxes. The simulations were conducted using the ISE Design software. First, the project was created, and the FPGA model was selected. Then, the logical synthesis codes and Black boxes were added. Since changes were made to the synthesis, new Black boxes were generated and added to the Verilog document. For their creation, it was necessary to consult the documentation provided by TSMC. Additionally, a .ucf le was prepared to define the physical connection of input and output pins. Simulations in ISim included configurations for pins such as the clock, reset, language selection, and start, verifying their functionality and learning how to handle the configuration pins. For future work, it is suggested to incorporate non-volatile memory into the FPGA, which would allow the configuration to persist even after powering o the device, eliminating the need to reload data upon each startup. It is also recommended to develop a graphical interface to facilitate user interaction, enabling intuitive configurations such as language selection or adjustments to settings.
Descargar PDF
Vista en línea 

