UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 24816

9.1i EDK - MicroBlaze jumps to the wrong address on interrupts/exceptions under rare conditions

Description

When MicroBlaze takes an interrupt/exception, it modifies an instruction to jump to 0x10 or 0x20. 

 

If the modified instruction is rsubc, rsubk, rsubkc, rsubic, rsubik or rsubikc and the carry bit is "0", MicroBlaze erroneously jumps to 0xC or 0x1C, respectively. The MicroBlaze versions affected are: v5.00a, v5.00b, v5.00c and v6.00a

Solution

To work around this issue, disable the "Generate Illegal Instruction Exception for NULL Instruction" MicroBlaze parameter under the Exceptions tab. 

 

For this work-around to be effective, the memory contents at Word addresses 0xC and 0x1C must be "0". 

 

This problem has been resolved in MicroBlaze v6.0b.

AR# 24816
Date Created 09/04/2007
Last Updated 05/21/2014
Status Archive
Type General Article