Integración Avanzada y Aplicaciones de Sistemas FPGA y Procesadores Nios II
Aprende a integrar sistemas complejos con FPGA y procesadores Nios II, aplicaciones de sistemas embebidos y sistemas de tiempo real
Profesor:
David Alexis Castillo
30 horas de contenido
Avanzado
- ¿Qué aprenderás?
- ✔ Integración de sistemas complejos
- ✔ Desarrollo de sistemas embebidos
- ✔ Crear sistemas de tiempo real
- ✔ Diseño de sistemas de control
- ¿Para quién está dirigido este curso?
- ✔ Ingenieros y técnicos
- ✔ Entusiastas y autodidactas
- ✔ Amantes del hardware
- Importancia de FPGA en la simulación de hardware y aplicaciones de gráficos.
- Explicación de la señalización VGA: sincronización horizontal y vertical.
- Resoluciones comunes y configuraciones de color en VGA.
- Diagrama de bloques de un controlador VGA simple.
- Descripción de las señales y su generación utilizando lógica programable.
- Carga del diseño en un FPGA y conexión con un monitor VGA.
- Análisis de los resultados y ajuste de parámetros para modificar la resolución y el color.
- Transformación pixel de una imagen por Matlab
- Libreria posicion y color de una imagen.
- Qué es un procesador soft-core y cómo se compara con los procesadores hard-core.
- Visión general de la familia de procesadores Nios II y sus características principales.
- Descripción de la arquitectura de Nios II: registros, unidades de ejecución, y opciones de personalización.
- Variantes del procesador Nios II (e, s, f) y sus aplicaciones.
- Introducción a Quartus Prime y al Nios II SBT.
- Configuración del entorno de desarrollo y requisitos del sistema.
- Utilización del Platform Designer (anteriormente Qsys) para diseñar un sistema embebido completo.
- Exploración de la arquitectura GPIO disponible en Nios II.
- Configuración de pines como entradas o salidas usando Platform Designer y Quartus Prime.
- Programación en lenguaje de alto nivel (C/C++)
- Descripción de la interfaz UART disponible en Nios II.
- Diseño del hardware: configuración del módulo UART y sus conexiones con Nios II.
- Desarrollo de software en C para manejar la UART: inicialización, recepción y transmisión de datos.
- Arquitectura de temporizadores disponibles en Nios II .
- Configuración de temporizadores usando Platform Designer.
- Desarrollo de software en C para configurar y manejar eventos de temporización.
- Ejemplos de código para iniciar, detener, y reiniciar temporizadores, y para manejar interrupciones
- Definición y evolución de los procesadores multinúcleo.
- Comparación entre arquitecturas de un solo núcleo y multinúcleo.
- Ventajas de los procesadores multinúcleo en términos de rendimiento y eficiencia energética.
- Desafíos en la programación paralela y la gestión de recursos.
- Explicación del formato de archivo .hex y su estructura.
- Diferencias entre los formatos de archivo más comunes utilizados en programación de dispositivos (.bin, .elf, .hex).
- Proceso de conversión de código fuente y archivos binarios a formato .hex.
- Programación de un dispositivo usando el archivo .hex y métodos no volátiles
- Creación de un módulo VHDL.
- Cómo convertir el módulo VHDL en un componente reutilizable mediante el Component Editor.
- Definición de interfaces y parámetros del componente.
- Configuración de un sistema en Platform Designer que incluya el procesador Nios II y el componente VHDL.
- Interconexión del componente VHDL con Nios II y otros componentes del sistema.
- Carga del diseño en FPGA y pruebas en hardware real.