Download Diapositiva 1 - El repositorio ESPE
Transcript
Julio Cadena Gabriel Mollocana 1 de 51 DISEÑO DE HARDWARE Y SOFTWARE DE SYSTEMS-ON-CHIP, EMPLEANDO TECNOLOGIA XILINX EDK ESTADO DEL ARTE XILINX SPARTAN-6 FPGA EMBEDDED KIT DISEÑO DE LA APLICACIÓN RESULTADOS OBTENIDOS CONCLUSIONES Y RECOMENDACIONES 2 de 51 DISEÑO DE HARDWARE Y SOFTWARE DE SYSTEMS-ON-CHIP, EMPLEANDO TECNOLOGIA XILINX EDK ESTADO DEL ARTE XILINX SPARTAN-6 FPGA EMBEDDED KIT DISEÑO DE LA APLICACIÓN RESULTADOS OBTENIDOS CONCLUSIONES Y RECOMENDACIONES 3 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 4 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 5 de 51 SISTEMA EMBEBIDO BASADO EN FPGA REUTILIZACIÓN E INTEGRACIÓN DE COMPONENTES DISMINUCIÓN EN EL TIEMPO DE DISEÑO TIME TO MARKET – TIME IN MARKET 6 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 7 de 51 TIPO NIVEL DE SOFT CORE FIRM CORE HARD CORE RTL, gate level Gate level, layout Layout ABSTRACCION Descripción de DESCRIPCION VHDL, Verilog Netlist transistores A todas las Limitada a tecnologías Optimizada a una tecnologías probadas tecnología especifica FLEXIBILIDAD Alta Limitada Muy poca PREVISIBILIDAD Baja Buena PORTABILIDAD Alta y definida por la tecnología 8 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 9 de 51 Esta arquitectura integra varios componentes heterogéneos en el mismo chip. La arquitectura dentro del chip utiliza un Sistema Distribuido con una topología tipo BUS ya que todos sus componentes comparten la misma. . línea de comunicación 10 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 11 de 51 DISMINUIR TIEMPO DE DISEÑO. MEJORAR LA ESPERANZA DE VIDA DE UN PRODUCTO. INTEGRAR GRANDES DISEÑOS EN UN SOLO CHIP. DESARROLLAR PARALELAMENTE HARDWARE Y SOFTWARE. 12 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 13 de 51 Flujo de Diseño Tradicional Diseñado por grupos Independientes de expertos Flujo del Codiseño Diseñado por el mismo grupo de expertos en cooperación OPTIMIZACIÓN 14 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 15 de 51 16 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 17 de 51 • Están dedicados Tienen Definición General: a tareas restricciones de específicas tiempo real Es un sistema computacional con Concurrencia Bajo Consumo un dealto grado integración procesos de energía de Hardware (HW) y Software (SW), que son diseñados para desempeñar una función Bajo Precio Bajo Peso específica. Pequeñas Dimensiones Generalmente emplean un (RTOS) 18 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 19 de 51 Sistemas que responden a eventos externos de una manera oportuna, es decir el tiempo de respuesta está garantizado 20 de 51 Los sistemas se clasifican en dos tipos de acuerdo al grado de tolerancia al incumplimiento de plazos: • Sistemas Hard de Tiempo Real • Sistemas Soft de Tiempo Real 21 de 51 SoC(System on Chip) Estado del Arte IP Cores Arquitectura SoCs Proceso de Diseño Co-Diseño de HW y SW Metodologías de Diseño Sistemas Embebidos Sistemas Embebidos en Tiempo Real RTOS 22 de 51 Definición: es un programa que realiza la ejecución de programas en forma oportuna, administra los recursos del sistema, y proporciona una base coherente para el desarrollo de código de aplicación. Peta Linux Tornado/Vx Works QNX RT-Linux Lynx OSE ThreadX 23 de 51 DISEÑO DE HARDWARE Y SOFTWARE DE SYSTEMS-ON-CHIP, EMPLEANDO TECNOLOGIA XILINX EDK ESTADO DEL ARTE XILINX SPARTAN-6 FPGA EMBEDDED KIT DISEÑO DE LA APLICACIÓN RESULTADOS OBTENIDOS CONCLUSIONES Y RECOMENDACIONES 24 de 51 XILINX SPARTAN-6 FPGA EMBEDDED KIT Plataforma de Hardware XPS Plataforma de Software SDK Microblaze Processor Subsystem 25 de 51 26 de 51 Selección de IP Cores desde Archivos dede conexiones Expansión y buses el IP catalog Acceso a de los IPs asosiados los proyectos Puertos Interfaces de Buses Direcciones Desarrollo de las aplicaciones de Software Panel de Conexiones en System Assembly View Vista del Diagrama de Bloques del Sistema Ventana de Consola 27 de 51 Aplicación en C Plataforma de Hardware Board Support Package Ventana Explorador de Proyectos Ventana de Interacción y Programación Ventana de Consola 28 de 51 XILINX SPARTAN-6 FPGA EMBEDDED KIT Plataforma de Hardware XPS Plataforma de Software SDK Microblaze Processor Subsystem 29 de 51 30 de 51 DISEÑO DE HARDWARE Y SOFTWARE DE SYSTEMS-ON-CHIP, EMPLEANDO TECNOLOGIA XILINX EDK ESTADO DEL ARTE XILINX SPARTAN-6 FPGA EMBEDDED KIT DISEÑO DE LA APLICACIÓN RESULTADOS OBTENIDOS CONCLUSIONES Y RECOMENDACIONES 31 de 51 DISEÑO DE LA APLICACIÓN CAPA HARDWARE CAPA SISTEMA OPERATIVO CAPA APLICACIÓN 32 de 51 DISEÑO DE LA APLICACIÓN CAPA HARDWARE CAPA SISTEMA OPERATIVO CAPA APLICACIÓN 33 de 51 34 de 51 35 de 51 DISEÑO DE LA APLICACIÓN CAPA HARDWARE CAPA SISTEMA OPERATIVO CAPA APLICACIÓN 36 de 51 HILOS XILKERNEL INTERRUPCIONES SEMAFOROS 37 de 51 DISEÑO DE LA APLICACIÓN CAPA HARDWARE CAPA SISTEMA OPERATIVO CAPA APLICACIÓN 38 de 51 39 de 51 DISEÑO DE HARDWARE Y SOFTWARE DE SYSTEMS-ON-CHIP, EMPLEANDO TECNOLOGIA XILINX EDK ESTADO DEL ARTE XILINX SPARTAN-6 FPGA EMBEDDED KIT DISEÑO DE LA APLICACIÓN RESULTADOS OBTENIDOS CONCLUSIONES Y RECOMENDACIONES 40 de 51 RESULTADOS OBTENIDOS CAPA HARDWARE CAPA SISTEMA OPERATIVO CAPA APLICACIÓN 41 de 51 RESULTADOS OBTENIDOS CAPA HARDWARE CAPA SISTEMA OPERATIVO CAPA APLICACIÓN 42 de 51 43 de 51 RESULTADOS OBTENIDOS CAPA HARDWARE CAPA SISTEMA OPERATIVO CAPA APLICACIÓN 44 de 51 45 de 51 RESULTADOS OBTENIDOS CAPA HARDWARE CAPA SISTEMA OPERATIVO CAPA APLICACIÓN 46 de 51 SETUP: Plataforma de hardware inicializada correctamente. Iniciando Xilkernel... SHELL: Xilkernel inicializado SHELL: Inicializando reloj... RELOJ: Registrado gestor de interrupciones para el timer del reloj. RELOJ: Configurando timer del reloj para generar interrupciones cada segundo .. RELOJ: Interrupción de reloj habilitada ... shell> 47 de 51 DISEÑO DE HARDWARE Y SOFTWARE DE SYSTEMS-ON-CHIP, EMPLEANDO TECNOLOGIA XILINX EDK ESTADO DEL ARTE XILINX SPARTAN-6 FPGA EMBEDDED KIT DISEÑO DE LA APLICACIÓN RESULTADOS OBTENIDOS CONCLUSIONES Y RECOMENDACIONES 48 de 51 Prolongación Implementación de Sistemas Escalables y Flexibes Optimización en cada Capa Disminución en el tiempo de diseño Utilización de Herramientas de diseño de Xilinx 49 de 51 Estudiar Estado del Arte Tomar en cuenta posibles cambios al eliminar IP Cores Estudiar Hoja de datos de cada IP Core Emplear Chip Scope Pro Configurar adecuadamente el archivo linker scrip 50 de 51 FIN GRACIAS POR SU ATENCIÓN 51 de 51 1 2 3 4 • PERSONALIZACIÓN DEL MICROBLAZE PROCESSOR SUBSYSTEM • RESULTADO EN DIAGRAMA DE BLOQUES (VISTA RTL) • ASIGNACIÓN DE PINES DEL FPGA SPARTAN 6 EN EL ARCHIVO UCF • GENERACIÓN Y EXPORTACIÓN DEL BITSTREAM DE LA PLATAFORMA DE HARDWARE 52 1 • PERSONALIZACIÓN DEL MICROBLAZE PROCESSOR SUBSYSTEM 53 1 2 3 4 • PERSONALIZACIÓN DEL MICROBLAZE PROCESSOR SUBSYSTEM • RESULTADO EN DIAGRAMA DE BLOQUES (VISTA RTL) • ASIGNACIÓN DE PINES DEL FPGA SPARTAN 6 EN EL ARCHIVO UCF • GENERACIÓN Y EXPORTACIÓN DEL BITSTREAM DE LA PLATAFORMA DE HARDWARE 54 NET 1 • PERSONALIZACIÓN DEL MICROBLAZE PROCESSOR SUBSYSTEM DAC_out_pin LOC = E21 | IOSTANDAR = LVCMOS25; • RESULTADO EN DIAGRAMA DE BLOQUES (VISTA RTL) 2 es el nombre de la conexión externa. DAC_out_pin, E21, es el pin físico del FPGA. DE PINES DEL FPGA SPARTAN 6 • ASIGNACIÓN EN EL ARCHIVO LVCMOS25, es el estándar de E/S y UCF depende del banco donde se encuentra el pin físico del FPGA 3 4 • GENERACIÓN Y EXPORTACIÓN DEL BITSTREAM DE LA PLATAFORMA DE HARDWARE 55 1 2 3 4 • PERSONALIZACIÓN DEL MICROBLAZE PROCESSOR SUBSYSTEM • RESULTADO EN DIAGRAMA DE BLOQUES (VISTA RTL) • ASIGNACIÓN DE PINES DEL FPGA SPARTAN 6 EN EL ARCHIVO UCF • GENERACIÓN Y EXPORTACIÓN DEL BITSTREAM DE LA PLATAFORMA DE HARDWARE 56 1 2 3 4 • CREACIÓN DE UN WORKSPACE EN SDK • IMPORTACIÓN DE LA PLATAFORMA DE HARDWARE • CREACIÓN Y CONFIGURACIÓN DEL BSP • CREACIÓN DEL PROYECTO DE SOFTWARE 57 1 2 3 4 • CREACIÓN DE UN WORKSPACE EN SDK • IMPORTACIÓN DE LA PLATAFORMA DE HARDWARE • CREACIÓN Y CONFIGURACIÓN DEL BSP • CREACIÓN DEL PROYECTO DE SOFTWARE 58 1 2 3 4 • CREACIÓN DE UN WORKSPACE EN SDK • IMPORTACIÓN DE LA PLATAFORMA DE HARDWARE • CREACIÓN Y CONFIGURACIÓN DEL BSP • CREACIÓN DEL PROYECTO DE SOFTWARE 59 1 2 3 4 • CREACIÓN DE UN WORKSPACE EN SDK • IMPORTACIÓN DE LA PLATAFORMA DE HARDWARE • CREACIÓN Y CONFIGURACIÓN DEL BSP • CREACIÓN DEL PROYECTO DE SOFTWARE 60 DESCRIPCION ARCHIVO Shell CLI (Comand Line Interface) con comandos básicos para interactuar con el shell.c sistema operativo, es capaz de cargar y ejecutar nuevos hilos. Este archivo implementa un hilo que sirve de clock.c reloj del sistema capaz de ser seteado. Se ejecuta siempre en paralelo al resto de hilos. Este archivo contiene el hilo para control oncontrol_on_off.c temperatura y su bucle control. • CREACIÓN off DEde UN WORKSPACE EN de SDK Este archivo contiene el hilo para control PID control_pid.c de temperatura y su bucle de control. Este DE archivo contiene funciones • IMPORTACIÓN LA PLATAFORMA DEpara realizar HARDWAREsetup de hardware , lectura del sensor a control_header.c través del ADC, inicializar el timer de muestreo y para el ingreso de números • CREACIÓN enteros. Y CONFIGURACIÓN DEL BSP Archivo de cabecera que contiene los prototipos de las funciones del archivo control_header.h control_header.c, además de definiciones • CREACIÓN DEL PROYECTO DE SOFTWARE generales de la aplicación. 1 2 3 4 lscript.ld Asocia todas las secciones del programa a la memoria DDR3 externa de la tarjeta SP605. Define un tamaño de pila (stack size) de 2Kb necesario para ejecutar los hilos de control. 61