- MicroBlaze
-
MicroBlaze ist ein in FPGAs der Firma Xilinx verwendbarer Mikrocontroller. Dieser Mikrocontroller existiert als Besonderheit nicht als physische Hardware, sondern ist nur als in Hardwarebeschreibungssprachen wie VHDL und Verilog verfasster Softcore verfügbar. Durch die spezielle Optimierung auf die Besonderheiten bestimmter FPGA-Bausteine ist der Logikbedarf dieses Mikrocontrollers gering und bewegt sich je nach Ausbaustufe und Version zwischen rund 700 und über 2000 Slices.
Microblaze ist ein 32 Bit RISC Mikrocontroller der in der Architektur von dem DLX-Mikroprozessor motiviert ist. Es besitzt eine konfigurierbare 3- bis 5-stufige Pipeline, internen Cache, verfügt über einen Interrupt, eine hardwarebasierenden Multiplizierer und optional eine hardwarebasierende Divisionseinheit, eine Gleitkommaeinheit und spezielle Schieberegistereinheiten. Er besitzt mehrere unterschiedliche Busse welche für den Anschluss von umfangreicher Peripherie und Speicher in einem FPGA vorgesehen sind.
Der Prozessor hängt primär an einem FPGA-internen CoreConnect-Bus (auch bekannt als PLB). Zusammen mit optionalem externem Speicher und weiteren Peripherieeinheiten am PLB oder OPB entsteht ein System-on-a-Chip.
Als Entwicklungsystem kommt die GNU Compiler Collection zur Anwendung, die von Xilinx um eine grafische Oberfläche mit der Bezeichnung EDK ergänzt wurde und die Integration in die FPGA-Hardware erleichtern soll. Daneben gibt es noch eine auf Eclipse basierende Entwicklungsumgebung. Als Betriebssysteme können bei Bedarf µClinux, Linux[1] oder FreeRTOS eingesetzt werden.
Neben der kostenpflichtigen Version des Microblaze, welcher durch vertragliche Beschränkungen nur auf FPGA-Bausteinen der Firma Xilinx eingesetzt werden darf, existieren diverse Nachbauten, welche quelloffen und binärkompatibel sind und auch auf FPGAs anderer Hersteller eingesetzt werden dürfen, Beispielsweise der aeMB und der OpenFire. Der aeMB-MicroBlaze-Clone steht unter der LGPL-Lizenz und verfügt, im Gegensatz zu seinem Vorbild, über einen bei OpenCores [2] üblichen Wishbone-Bus, der den Anschluss vieler fertiger und meist ebenfalls quelloffener FPGA-IO-Module ermöglicht [3]. Xilinx stellt außerdem einen weniger leistungsstarken Softcore zur Verfügung, den PicoBlaze.
Einzelnachweise
- ↑ kernelnewbies 2.6.30Support Microblaze CPU architecture
- ↑ Opencores IP-Cores, die unter einer Open Source Lizenz veröffentlicht wurden
- ↑ Wishbone-Spezifikation (engl.)
Weblinks
- Webseite von Xilinx zum MicroBlaze
- http://www.opencores.org/project,aemb - Eine binärkompatible, quelloffene Implementierung in Verilog, unter der LGPL-Lizenz
- OpenFire - Eine alternative quelloffene Implementierung des MicroBlaze mit (noch) reduziertem Funktionsumfang (z.B. ohne Hardwaredivision), unter der MIT-Lizenz
- Stabile Portierung der 2.4er-Reihe des µC-Linux-Kernels für den MicroBlaze (siehe auch µCLinux)
- git-SCM MicroBlaze Sektion im Linux-Kernel ab 2.6.30
Wikimedia Foundation.