34 www.xilinx.com MicroBlaze Processor Reference Guide
1-800-255-7778 UG081 (v6.0) June 1, 2006
Chapter 1: MicroBlaze Architecture
When a Reset or Debug_Rst
occurs, MicroBlaze will ﬂush the pipeline and start fetching
instructions from the reset vector (address 0x0). Both external reset signals are active high, and
should be asserted for a minimum of 16 cycles.
PC ← 0x00000000
← C_RESET_MSR (see “MicroBlaze Core Configurability” in Chapter 2)
MicroBlaze can be conﬁgured to trap the following internal error conditions: illegal
instruction, instruction and data bus error, and unaligned access. The divide by zero
exception can only be enabled if the processor is conﬁgured with a hardware divider
can also trap the following ﬂoating point speciﬁc exceptions: underﬂow, overﬂow, ﬂoat
division-by-zero, invalid operation, and denormalized operand error.
A hardware exception will cause MicroBlaze to ﬂush the pipeline and branch to the
hardware exception vector (address 0x20). The exception will also load the decode stage
program counter value into the general purpose register R17. The execution stage
instruction in the exception cycle is not executed. If the exception is caused by an
instructionin a branch delay slot, then the ESR[DS] bit will be set. In this case the exception
handler should resume execution from the branch target address, stored in BTR.
The EE and EIP bits in MSR are automatically reverted when executing the RTED
• Instruction Bus Exception
The instruction On-chip Peripheral Bus exception is caused by an active error signal
from the slave (IOPB_errAck) or timeout signal from the arbiter (IOPB_timeout). The
instructions side localmemory (ILMB)and CacheLink(IXCL) interfacescan notcause
instruction bus exceptions.
• Illegal Opcode Exception
The illegal opcode exceptionis causedby aninstruction with an invalid major opcode
(bits 0 through 5 of instruction). Bits 6 through 31 of the instruction are not checked.
Optional processor instructions are detected as illegal if not enabled.
• Data Bus Exception
Thedata On-chip PeripheralBus exceptionis causedby anactive error signal fromthe
slave (DOPB_errAck) or timeout signal from the arbiter (DOPB_timeout). The data
side local memory (DLMB) and CacheLink (DXCL) interfaces can not cause data bus
1. Reset input controlled by the XMD debugger via MDM