General Settings - 2023.2 English

MicroBlaze Processor Embedded Design User Guide (UG1579)

Document ID
UG1579
Release Date
2023-11-01
Version
2023.2 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-bit, an entire cache line, or 512-bit

    Activating caches significantly improves performance when using external memory. Ensure to 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)