MicroBlaze V supports reset, interrupt, and
hardware exceptions according to the RISC-V Instruction Set Manual. Non-maskable interrupt is supported using the
external input signal Ext_NM_BRK. A platform interrupt
is defined using the external input signal Ext_BRK. The
following section describes the execution flow associated with each of these events.
Normally, the reset vector is located at address 0, but the parameter C_BASE_VECTORS can be used to locate it anywhere in
memory.
The memory address location of the trap vector is determined by the mtvec or
stvec registers, which are initialized to C_BASE_VECTORS
+ 4 with the two least significant bits set to 00, but can be changed to any address by
software.
| Type | Vector Address | Description |
|---|---|---|
| Reset | C_BASE_VECTORS + 0x0 | Execution starts from here after reset is released. |
| Trap | C_BASE_VECTORS + 0x4 | Default address for exceptions and interrupts |
The relative priority, starting with the highest, is:
- Reset
- Non-maskable interrupt
- Platform interrupt
- External interrupt
- Breakpoint (instruction) exception
- Instruction page fault exception
- Instruction access fault exception
- Illegal instruction, instruction address misaligned, environment call, breakpoint (data) exceptions
- Load address misaligned, store/AMO address misaligned exceptions
- Load page fault, store/AMO page fault exception
- Load access fault, store/AMO access fault, AXI4-Stream exceptions
The priority between exceptions is compliant with the RISC-V Instruction Set Manual, Volume II.