The embedded cross trigger (ECT) provides coordination between CoreSight components. This ECT consists of several cross-trigger interfaces (CTI) and cross-trigger matrices (CTM) connected together. A single CTI can be operated without the requirement for a CTM. The debug system enables debug support for multiple logic-based debug cores and cross triggering between the cores and the processing system.
The main function of the ECT is to pass debug events from one debug component to another. For example, the ECT can communicate debug state information from one core to another, so that (if required) program execution on both processors can be stopped at the same time. The ECT can (optionally) be used to allow an Arm CPU and the programmable logic (PL) to cross-trigger each other, facilitating system-level software debug between the PS and PL.
When performing ECT, allow the Arm CPU and FPGA interconnect to cross trigger each other to improve system-level debug capability.
CTI |
The CTI combines and maps the trigger requests, and broadcasts them to all other interfaces on the ECT as channel events. When the CTI receives a channel event, it maps it onto a trigger output. This enables subsystems to cross trigger with each other. The receiving and transmitting of triggers is performed through the trigger interface. |
CTM |
The CTM controls the distribution of channel events. It provides channel interfaces for connection to either CTIs or CTMs. This enables multiple CTIs to be linked together. |
This Figure shows how CTIs and CTM are used in a generic setup.
CTM forms an event broadcasting network with multiple channels. A CTI listens to one or more channels for an event, maps a received event into a trigger, and sends the trigger to one or more CoreSight components connected to the CTI. A CTI also combines and maps the triggers from the connected CoreSight components and broadcasts them as events on one or more channels. Through its register interface, each CTI can be configured to listen to specific channels for events or broadcast triggers as events to specific channels.
In This Figure, there are four channels. The CTI at the top is configured to propagate the trigger event on Trigger Input 0 to Channel 0. Other CTIs can be configured to listen to this channel for events and broadcast the events through trigger outputs, to the debug components connected to these CTIs. CTIs also support channel gating such that selected channels can be turned off, without having to disable the channel to trigger I/O mapping.
In Zynq UltraScale+ MPSoCs, ECT is configured with four broadcast channels, nine CTIs, and a CTM. Table: CTI Connections shows the trigger input and trigger output connections of each CTI, which are hard wired connections.