MicroBlaze Processor FPU

The MicroBlaze™ soft processor now offers an integrated Floating-Point Unit (FPU) option for floating-point intensive embedded applications found in the industrial control and automotive area. The FPU handles single-precision floating point arithmetic and is IEEE-754 compatible. Its integration ensures high performance, low latency and a compact design. Because the MicroBlaze FPU is a configurable part of the MicroBlaze core, it takes no extra space in the FPGA if it is not needed.

The MicroBlaze FPU is fully supported by the Xilinx Platform Studio™ tool suite included in the Embedded Development Kit (EDK). The GNU compiler will automatically take advantage of the FPU by moving the floating point execution from software libraries to hardware. No changes are required to your source code. The MicroBlaze soft processor core with the FPU is licensed as part of the EDK.

FPU Key Features

  • Optional feature for MicroBlaze v7 core
  • Operations: Addition, subtraction, multiplication, division, and comparison (best case)
    • 4 cycles for addition, subtraction, and multiplication
    • 28 cycles for division
    • 1 cycles for comparison operations
  • IEEE-754 format 32-bit float including infinity, not-a-number, and signed zero
  • Peak performance of 50 MFLOPS on MicroBlaze v7 core at 200 MHz on Virtex™-5
  • About 40x speedup over software floating point
  • Compact design reuse the integer register file
    • Lower cost
    • No context save/restore overhead of floating point data
  • Configurable feature
  • Floating point exception support
    • Illegal operation
    • Divide by zero
    • Overflow
    • Underflow
    • Denormalized operand
  • FPU instructions are part of ISA for seamless tool support
  • Optimized for low cost and high performance

Common Applications

  • Industrial control
  • Automotive
  • Office automation

FPU Performance
The following table shows the maximum floating-point performance which MicroBlaze can achieve with an FPU and its corresponding area. The targeted system includes a GPIO and the FPU block. Execution is done from on-chip memory.

MicroBlaze Processor v7.0 FPU: Single Precision
FPGA Size Maximum Clock Frequency Peak Floating Point Throughput
Virtex-5 <1650 LUTs (850 FPU + 800 MB) 200 MHz 50 MFLOPS

FPU Performance Versus Software

Performance versus software

Figure 1

Comparative speeds for floating point performance.

The speed increase over software floating point execution depends on the application. These are relative numbers with and without the FPU.

Jobs Events Webcasts News Investors Feedback Legal Privacy Trademarks Sitemap
© 1994-2008 Xilinx, Inc. All Rights Reserved.