-
Enable Barrel
Shifter: Enables a hardware barrel shifter in MicroBlaze. This parameter enables the instructions
bsrl,bsra,bsll,bsrli,bsrai,bslli,bsifi, andbsefi. With the 64-bit processor implementation the corresponding long instructions are also enabled. Enabling the barrel shifter can dramatically improve the performance of an application, but increases the size of the processor. The compiler uses the barrel shift instructions automatically if this parameter is enabled. -
Enable Integer
Multiplier: Enables a hardware integer multiplier in MicroBlaze. This parameter enables the instructions
mulandmuliwhen set to MUL32.When set to MUL64, this enables the additional instructions:
mulh,mulhu, andmulhsufor 64-bit multiplication. This parameter can be set to NONE to free upDSP48primitives in the device for other uses. Setting this parameter to NONE has a minor effect on the area of the MicroBlaze processor. When this parameter is enabled, the compiler uses themulinstructions automatically. -
Enable Floating Point Unit:
Enables a floating point unit (FPU) based on the IEEE-754 standard. Single-precision is available with the 32-bit processor
implementation and 64-bit implementation. Using the FPU significantly
improves the floating point performance of the application and significantly
increases the size of MicroBlaze.
The FPU implements instructions according to the RISC-V 'F' and 'D' Standard Extensions for Floating Point.
The FPU also requires that Integer Multiply and Divide is enabled.
Setting this parameter to BASIC enables
add,subtract,multiply,divide, andcompareinstructions. Setting it to EXTENDED also enablesconvertandsquare-rootinstructions.The compiler automatically uses the FPU instructions corresponding to setting of this parameter.
-
Enable Integer
Divider: Enables a hardware integer divider in MicroBlaze. This parameter enables the instructions
idivandidivu. Enabling this parameter can improve the performance of an application that performs integer division, but increases the size of the processor. When this parameter is enabled, the compiler uses theidivinstructions automatically. -
Enable Additional Machine
Status Register Instructions: Enables additional machine status
register (MSR) instructions for setting and clearing bits in the MSR. This parameter
enables the instructions
msrsetandmsrclr. Enabling this parameter improves the performance of changing bits in the MSR. -
Enable Pattern
Comparator: Enables pattern compare instructions
pcmpbf,pcmpeq, andpcmpne.The pattern compare bytes find (
pcmpbf) instructions return the position of the first byte that matches between two words and improves the performance of string and pattern matching operations. The AMD Vitis™ libraries use thepcmpbfinstructions automatically when this parameter is enabled.The
pcmpeqandpcmpneinstructions return 1 or 0 based on the equality of the two words. These instructions improve the performance of setting flags and the compiler uses them automatically. With the 64-bit processor implementation, the corresponding long instructions are also enabled.Selecting this option also enables count leading zeroes instruction,
clz. Theclzinstruction can improve performance of priority decoding, and normalization. -
Enable Reversed Load/Store
and Swap Instructions: Enables reversed load/store and swap
instructions
lbur,lhur,lwr,sbr,shr,swr,swapb, andswaph. With the 64-bit processor implementation, the long reversed load/store instructionsllrandslrare also enabled. The reversed load/store instructions read or write data with opposite endianness, and the swap instructions allow swapping bytes or half-words in registers. These instructions are mainly useful to improve performance when dealing with big-endian network access with a little-endian MicroBlaze. -
Enable Additional Stream
Instructions
: Provides additional functionality
when using AXI4-Stream links. This includes dynamic access instruction
getdandputdthat use registers to select the interface.The instructions are also extended with the following variants.
- Atomic
get,getd,put, andputdinstructions - Test-only
getandgetdinstructions -
getandgetdinstructions that generate a stream exception if the control bit is not set
Important: The extended stream instructions must be enabled to use these additional instructions, and at least one stream link must be selected. The stream exception must be enabled to use instructions that generate stream exceptions. - Atomic