With basic debugging, cross trigger support is provided by two signals,
DBG_STOP
and MB_Halted
.
- When the
DBG_STOP
input is set to 1, MicroBlaze will halt after a few instructions. XSDB will detect that MicroBlaze has halted, and indicate where the halt occurred. The signal can be used to halt MicroBlaze at any external event, for example when a Vivado Integrated Logic Analyzer (ILA) is triggered. - Whenever MicroBlaze is halted,
the
MB_Halted
output signal is set to 1; for example after a breakpoint or watchpoint is hit, after a stop XSDB command, or when theDBG_STOP
input is set. The output is cleared when MicroBlaze execution is resumed by an XSDB command.The
MB_Halted
signal can be used to trigger a Vivado integrated logic analyzer, or halt other MicroBlaze cores in a multiprocessor system by connecting the signal to theirDBG_STOP
inputs.
With extended debugging, cross trigger support is available with the MDM. The MDM provides programmable cross triggering between all connected processors, as well as external trigger inputs and outputs. For details, see the MicroBlaze Debug Module (MDM) LogiCORE IP Product Guide (PG115).
MicroBlaze can handle up to eight cross trigger actions. Cross trigger actions are generated by the corresponding MDM cross trigger outputs, connected using the Debug bus. The effect of each of the cross trigger actions is listed in the following table.
MicroBlaze can generate up to eight cross trigger events. Cross trigger events affect the corresponding MDM cross trigger inputs, connected using the Debug bus. The cross trigger events are described in Table 2.
Number | Action | Description |
---|---|---|
0 | Debug stop | Stop MicroBlaze if the processor is executing, and set the
MB_Halted output. The same effect is achieved by setting the Dbg_Stop input. |
1 | Continue execution | Continue execution if the processor is
stopped, and clear the MB_Halted
output. |
2 | Stop program trace | Stop program trace if tracing is in progress. |
3 | Start program trace | Start program trace if trace is stopped. |
4 | Stop performance monitoring | Stop performance monitoring if it is in progress. |
5 | Start performance monitoring | Start performance monitoring if it is stopped. |
6 | Disable profiling | Disable profiling if it is in progress. |
7 | Enable profiling | Enable profiling if it is disabled. |
Number | Event | Description |
---|---|---|
0 | MicroBlaze halted | Generate an event when MicroBlaze is halted. The same event is
signaled when the MB_Halted output is
set. |
1 | Execution resumed | Generate an event when the processor
resumes execution from debug halt. The same event is signaled when the
MB_Halted output is
cleared. |
2 | Program trace stopped | Generate an event when program trace is stopped by writing a command to the Program Trace Command Register, when the trace buffer is full, or by a cross trigger action. |
3 | Program trace started | Generate an event when program trace is started by writing a command to the Program Trace Command Register, by hitting a tracepoint, or by a cross trigger action. |
4 | Performance monitoring stopped | Generate an event when performance monitoring is stopped by writing a command to the Performance Counter Command Register or by a cross trigger action. |
5 | Performance monitoring started | Generate an event when performance monitoring is started by writing a command to the Performance Counter Command Register, or by a cross trigger action. |
6 | Profiling disabled | Generate an event when profiling is enabled by writing a command to the Profiling Control Register or by a cross trigger action. |
7 | Profiling enabled | Generate an event when profiling is disabled by writing a command to the Profiling Control Register or by a cross trigger action. |