Download Diapositiva 1 - El repositorio ESPE

Document related concepts

Linux embebido wikipedia , lookup

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