Migrating RTL designs from the MicroBlaze Processor to the MicroBlaze V Processor
Table of Contents
Overview
The MicroBlaze V Processor is based on the MicroBlaze Processor. As a result, migration between the two is not difficult. For IPI based designs we offer an automation to convert MicroBlaze designs to MicroBlaze V. This automation script can also serve as a guide for those migrating RTL (IP Catalog) designs. The script can be found in a Vivado installation at data/rsb/design_assist/block/microblaze/convert.tcl
Both Lockstep and TMR RTL designs are beyond the scope of this document. They are supported in the IPI automation. RTL Lockstep and TMR designs should follow the basic steps here but care will be needed to ensure all processors have the same configuration.
MDM Migration
The MDM and MDM V IPs are almost identical in external configuration and interfaces. In most cases, the MDM V IP will be a drop-in replacement for the MDM IP. There are some parameters/generics related to use in combination with the BSCAN switch that most customers will not encounter. These can be resolved by looking at PG115 and PG428 or by creating the equivalent design in IPI and copying the applied configuration to the RTL design.
Migrating the processor IP
As with the MDM IP, migrating the processor IP is not difficult.
Ports
The vast majority of ports are identical between the two processors IPs. The trace interface on MicroBlaze V is slightly different but that is to be expected and it is too niche to cover here. There are some small changes to note.
MicroBlaze Processor | MicroBlaze V Processor | Notes |
|---|---|---|
Mb_Reset | - | Was internally logically OR’d with Reset, replace with external logical OR (is active low so will require some care). |
MB_Halted | Halted | Renamed |
MB_Error | Error | Renamed |
Parameters and Generics
There are some parameter/generic differences to take into account.
These notes are here to summarize the user guide, in places where they conflict the user guide should be taken as the source of truth. The MicroBlaze Processor configuration section can be found in UG984. The MicroBlaze V configuration section can be found in UG1629.
MicroBlaze Processor | MicroBlaze V Processor | Notes |
|---|---|---|
C_ADDR_SIZE | C_ADDR_SIZE | If using the MMU with virtual memory in a 64-bit system, choose 39, 48 or 57 to match the RISC-V spec. If using virtual memory, copy the value from MicroBlaze. |
C_AREA_OPTIMIZED | C_OPTIMIZATION | Values have the same meaning with the addition of Throughput (see UG1629)
|
C_CACHE_BYTE_SIZE | C_ICACHE_BYTE_SIZE | C_DCACHE_BYTE_SIZE is equivalent between both IPs, just the ICACHE size was renamed |
C_ILL_OPCODE_EXCEPTION | C_ILL_INSTR_EXCEPTION | Simple rename, values have same meaning |
C_UNALIGNED_EXCEPTIONS | C_MISALIGNED_EXCEPTIONS | Simple rename |
C_USE_BARREL | C_USE_BARREL | Barrel shifter is mandatory in the MicroBlaze V IP. Numeric values have different meaning
|
C_USE_DIV | C_USE_MULDIV | Numeric values have different meaning
|
C_USE_FPU | C_USE_FPU | Numeric values have slightly different meaning
|
C_USE_MMU | C_USE_MMU | Numeric values have slightly different meaning
|
G_TEMPLATE_LIST | - | No equivalent in RISC-V core, ignore |
C_USE_MSR_INSTR | - | No equivalent in RISC-V standard |
C_USE_PCMP_INSTR | - | No exact equivalent in RISC-V standard, consider bit manipulation |
C_USE_REORDER_INSTR | - | No exact equivalent in RISC-V standard, consider bit manipulation |
C_DIV_ZERO_EXCEPTION | - | No equivalent in RISC-V standard |
C_FPU_EXCEPTION | - | No equivalent in RISC-V standard |
C_USE_STACK_PROTECTION | - | Always supported in RISC-V |
Migrating the MCS
The MCS V IP is a drop-in replacement for the MCS IP. The optimization settings for the two IP are different. Care should be taken when generating the replacement to ensure a comparable size IP is generated. The MCS IP is covered in PG116 and the MCS V is covered in PG440
© 2025 Advanced Micro Devices, Inc. Privacy Policy