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.
Recommended: It is recommended to select AREA optimization on architectures with limited resources such as AMD AMD Artix™ 7 or Spartan 7 devices. Selecting FREQUENCY optimization is recommended to reach system frequency targets, particularly with cache-based external memory, MMU, and/or large LMB memory. However, if performance is critical, do not select AREA or FREQUENCY optimization because some instructions require additional clock cycles to execute.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). Recommended: Unless area resources are very critical, it is recommended that debugging always is enabled.
-
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
)
- Generating software breaks (