MicroBlaze y los Cores PDF Imprimir Email
Escrito por Raúl Milla
Sábado, 15 de Agosto de 2009 12:51

A raiz de la mención en los comentarios del articulo anterior y aunque no estaba en mi agenda hablar todavía sobre el tema, me gustaría dar algunas pinceladas sobre él porque pienso que es realmente interesante, sobre todo el concepto con el que está relacionado, los cores. MicroBlaze es el soft-core processor creado por Xilinx para sus FPGAs. El core está optimizado para ejecutar código C. Además del núcleo procesador, existen una gran variedad de periféricos oficiales y adicionalmente podemos crear cores de propósito específico para nuestra aplicación. Evidentemente no es objetivo hablar sobre sus especificaciones técnicas, para eso es mejor ver su página web, Xilinx. Tampoco nos resulta de interés en este punto explicar como se usa o su funcionamiento, con solo conocer el concepto basta.

Algunos pueden estar un poco perdidos y es normal, todavía no he comentado que es un core y no parará de aparecer en artículos posteriores. Lo intentaré explicar de forma sencilla y para ello me ayudaré del diagrama de bloques del sistema de control de Lego NXT:

esquema_nxt

En el diagrama se pueden ver claramente los distintos "cores" diferenciados, está el procesador principal ARM7 que sería el equivalente a MicroBlaze dotado con algunos periféricos, como una UART, I2C y SPI, además este sistema de control incorpora otros cores específicos para la aplicación como son el Bluetooth, el controlador para el Display, el co-procesador matemático, etc. Todo esto podríamos integralo en un único chip, nuestra FPGA a base de interconectar cores. Como vemos, está claro que no se parece a un micro-controlador, como ya comente anterioremente, es mucho más que eso, puesto que en una FPGA la arquitectura la definimos nosotros en función de nuestras necesidades y un micro-controlador podría ser un simple "core" de un sistema mucho más complejo.

El problema principal que tiene MicroBlaze es que no es libre, motivo por el que no trabajaremos con él desde ArCan Planet, para los interesados deciros que por la red circulan algunos tutoriales, que al menos a primera vista, parecen que tienen una calidad muy aceptable. Sin embargo recomiendo usar alternativas libres, que aunque en rendimiento se quedan por debajo de la solución aportada por Xilinx, su evolución es constante tal y como pasa con los kernels de linux, sin mencionar que para nuestro proposito, aprender!, resultará mucho más interesante y productivo trabajar con códigos totalmente abiertos donde poder ver "el como" hacer las cosas.

Hasta la próxima Arcanianos!

Leer más...
Actualizado ( Sábado, 15 de Agosto de 2009 13:42 )