Sumario
Introduccion Microblaze Soft processor
- Soft vs Hard processors Arquitectura Interna
- Soft processor en una FPGA Pipeline
Registros internos
Repertorio de instrucciones
Interrupciones y excepciones
IP cores para Microblaze Configuraciones de buses
Estndar Core Connect de IBM para Memoria
Microblaze
Para OPB (On(On--Chip peripheral bus)
Otros IP interesantes Microblaze vs Otros sitemas
Crea tus propios cores y sus drivers Velocidad
Consumo
Tiempo de desarrollo y/o modificacion
del diseo
Microblaze; Desarrollo de aplicaciones con
EDK 6.1
Cadena dediseo y montaje
Cadena de simulacin Referencias
Debugging
RAM ALU
HDL
Unidad de
Puertas Lgicas Control
FPGA Procesador
Registros
Multiplexores Internos
FPGA => entre 432 (Spartan II 15K) hasta 125.136 (Virtex II Pro 125) celdas lgicas
MicroBlaze Soft Processor => alrededor de 1000 celdas lgicas (dependiendo de la FPGA)
"Procesador Embebido Microblaze" E.
Aguayo UAM
Sumario
Introduccion Microblaze Soft processor
- FPGA?
- Soft vs Hard processors Arquitectura Interna
- Soft processor en una FPGA
- Ventajas de una FPGA: Conectividad, distribucin de tareas Pipeline
HW-
HW-SW
Registros internos
Repertorio de instrucciones
Interrupciones y excepciones
IP cores para Microblaze (Equipamiento opcional) Configuraciones de buses
Estndar Core Connect de IBM para Microblaze
Para OPB (On
(On--Chip peripheral bus) Memoria
Otros IP interesantes
Crea tus propios cores y sus drivers
Buses
diseados
para
soportar
CoreConnect
de IBM
Pipeline
Decodificacin
Recepcin
Ejecucin
Pipeline
Decode
Registros internos
32x32bit registros internos de propsito
general.
Gran capacidad de direccionamiento de
memoria.
2 registros de propsito especifico
PC
MSR (Machine
(Machine Status Register);
Register); Acarreo,
Mascara de interrupciones, Configuracin de
buses
Repertorio de instrucciones
Cuestiones sobre el repertorio de instrucciones
Instrucciones de 32bits;
Espacio de memoria
Ancho de banda de la memoria
Mas bits, mas potencia consumida
Code density
Interrupciones y excepciones
Si hay diferentes prioridades de
interrupciones, necesitaremos un IP.
Aumento de la latencia de interrupciones
Manejo de interrupciones torpe
No hay interrupciones tipo wake-
wake-up
Datos
Externa a travs del OPB y el controlador
del dispositivo externo.
Buses del procesador
Memoria RAM interna de la FPGA
Instrucciones
Externa a travs del OPB y el
controlador del dispositivo
externo.
Configuraciones de buses
El tamao del bus de datos es dinmicamente
ajustable
Solo con el protocolo Legacy_devices
No es el ms optimizado para FPGAs,
FPGAs, porque requiere
retransmisiones por parte del master para perifricos
mas pequeos, consumiendo muchos ciclos de reloj.
El ms optimizado es Byte_enables, con instrucciones
separadas para escribir Bytes,Half_Words y Words,
para manejar el bus, incluidas en el repertorio de
instrucciones.
El de instrucciones no soporta este modo.
El bus de instrucciones tiene el puerto de
escritura implementado, para conservar
consistencia con el de datos.
Memoria interna de la
FPGA
Configurable para la
anchura de bus deseada,
pero con las tcnicas Write Data Sterring
Read_Sterring y
Write_Sterring
Latencia de acceso a
memoria interna 2 ciclos
Memoria
Externa
Memoria Externa; acceso a travs
del OPB.
Latencia de acceso a memoria
externa 3 ciclos de reloj si no hay
ciclos de arbitrio para el OPB.
Otros IP interesantes
Para crear
masters y
esclavos
Driver
"Procesador Embebido Microblaze" E.
Aguayo UAM
Velocidad
8051 Alrededor de
200 mW
?
Spartan IIE 300K
800mW
(Microblaze IP
core)
P IV 2.8 GHz
alrededor de 60 W
Ejemplo de
comparacin;
implementacin del
procesador
paralelo TOTEM
diseado para
hacer
multiplicaciones de
matices
Microblaze; Desarrollo de
aplicaciones con EDK 6.1
Cadena de diseo y montaje
Cadena de simulacin Fpgas que soportan Microblaze
Ejemplo de Aplicacin de Microblaze
Debugging
Referencias
Memoria de sistema
Un Linker Script
define el origen y
la longitud de la
memoria local y de
la externa, para
datos e
instrucciones
Varias opciones de
compilacin
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de simulacin
Debugging
Referencias