Cross-Trigger Feature of MicroBlaze Processors - 2022.1 English

MicroBlaze Processor Embedded Design User Guide (UG1579)

Document ID
Release Date
2022.1 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 halts after a few instructions. XSDB detects that MicroBlaze has halted, and indicates where the halt occurred. The signal can be used to halt MicroBlaze processors at any external event, such as when an Integrated Logic Analyzer (ILA) is triggered.
  • The MB_Halted output signal is set to 1 whenever the MicroBlaze processor is halted, such as 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.

    Important: The DBG_STOP and MB_Halted pins are hidden. To see those pins, you must enable the Enable Discrete Ports option on the Welcome page of the MicroBlaze Configuration dialog box, as shown in the following figure.

You can use the MB_Halted signal to trigger an Integrated Logic Analyzer (ILA), or halt other MicroBlaze cores in a multiprocessor system by connecting the signal to their DBG_STOP inputs. The following figure shows the discrete port and the Enable Discrete Ports check box.

Figure 1. Enable Discrete Ports Option

With extended debugging, cross trigger support is available in conjunction 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).

To enable extended debug, set the MicroBlaze Debug Module Interface to EXTENDED in the Debug Page of the MicroBlaze Configuration Wizard as shown in the following figure.

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, shown in the following figure.

Figure 2. Enable EXTENDED Debug for MicroBlaze

You can also set the Extended Debug option when running Block Automation for the MicroBlaze processor, as shown in the following figure.

Figure 3. Extended Debug Option

The MicroBlaze Debug Module (MDM) configuration dialog box can be opened by double-clicking on the MDM instance, as shown in the Figure 1. In the MDM configuration dialog box, the Enable Cross Trigger check box is enabled, as highlighted in the following figure.

Figure 4. Enable Cross Trigger Check Box in MDM

You can also select up to four external trigger inputs and external trigger outputs. When enabled, the block design updates to show the MDM details, as shown in the following figure.

Figure 5. MDM in Block Design After Enabling Cross Trigger

Next, run Connection Automation, shown in the following figure, to connect the cross trigger signals to an ILA.

Figure 6. Connecting the TRIG_IN_0 Interface Pin to an ILA

Leaving the settings of Auto, as shown in the following figure, on both TRIG_IN_0/TRIG_OUT_0 in the Run Connection Automation dialog box, instantiates a new ILA and connects the TRIG_IN_0/TRIG_OUT_0 signal of the MDM to the corresponding pin of the System ILA.

Figure 7. Run Connection Automation Confirmation Dialog Box

The following figure show the resulting block design.

Figure 8. Block Design After Connecting Cross Trigger Pins to the ILA