Cross Trigger Programming - 3.2 English

MicroBlaze Debug Module LogiCORE IP Product Guide (PG115)

Document ID
PG115
Release Date
2021-01-21
Version
3.2 English
The MDM core provides a programmable cross trigger crossbar that allows the eight trigger inputs of each connected processor and the four external trigger inputs to affect each of the eight trigger outputs of each connected processor and four external trigger outputs.
Important: In order to use the MDM core cross trigger functionality, all connected MicroBlazeâ„¢ processors must be configured to use Extended Debug (C_DEBUG_ENABLED = 2).

In the simplest use case no programming is necessary, because the initial crossbar configuration is set up to:

  • Connect the first four trigger inputs (Trigger Input 0 - 3) of the MicroBlaze processors to the external trigger outputs (External Trigger Output 0 - 3).
  • Connect the external trigger inputs (Trigger Input 0 - 3) to the first four trigger outputs (Trigger Output 0 - 3) of the MicroBlaze processors.

The parameter C_EXT_TRIG_RESET_VALUE can be used to change this behavior, by setting the reset value of the External Cross Trigger Control Debug register. See the MicroBlaze Processor Reference Guide (UG984), for the definition of the MicroBlaze trigger inputs and outputs.

The crossbar is programmed per output and connected processor. The following sequence of debug register accesses can be used to select and program a trigger output of a specific MicroBlaze processor:

  1. If there are more than one MicroBlaze processors, use the Which MicroBlaze Debug Register to select which processor to affect. If the trigger outputs of more than one processor in the crossbar should be connected the same way, all those processors can be selected for simultaneous write.
  2. For each of the eight trigger outputs to define, write the Cross Trigger Control Register with the appropriate value, setting the register Index field to the trigger output number.
  3. For each of the 4 external trigger outputs to define, write the External Cross Trigger Control register with the appropriate value, setting the register Index field to the external trigger output number.

To force a trigger output, a Cross Trigger Control register can be written twice, first to set the Output Select field to Static One, and then to restore the previous value.

The connection of the trigger inputs and outputs to the crossbar, and how they are affected by the cross trigger control registers is illustrated in the figure below.

Figure 1. Cross Trigger Block Diagram