Download Procesador Embebido Microblaze para FPGAs

Document related concepts
no text concepts found
Transcript
"Procesador Embebido
Microblaze para FPGAs"
Estanislao Aguayo, Becario de Investigación.
Departamento de Tecnología de Computadores,
Escuela Politécnica Superior. UAM.
Sumario
„
Introduccion
- Soft vs Hard processors
- Soft processor en una FPGA
„
„
„
„
IP cores para Microblaze
• Estándar Core Connect de IBM para
Microblaze
• Para OPB (On
(On--Chip peripheral bus)
• Otros IP interesantes
• Crea tus propios cores y sus drivers
Microblaze; Desarrollo de aplicaciones con
EDK 6.1
• Cadena dediseño y montaje
• Cadena de simulación
• Debugging
Microblaze Soft processor
• Arquitectura Interna
• Pipeline
• Registros internos
Repertorio de instrucciones
•
•
•
„
„
Interrupciones y excepciones
Configuraciones de buses
Memoria
Microblaze vs Otros sitemas
• Velocidad
• Consumo
• Tiempo de desarrollo y/o modificacion
del diseño
Referencias
"Procesador Embebido Microblaze" E.
Aguayo UAM
Sumario
Introduccion
- Soft vs Hard processors
- Soft processor en una FPGA
„
„
„
IP cores para Microblaze
•
Estándar Core Connect de IBM para Microblaze
•
Para OPB (On
(On--Chip peripheral bus)
•
Otros IP interesantes
•
Crea tus propios cores y sus drivers
Microblaze; Desarrollo de aplicaciones con EDK 6.1
•
Cadena dediseño y montaje
•
Cadena de simulación
•
Debugging
„
Microblaze Soft processor
•
Arquitectura Interna
•
Pipeline
•
•
•
•
•
Registros internos
Repertorio de instrucciones
Interrupciones y excepciones
Configuraciones de buses
Memoria
Microblaze vs Otros sitemas
•
Velocidad
•
Espacio
•
Consumo
•
Tiempo de desarrollo y/o modificacion del diseño
„
Referencias
„
"Procesador Embebido Microblaze" E.
Aguayo UAM
Soft vs Hard processors
Hard Processor; El procesador
es un circuito VLSI, con un diseño
a nivel de transistor optimizado
para ejecutar instrucciones en el
mínimo tiempo posible.
Soft Processor; El procesador se
implementa simulando su
comportamiento con un lenguaje
de programación (HDL en el caso
de Microblaze)
Ejemplos;
Power PC en
una Virtex II
pro, 8086,
Pentium…
architecture Behavioral of procesador is
…
If Ins_Entrada = Instrucción_Suma then
Acumulador <= Dato1 + Dato2
Endif;
…
"Procesador Embebido Microblaze" E.
Aguayo UAM
Soft processor en una FPGA
Microblaze es un soft processor descrito en VHDL.
VHDL describe la arquitectura que compone el procesador dentro
de la FPGA, Microblaze utiliza
Puertas Lógicas
Multiplexores
ALU
┌──────┘└─────┐
RAM
↑↑↑↑↑ HDL ↑↑↑↑↑
FPGA
┌──────┘└─────┐
Xilinx lo vende como un IP core.
Unidad de
Control
Registros
Internos
…
…
Procesador
FPGA => entre 432 (Spartan II 15K) hasta 125.136 (Virtex II Pro 125) celdas lógicas
MicroBlaze Soft Processor => alrededor de 1000 celdas lógicas (dependiendo de la FPGA)
"Procesador Embebido Microblaze" E.
Aguayo UAM
Sumario
„
„
Introduccion
¿FPGA?
Soft vs Hard processors
Soft processor en una FPGA
Ventajas de una FPGA: Conectividad, distribución de tareas
HWHW-SW
„
IP cores para Microblaze (Equipamiento opcional)
•
Estándar Core Connect de IBM para Microblaze
•
Para OPB (On
(On--Chip peripheral bus)
•
Otros IP interesantes
•
Crea tus propios cores y sus drivers
Microblaze vs Otros sistemas (Prestaciones)
•
Velocidad
•
Espacio
•
Consumo
•
Tiempo de desarrollo y/o modificación del diseño
„
„
Microblaze; Desarrollo de aplicaciones con EDK 6.1 (Manual de
conduccion)
conduccion)
•
Cadena dediseño y montaje
•
Cadena de simulación
•
Debugging
Microblaze Soft processor
• Arquitectura Interna
• Pipeline
• Registros internos
• Repertorio de instrucciones
• Interrupciones y excepciones
• Configuraciones de buses
• Memoria
„
„
„
Fpga´s que soportan Microblaze
Ejemplo de Aplicación de Microblaze
Referencias
"Procesador Embebido Microblaze" E.
Aguayo UAM
Arquitectura Interna
„
„
Arquitectura interna tipo Harvard
32x32bits registros internos
„
Buses
diseñados
para
soportar
CoreConnect
de IBM
"Procesador Embebido Microblaze" E.
Aguayo UAM
Pipeline
„
Solución arquitectónica para maximizar throughput (# datos procesados por
segundo)
Decodificación
Recepción
Ejecución
„
„
Todos los riesgos del pipeline son tratados por HW (Flush
(Flush automático)
Posibilidad de especificar el uso del pipeline en el código de la
instrucción.(Técnica Delay Slots,
,
para
reducir
la
penalización
por salto)
Slots
"Procesador Embebido Microblaze" E.
Aguayo UAM
Pipeline
Fetch
"Procesador Embebido Microblaze" E.
Aguayo UAM
Pipeline
Decode
"Procesador Embebido Microblaze" E.
Aguayo UAM
Pipeline
Execute
"Procesador Embebido Microblaze" E.
Aguayo UAM
Registros internos
„
32x32bit registros internos de propósito
general.
• Gran capacidad de direccionamiento de
memoria.
„
2 registros de propósito especifico
• PC
• MSR (Machine
(Machine Status Register);
Register); Acarreo,
Mascara de interrupciones, Configuración de
buses…
„
No hay registros de estado de programa
• Cambios de contexto ineficientes
"Procesador Embebido Microblaze" E.
Aguayo UAM
Repertorio de instrucciones
„
„
„
Procesador tipo RISC (Reduced
(Reduced Instruction Set
Computer)
Computer)
Las instrucciones operan con los registros internos
o con valores inmediatos.
87 instrucciones para realizar operaciones
lógicas, aritméticas, comparaciones (3 ciclos si
salta + 2 para rellenar el pipeline),
pipeline), accesos a
memoria…
"Procesador Embebido Microblaze" E.
Aguayo UAM
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
¿Cuanto de amigo en nuestro compilador?
• Uso del pipeline
• Instrucciones con carga de valor inmediato
"Procesador Embebido Microblaze" E.
Aguayo UAM
Interrupciones y excepciones
„
El procesador tiene un puerto de
interrupciones.
• 4 ciclos de reloj de latencia
• Disparada por nivel o flanco
„
„
Microblaze soporta excepciones
En ambos casos se modifica el
contenido de PC a un valor prefijado
y se almacena el antiguo valor en un
GPR.
"Procesador Embebido Microblaze" E.
Aguayo UAM
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 wakewake-up
Pila de direcciones implementada por
software.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Configuraciones de buses
Memoria RAM interna de la FPGA
Datos
Buses del procesador
Externa a través del OPB y el controlador
del dispositivo externo.
Memoria RAM interna de la FPGA
Instrucciones
Externa a través del OPB y el
controlador del dispositivo
externo.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Configuraciones de buses
„
El tamaño del bus de datos es dinámicamente
ajustable
• Solo con el protocolo “Legacy_devices”
• No es el más optimizado para FPGA´s,
FPGA´s, porque requiere
retransmisiones por parte del master para periféricos
mas pequeños, consumiendo muchos ciclos de reloj.
• El más optimizado es “Byte_enables”, con instrucciones
separadas para escribir Bytes,Half_Word´s y Word´s,
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.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Memoria
Interna
„
„
Acceso directo del
procesador a los Bloques
de RAM interna de la FPGA.
Memoria interna de la
FPGA
• Configurable para la
anchura de bus deseada,
pero con las técnicas
“Read_Sterring” y
“Write_Sterring”
„
Read Data Sterring
Write Data Sterring
Latencia de acceso a
memoria interna 2 ciclos
"Procesador Embebido Microblaze" E.
Aguayo UAM
Memoria
Externa
„
„
Memoria Externa; acceso a través
del OPB.
Latencia de acceso a memoria
externa 3 ciclos de reloj si no hay
ciclos de arbitrio para el OPB.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Sumario
„
Introduccion
¿Qué es una FPGA?
Soft vs Hard processors
Soft processor en una FPGA
Ventajas de una FPGA: Conectividad, distribución de tareas
HWHW-SW
Microblaze Soft processor (Equipamiento de serie)
•
Arquitectura Interna
•
Pipeline
•
Registros internos
•
Repertorio de instrucciones
•
Interrupciones y excepciones
•
Configuraciones de buses
•
Memoria
„
„
„
IP cores para Microblaze
• Estándar Core Connect de
IBM para Microblaze
• Para OPB (On
(On--Chip peripheral
bus)
• Otros IP interesantes
• Crea tus propios cores y sus
drivers
„
„
„
„
Microblaze vs Otros sitemas (Prestaciones)
•
Velocidad
•
Espacio
•
Consumo
•
Tiempo de desarrollo y/o modificacion del diseño
Microblaze; Desarrollo de aplicaciones con EDK 6.1 (Manual de
conduccion)
conduccion)
•
Cadena dediseño y montaje
•
Cadena de simulación
•
Debugging
Fpga´s que soportan Microblaze
Ejemplo de Aplicación de Microblaze
Referencias
"Procesador Embebido Microblaze" E.
Aguayo UAM
Arquitectura Core Connect de IBM para
Microblaze
„
„
Desarrollada para conectar
diferentes módulos integrados en
un mismo chip por IBM.
Xilinx lo ha tomado como
estándar
•
•
„
Ahorra tiempo de
diseño(Implementacion,
diseño(Implementacion,
simulacion …)
Portabilidad a nuestro diseño
OPB (On
(On--chip peripheral bus)
•
•
•
•
Bus síncrono de 32 bits para datos
e instrucciones por líneas
separadas (64 bits en total).
Permite la selección del tamaño
del bus dinámicamente
Soporta varios Masters,
Masters, protocolo
Byte enable y bus parking
Se le pueden añadir periféricos sin
cambiar I/O´s
I/O´s gracias a su
arquitectura con multiplexación
distribuida.
"Procesador Embebido Microblaze" E.
Aguayo UAM
IP cores para OPB (On-Chip peripheral bus)
„
Desarrollados por Xilinx para utilizar toda
la potencia de microblaze y facilitar
diseños. (IP cores muy estudiados, configurables y con
diagramas de tiempos muy detallados.)
• EMC (Controlador de memoria externa)
• Controlador de interrupciones
• UART (Receptor/Transmisor asincrono
universal, para comunicaciones serie)
• GPIO(Entrada/Salida
GPIO(Entrada/Salida de proposiyo general)
• Timer/
Timer/Counter
• JTAGJTAG-UART(Joint test Action Group Universal,
estándar IEEE1149)
"Procesador Embebido Microblaze" E.
Aguayo UAM
Otros IP interesantes
„
„
„
„
„
„
„
„
„
Decodificador Viterbi para corrección de
errores
10 Gigabit Media Access Controller
Controlador Ethernet 10/100
Procesador Bluetooth
Interfaz PCI, I2C, DDR RAM
DSP, filtros digitales, FFT (hasta 1024
puntos)
Interfaces para procesadores externos
Microcontroladores (Como el 8051)
…
"Procesador Embebido Microblaze" E.
Aguayo UAM
Crea tus propios cores y sus drivers
„
Para OPB o para
PLB
Xilinx ayuda con el IPIF,
un modulo para
conectar tu core con el
OPB.
Para crear
masters y
esclavos
„
Driver
"Procesador Embebido Microblaze" E.
Aguayo UAM
Crea tus propios cores y sus drivers
"Procesador Embebido Microblaze" E.
Aguayo UAM
Sumario
„
„
Introduccion
¿FPGA?
Soft vs Hard processors
Soft processor en una FPGA
Ventajas de una FPGA: Conectividad, distribución de tareas
HWHW-SW
„
IP cores para Microblaze (Equipamiento opcional)
•
Estándar Core Connect de IBM para Microblaze
•
Para OPB (On
(On--Chip peripheral bus)
•
Otros IP interesantes
•
Crea tus propios cores y sus drivers
Microblaze; Desarrollo de aplicaciones con EDK 6.1 (Manual de
conduccion)
conduccion)
•
Cadena dediseño y montaje
•
Cadena de simulación
•
Debugging
„
Microblaze Soft processor (Equipamiento de serie)
•
Arquitectura Interna
•
Pipeline
•
Registros internos
•
Repertorio de instrucciones
•
Interrupciones y excepciones
•
Configuraciones de buses
•
Memoria
„
„
Microblaze vs Otros sistemas
• Velocidad
• Consumo
• Tiempo de desarrollo y/o
modificación del diseño
Referencias
"Procesador Embebido Microblaze" E.
Aguayo UAM
Velocidad
„
„
„
8051 50 MHz: 0.5
D-MIPS
Pentium IV 2.8
GHz: 5340 D-MIPS
MicroBlaze en Vitex
II Pro a 150 MHz:
125 D_MIPS
"Procesador Embebido Microblaze" E.
Aguayo UAM
Consumo
„
?
„
„
8051 Alrededor de
200 mW
Spartan IIE 300K
800mW
(Microblaze IP
core)
P IV 2.8 GHz
alrededor de 60 W
"Procesador Embebido Microblaze" E.
Aguayo UAM
Tiempo de desarrollo y/o modificación del diseño
„
Ejemplo de
comparación;
implementación del
procesador
paralelo TOTEM
diseñado para
hacer
multiplicaciones de
matices
"Procesador Embebido Microblaze" E.
Aguayo UAM
Sumario
„
„
„
Introduccion
¿FPGA?
Soft vs Hard processors
Soft processor en una FPGA
Ventajas de una FPGA: Conectividad, distribución de tareas
HWHW-SW
IP cores para Microblaze (Equipamiento opcional)
•
Estándar Core Connect de IBM para Microblaze
•
Para OPB (On
(On--Chip peripheral bus)
•
Otros IP interesantes
•
Crea tus propios cores y sus drivers
Microblaze; Desarrollo de
aplicaciones con EDK 6.1
• Cadena de diseño y montaje
• Cadena de simulación
• Debugging
Microblaze Soft processor (Equipamiento de serie)
•
Arquitectura Interna
•
Pipeline
•
Registros internos
•
Repertorio de instrucciones
•
Interrupciones y excepciones
•
Configuraciones de buses
•
Memoria
„
Microblaze vs Otros sistemas (Prestaciones)
•
Velocidad
•
Espacio
•
Consumo
•
Tiempo de desarrollo y/o modificación del diseño
„
„
„
„
Fpga´s que soportan Microblaze
Ejemplo de Aplicación de Microblaze
Referencias
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje: Microblaze
system hardware
Descripción del Hardware, el archivo .MHS
„
•
•
•
•
•
„
„
Periféricos
Configuración de buses de Microblaze
Conexiones internas del sistema
Distribución de la memoria
Configuración de los periféricos y versión de
los mismos (aunque se puede hacer en un
archivo aparte .MPD y cargarlo a PlatGen)
PlatGen)
XPS dentro de EDK 6.1 ofrece un
tutorial para crear este archivo.
Solo tres comandos de asignación;
•
•
•
BUS_INTERFACE
PARAMETER (Hardware)
PORT
BEGINmicroblaze
PARAMETERINSTANCE=microblaze_0
PARAMETERHW_VER=2.00.a
PARAMETERC_DEBUG_ENABLED=1
PARAMETERC_NUMBER_OF_PC_BRK=8
PARAMETERC_NUMBER_OF_RD_ADDR_BRK=1
PARAMETERC_NUMBER_OF_WR_ADDR_BRK=1
PARAMETERC_USE_ICACHE=1
PARAMETERC_CACHE_BYTE_SIZE=8192
PARAMETERC_USE_DCACHE=0
PARAMETERC_ICACHE_BASEADDR=0x14000000
PARAMETERC_ICACHE_HIGHADDR=0x16003fff
PARAMETERC_ADDR_TAG_BITS=13
BUS_INTERFACEDLMB=dlmb
BUS_INTERFACEILMB=ilmb
BUS_INTERFACEDOPB=mb_opb
BUS_INTERFACEIOPB=mb_opb
PORTCLK=sys_clk_s
PORTDBG_CAPTURE=DBG_CAPTURE_s
PORTDBG_CLK=DBG_CLK_s
PORTDBG_REG_EN=DBG_REG_EN_s
PORTDBG_TDI=DBG_TDI_s
PORTDBG_TDO=DBG_TDO_s
PORTDBG_UPDATE=DBG_UPDATE_s
END
BEGINopb_v20
PARAMETERINSTANCE=mb_opb
PARAMETERHW_VER=1.10.b
PARAMETERC_EXT_RESET_HIGH=0
PORTSYS_Rst=sys_rst_s
PORTOPB_Clk=sys_clk_s
END
HDL (VHDL o Verilog) compilable
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje: Microblaze
system hardware
Distribución de la memoria en un sistema Microblaze
Memoria de sistema
El bit 24 define direcciones en
el chip (si es cero) o fuera del
chip (si es uno)
┌──────┘└─────┐
Dirección 0x0000 0000
Dirección dispositivos
"Procesador Embebido Microblaze" E.
Aguayo UAM
←--- Espacios
huecos en el
espacio de
direccionamiento
Cadena de diseño y montaje: Microblaze
system hardware
Descripción del
archivo .MPD
(Microprocessor
Peripheral Description)
Description)
„
• Cualquier parámetro
dentro del archivo .MPD
será reescrito si esta
especificado en el .MHS
• Facilita el intercambio
de IP cores
• Descarga al archivo
.MHS de información
especifica de los IP.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje: Microblaze
system hardware
Xilinx´s Platform Generator;
Generator; Coge el archivo .MHS y genera archivos para
implementación (.ngc
(.ngc datos de diseño lógico y constricciones), traducción a HDL (
.v o .vhd
), síntesis (.prj
.vhd),
(.prj para ISE) y BlockRAM Memory Map (.bmm
(.bmm))
„
„
PlatGen necesita cargar los directorios de los IP utilizados
en el diseño.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje: Microblaze
system software
Descripción del
software, el archivo
.MSS
„
• Parámetros de los
drivers
• Especificación librerías
utilizadas
• Archivos de sistema
Creado para el
generador de librerías
LibGen en EDK 6.1
„
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje: Microblaze
system software
Xilinx´s LibGen coge el archivo .MSS, .MHS (dependencia harwareharware-software) y la
librerías especificadas en el MSS y comprueba errores sintácticos
sintácticos genera un árbol
de directorios con los ficheros necesarios para la implementación
implementación en la FPGA.
„
„
El compilador se encargara de generar el fichero con el código y las
funciones integradas, utilizando los drivers de cada periférico.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje: Microblaze
system software
Crea tus propias librerías para LibGen
El archivo MLD esta
asociado a uno o
varios .h
Necesitaremos los archivos MLD
(Microprocessor Library
Definition, para la definición de
datos)) y Tcl (Tool Comand
Language, para la generación de
datos, aunque no es necesario)
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje: Microblaze
system software
Crea tus propios drivers
El archivo .MDD servirá a LibGen configurar los drivers, junto con
los archivos fuentes del mismo.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Cadena de diseño y montaje: Microblaze
system software
Código C en nuestro sistema Microblaze
„
Compilación sencilla con mb_gcc, un
compilador GNU
executable.elf:
file format elf32-microblaze
Disassembly of section .text:
#include "xgpio.h"
#include "xparameters.h"
void my_sleep(unsigned int seconds){
int i = 0;
unsigned int delay = 13000000;
for (i=0;i<(seconds*delay);i++){}
}
main(){
XGpio leds;
XGpio dips;
int j,k = 0;
//initialize leds
XGpio_Initialize(&leds, XPAR_LEDS_4BIT_DEVICE_ID);
XGpio_SetDataDirection(&leds, 0x00000000);
//initialize GPIO used as an input for the DIP switch
XGpio_Initialize(&dips, XPAR_DIPS_8BIT_DEVICE_ID);
XGpio_SetDataDirection(&dips, 0x000000F1);
xil_printf("The dIP Switch will set the delay in seconds\n");
while(1){
j=(j+1)%16;
//Write the value of j to the LED
XGpio_DiscreteWrite(&leds, ~j);
//Read the value from the DIP switch
k = XGpio_DiscreteRead(&dips);
xil_printf("Count = %d, DIP= %d \n\r" ,j,k);
my_sleep(k);
}
"Procesador Embebido
}
Aguayo
00000000 <_start>:
0:
b8000018
// 18 <_start1>
4:
80000000
8:
b0007fff
c:
b808ffff
10:
b0007fff
14:
b808ffff
bri
24
or
imm
brai
imm
brai
r0, r0, r0
32767
-1
32767
-1
00000018 <_start1>:
18:
21a01228
addi
// 1228 <_SDA_BASE_>
1c:
20401160
addi
// 1160 <_SDA2_BASE_>
20:
20201478
addi
24:
20c001f4
addi
// 1f4 <_exception_handler>
28:
d8c10000
sw
2c:
c4e10000
lhu
30:
f4e0000a
shi
34:
f4c0000e
shi
38:
20c001fc
addi
// 1fc <_interrupt_handler>
3c:
d8c10000
sw
40:
c4e10000
lhu
44:
f4e00012
shi
Microblaze" 48:
E.
f4c00016
shi
4c:
b9f40028
brlid
UAM
Cadena de diseño y montaje: Microblaze
system software
Mapeo de nuestro código por el compilador
„
„
Un Linker Script
define el origen y
la longitud de la
memoria local y de
la externa, para
datos e
instrucciones
Varias opciones de
compilación
"Procesador Embebido Microblaze" E.
Aguayo UAM
r13, r0, 4648
r2, r0, 4448
r1, r0, 5240
r6, r0, 500
r6, r1, r0
r7, r1, r0
r7, r0, 10
r6, r0, 14
r6, r0, 508
r6, r1, r0
r7, r1, r0
r7, r0, 18
r6, r0, 22
r15, 40
Cadena de simulación
„
„
„
„
SimGen es capaz de generar un modelo
en VHDL de nuestro sistema.
Solo tendremos que crear un testbench
para nuestro sistema
Esta opción puede ser poco produceente
por ejemplo al usar UART´s
Necesitaremos Modelsim u otro simulador
de HDL para realizar la simulación
"Procesador Embebido Microblaze" E.
Aguayo UAM
Debugging
„
„
„
„
„
XMD sirve a GDB
(debugger de GNU) a
través de TCP/IP
Opciones del debugging
indicadas antes de
compilar
Varios modos para XMD y
Microblaze de conectar
Modo simulador de
instrucciones solo para el
procesador, sin periféricos
XMD incluido en EDK 6.1
"Procesador Embebido Microblaze" E.
Aguayo UAM
Ejemplo de Aplicación de Microblaze
RTOS (Real Time
Operating System)
Sierra16 de RealFast
Parte del SO
implementado en
hardware para
ahorrar espacio de
memoria
Semaforos,
Semaforos,
Priorizacion,
Priorizacion, timers.
timers.
Accesibilida en
paralelo por hardware
a recursos
Monitor para
dubugging,
dubugging, accesos a
memoria en
procesadores
paralelos.
"Procesador Embebido Microblaze" E.
Aguayo UAM
Referencias
„
„
„
„
„
„
„
Get RealFast RTOS with Xilinx FPGAs
by Tommy Klevin,
Klevin, Product Manager, RealFast
SoftTOTEM:
:
SoftTOTEM AN FPGA IMPLEMENTATION OF THE TOTEM
PARALLEL PROCESSOR Stephanie McBader,
McBader, Luca
Clementel,
Clementel, Alvise Sartori,
Sartori, Andrea Boni and Peter Lee
Reconfigurable computing,
computing, Eduardo Sanchez Laboratoire de
Systèmes Logiques,
Logiques, Ecole Polytechnique Fédérale de
Lausanne
Mary Jane Irwin,
Irwin, CSE 597D Embedded Systems Desing,
Desing,
Pennsylvania State University.
University.
Configuracion de FPGA´s xilinx,
xilinx, Sergio LopezLopez-Buedo.
Buedo.
Introduccion a los circuitos VLSI, Eduardo Boemo.
www.xilinx.com
"Procesador Embebido Microblaze" E.
Aguayo UAM