MicroBlaze

MicroBlaze
MicroBlaze
Designer Xilinx
Bits 32-bit
Version 8.20
Design RISC
Encoding Fixed
Endianness Big/Little
Open No
Registers
32 x 32 bits

The MicroBlaze is a soft processor core designed for Xilinx FPGAs from Xilinx. As a soft-core processor, MicroBlaze is implemented entirely in the general-purpose memory and logic fabric of Xilinx FPGAs.

Contents

Overview

In terms of its instruction-set architecture, MicroBlaze is very similar to the RISC-based DLX architecture described in a popular computer architecture book by Patterson and Hennessy. With few exceptions, the MicroBlaze can issue a new instruction every cycle, maintaining single-cycle throughput under most circumstances.

The MicroBlaze has a versatile interconnect system to support a variety of embedded applications. MicroBlaze's primary I/O bus, the CoreConnect PLB bus, is a traditional system-memory mapped transaction bus with master/slave capability. A newer version of the MicroBlaze, supported in both Spartan-6 and Virtex-6 implementations, as well as the 7-Series, supports the AXI specification. The majority of vendor-supplied and third-party IP interface to PLB directly (or through an PLB to OPB bus bridge.) For access to local-memory (FPGA BRAM), MicroBlaze uses a dedicated LMB bus, which reduces loading on the other buses. User-defined coprocessors are supported through a dedicated FIFO-style connection called FSL (Fast Simplex Link). The coprocessor(s) interface can accelerate computationally intensive algorithms by offloading parts or the entirety of the computation to a user-designed hardware module.

Many aspects of the MicroBlaze can be user configured: cache size, pipeline depth (3-stage or 5-stage), embedded peripherals, memory management unit, and bus-interfaces can be customized. The area-optimized version of MicroBlaze, which uses a 3-stage pipeline, sacrifices clock-frequency for reduced logic-area. The performance-optimized version expands the execution-pipeline to 5-stages, allowing top speeds of 210 MHz (*on Virtex-5 FPGA family.) Also, key processor instructions which are rarely used but more expensive to implement in hardware can be selectively added/removed (i.e. multiply, divide, and floating-point ops.) This customization enables a developer to make the appropriate design tradeoffs for a specific set of host hardware and application software requirements.

With the memory management unit, MicroBlaze is capable of hosting operating systems requiring hardware-based paging and protection, such as the Linux kernel. Otherwise it is limited to operating systems with a simplified protection and virtual memory-model: e.g. FreeRTOS or Linux without MMU support. MicroBlaze's overall throughput is substantially less than a comparable hardened CPU-core (such as the PowerPC440 in the Virtex-5.)

EDK

Xilinx's EDK (Embedded Development Kit) is the development package for building MicroBlaze (and PowerPC) embedded processor systems in Xilinx FPGAs. Hosted in the Eclipse IDE, the project manager consists of two separate environments: XPS and SDK.

Designers use XPS (Xilinx Platform Studio) to configure and build the hardware specification of their embedded system (processor core, memory-controller, I/O peripherals, etc.) The XPS converts the designer's platform specification into a synthesizeable RTL description (Verilog or VHDL), and writes a set of scripts to automate the implementation of the embedded system (from RTL to the bitstream-file.) For the MicroBlaze core, the EDK normally generates an encrypted (non human-readable) netlist, but the processor description (written in VHDL) can be purchased from Xilinx.

The SDK handles the software that will execute on the embedded system. Powered by the GNU toolchain (GNU Compiler Collection, GNU Debugger), the SDK enables programmers to write, compile, and debug C/C++ applications for their embedded system. Xilinx includes a cycle-accurate instruction set simulator (ISS), giving programmers the choice of testing their software in simulation, or using a suitable FPGA-board to download and execute on the actual system.

Purchasers of EDK or ISE Design Suite Embedded Edition(IDS) are granted a perpetual license to use MicroBlaze in Xilinx FPGAs with no recurring royalties. The license does not grant the right to use MicroBlaze outside of Xilinx's devices, which must be negotiated directly with Xilinx.

Alternative compilers and development tools have been made available from Altium but an EDK installation and license is still required.

Open Source

In June, 2009, MicroBlaze became the first soft-CPU architecture to be merged into the mainline Linux Kernel Source tree. This work was performed by Michal Simek and supported by PetaLogix and Xilinx.

In May, 2009, Edgar E. Iglesias contributed a MicroBlaze guest port for QEMU.

As of September 2009, MicroBlaze GNU tools support is also being contributed to the Free Software Foundation's mainline repositories. Support for MicroBlaze is included in GCC releases starting with version 4.6[1]  .

Clones

Other soft processors

See also

References

  1. ^ "GCC 4.6 Release Series Changes, New Features, and Fixes". 2011-03-15. http://gcc.gnu.org/gcc-4.6/changes.html#microblaze. Retrieved 2011-03-15. "Support has been added for the Xilinx MicroBlaze softcore processor (microblaze-elf) embedded target." 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • MicroBlaze — Le MicroBlaze est un cœur de processeur softcore 32 bits de la société Xilinx. Il est conçu pour être implémenté sur les FPGA de ce fabricant. Le code source de MicroBlaze est fermé[1]. Sommaire 1 Architecture 1.1 Ar …   Wikipédia en Français

  • MicroBlaze — MicroBlaze  soft процессорное ядро, разработанное компанией Xilinx для использования в FPGA. MicroBlaze реализуется с помощью стандартной логики и блоков памяти ПЛИС. С точки зрения архитектуры, 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… …   Deutsch Wikipedia

  • Microblaze — Le MicroBlaze est un cœur de processeur softcore 32 bits de la société Xilinx. Il est conçu pour être implémenté sur les FPGA de ce fabricant. Le code source de MicroBlaze est fermé[1]. Sommaire 1 Architecture 1.1 Architec …   Wikipédia en Français

  • Processeur softcore — Un processeur softcore est un processeur (CPU) implémenté sur un système reprogrammable comme un FPGA. On parle alors de système sur puce programmable (System on Programmable Chip ou SoPC). Sommaire 1 Présentation 2 Liste de processeurs softcore… …   Wikipédia en Français

  • Nios II — For School level education board in India, see National Institute of Open Schooling. Nios II Designer Altera Bits 32 bit Design RISC Endianness Little Open No …   Wikipedia

  • Soft-микропроцессор — Необходимо проверить качество перевода и привести статью в соответствие со стилистическими правилами Википедии. Вы можете помочь улучшить эту стать …   Википедия

  • OpenFire Soft Processor — The OpenFire soft processor is an open source Verilog implementation of the Xilinx MicroBlaze processor. Like the MicroBlaze, the OpenFire is a 32 bit RISC processor based on the DLX architecture by Hennessy and Patterson. The OpenFire was… …   Wikipedia

  • Liste des systèmes d'exploitation temps réel — Cette liste des systèmes d exploitation temps réel présente les systèmes d exploitation temps réel. Un RTOS est un système d exploitation pour les applications embarquées et temps réel permettant ainsi de garantir les contraintes et de fournir… …   Wikipédia en Français

  • Nios II — это 32 разрядная микропроцессорная архитектура для встраиваемых приложений (Soft микропроцессор), разработанная специально для ПЛИС фирмы Altera. Nios II является развитием архитектуры Nios и находит применение в различных встраиваемых… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”