General Settings - 2022.1 English

MicroBlaze Processor Embedded Design User Guide (UG1579)

Document ID
Release Date
2022.1 English

If a pre-defined template is not used, you can select the options from the pages, which are available for fine-tuning the MicroBlaze processor, based on your design needs. As you position the mouse over these different options, a tooltip informs you what the particular option means. The following bullets detail these options.

  • Select implementation optimization: When set to:
    • PERFORMANCE: Implementation is selected to optimize computational performance, using a five-stage pipeline.
    • AREA: Implementation is selected to optimize area, using a three-stage pipeline with lower instruction throughput.
    • FREQUENCY: Implementation is selected to optimize MicroBlaze frequency, using an eight-stage pipeline.
    Note: You cannot use the Memory Management Unit (MMU), Branch Target Cache, Instruction Cache Streams, Instruction Cache Victims, Data Cache Victims, and AXI Coherency Extension (ACE) with area optimization.
  • Enable MicroBlaze Debug Module Interface: Enable debug to be able to download and debug programs using Xilinx System Debugger (XSDB).
  • Use Instruction and Data Caches: You can use MicroBlaze with optional instruction and data caches for improved performance when executing code that resides outside the LMB address range.

    The caches have the following features:

    • Direct mapped (1-way associative)
    • User selectable cacheable memory address range
    • Configurable cache size
    • Caching over AXI4 interfaces (M_AXI_IC and M_AXI_DC)
    • Option to use 4, 8, or 16 word cache line
    • Cache on and off controlled using bits in the MSR
    • Optional WIC and WDC instructions to invalidate, clear or flush instruction cache lines
    • Optional instruction cache stream buffers to improve performance by speculatively prefetching instructions
    • Optional victim cache to improve performance by saving evicted cache lines
    • Optional parity protection; invalidates cache lines if Block RAM bit error is detected
    • Optional data width selection to either use 32 bits, an entire cache line, or 512 bits

    Activating caches significantly improves performance when using external memory, even if you must select small cache sizes to reduce resource usage.

  • Enable Exceptions: Enables exceptions when using an operating system with exception support, or when explicitly adding exception handlers in a standalone program.
  • Use Memory Management: Enables Memory Management if planning to use an operating system - such as Linux -with support for virtual memory of memory protection.
    Note: When you enable area optimized MicroBlaze or stack protection, the Memory Management Unit is not available.
  • Enable Discrete Ports: Enables discrete ports on the MicroBlaze instance, which is useful for:
    • Generating software breaks (Ext_BRK, Ext_NM_BRK)
    • Managing processor sleep and wakeup (Sleep, Hibernate, Suspend, Wakeup, Dbg_Wakeup)
    • Handling debug events (Debug_Stop, MB_Halted)
    • Signaling error when using fault tolerance (MB_Error)
    • Pausing the processor (Pause, Pause_Ack, Dbg_Continue)
    • Setting reset mode (Reset_Mode)