Cross Trigger Support - 2024.2 English

MicroBlaze Processor Reference Guide (UG984)

Document ID
UG984
Release Date
2024-11-27
Version
2024.2 English

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 the DBG_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 their DBG_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.

Table 1. MicroBlaze Cross Trigger Actions
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.
Table 2. MicroBlaze Cross Trigger Events
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.