MicroBlaze Soft Processor Core

Overview

The MicroBlaze™ CPU is a family of drop-in, modifiable preset 32-bit/64-bit RISC microprocessor configurations. System designers can leverage the Vitis™ core development kit in 2019.2, or the Eclipse-based Xilinx Software Development Kit (SDK) in 2019.1 or earlier to start developing for the MicroBlaze processor using select evaluation kits, with no prior FPGA experience. The MicroBlaze processor meets the requirements of many diverse applications including Industrial, Medical, Automotive, Consumer, and Communications markets.

To help you quickly deploy your application, the MicroBlaze processor includes three preset configurations analogous to familiar processor classes.

  • Microcontroller: Suitable for running baremetal code
  • Real-Time Processor: Deterministic real-time processing on an RTOS
  • Application Processor: Embedded Linux capable

Experienced FPGA designers can use the Vivado® HL Edition design tools to target the MicroBlaze processor to any supported Xilinx device at no extra cost. Starting from one of these configurable presets, further customization is possible from a variety of specific processor options and a catalog of driver-enabled drag n’ drop peripherals such as PWMs, UARTs, DMAs, serial interfaces, to satisfy the specific needs of the application. It is also available as part of legacy IDS embedded edition for older FPGA device families like Spartan®-6.

Key Capabilities
  • 32-bit instruction set and general purpose registers
  • 32-bit address bus, extensible to 64 bits
  • Lockstep & TMR Capable
  • Optional floating point unit
  • Sleep, Hibernate, and Suspend Mode/Instructions
Processor Details

Key Drag n’ Drop Peripherals

General Purpose I/O Video Networking
  • Multichannel DMA
  • Streaming FIFO
  • Timer / Watchdog
  • Mutex / Mailbox
  • UART
  • USB 2.0
  • Quad SPI
  • GPIO
  • PWM
  • HDMI Camera/Display Interface
  • MIPI-CSI, MIPI-DSI
  • Video DMA
  • Ethernet subsystem
  • Controller Area Network

Preset Configurations


Click to enlarge

Microcontroller Preset (up to 200DMIPs)

  • 32-bit Processor Core
  • JTAG Debug Interface
  • Tightly Coupled Local Memory
  • SPI controller
  • I2C Controller
  • UART
  • Interrupt Controller
  • Timer
  • GPIO

Click to enlarge
Real-Time Processor Preset (up to 200DMIPs)
  • All Microcontroller Preset blocks
  • Instruction Cache
  • Memory Protection Unit
  • Data Cache
  • DDR Memory Controller

Click to enlarge
Application Processor Preset (up to 180DMIPs)
  • All Real-Time Processor Preset blocks
  • Memory Management Unit
  • Ethernet Controller

MicroBlaze Performance Metrics: Based on Vivado 2019.2

Device Microcontroller
(1.04 DMIPs/MHz)
Real-Time Processor
(1.31 DMIPs/MHz)
Applications Processor
(1.31 DMIPs/MHz)
Fmax DMIPS Fmax DMIPS Fmax DMIPS
Cost-Optimized Portfolio Devices
Spartan-7 (-2) 178 185 155 203 120 157
Artix-7 (-3) 204 212 172 225 146 191
Zynq 7000S (-2) 187 194 156 204 129 169
Zynq-7000 (-3) 212 220 171 224 141 185
FPGAs, 3D ICs, and MPSoCs
Kintex-7 (-3) 298 310 228 299 204 267
Virtex-7 (-3) 300 312 238 312 208 272
Kintex UltraScale (-3) 393 409 280 367 242 317
Virtex UltraScale (-3) 384 399 283 371 245 321
Kintex UltraScale+ (-3) 518 539 384 503 345 452
Virtex UltraScale+ (-3) 505 525 396 519 327 428
Zynq UltraScale+ MPSoC (-3) 493 513 379 496 329 431
Documentation

Documentation

Filter Results
Default Default Title Document Type Date
Training & Support
Video

Featured Videos


All Videos