Embedded Cross Trigger

Zynq UltraScale+ Device Technical Reference Manual (UG1085)

Document ID
UG1085
Release Date
2022-09-15
Revision
2.3 English

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.

Figure 39-5:      Generic CTI and CTM Architecture

X-Ref Target - Figure 39-5

X21039-cti-updated.jpg

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.

Table 39-8:      CTI Connections

CTI Trigger Port

CTI Signal

 

CTI Trigger Port

CTI Signal

ETF (CORESIGHT_SOC_CTI_0)

 

R5-{0,1}

IN 0

ETF 1 FULL

IN 0

DBGTRIGGER

IN 1

ETF 1 ACQCOMP

IN 1

PMUIRQ

IN 2

ETF 2 FULL

IN 2

ETM  EXTOUT[0]

IN 3

ETF 2 ACQCOMP

IN 3

ETM  EXTOUT[1]

IN 4

ETR FULL

IN 4

COMMRX

IN 5

ETR ACQCOMP

IN 5

COMMTX

IN 6

-

IN 6

ETM TRIGGER

IN 7

-

IN 7

-

OUT 0

ETF 1 FLUSHIN

OUT 0

EDBGRQ

OUT 1

ETF 1 TRIGIN

OUT 1

ETM  EXTIN[0]

OUT 2

ETF 2 FLUSHIN

OUT 2

ETM  EXTIN[1]

OUT 3

ETF 2 TRIGIN

OUT 3

- -   (CTIIRQ, not connected)

OUT 4

ETR   FLUSHIN

OUT 4

-

OUT 5

ETR   TRIGIN

OUT 5

-

OUT 6

TPIU FLUSHIN

OUT 6

-

OUT 7

TPIU TRIGIN

OUT 7

DBGRESTART

FTM-STM (CORESIGHT_SOC_CTI_1)

A53-{0,1,2,3}

IN 0

FTM

IN 0

DBGTRIGGER

IN 1

FTM

IN 1

PMUIRQ

IN 2

FTM

IN 2

-

IN 3

FTM

IN 3

-

IN 4

STM TRIGOUTSPTE

IN 4

ETM  EXTOUT[0]

IN 5

STM TRIGOUTSW

IN 5

ETM  EXTOUT[1]

IN 6

STM TRIGOUTHETE

IN 6

ETM  EXTOUT[2]

IN 7

STM ASYNCOUT

IN 7

ETM  EXTOUT[3]

OUT 0

FTM

OUT 0

EDBGRQ

OUT 1

FTM

OUT 1

DBGRESTART

OUT 2

FTM

OUT 2

CTIIRQ

OUT 3

FTM

OUT 3

-

OUT 4

STM HWEVENTS

OUT 4

ETM  EXTIN[0]

OUT 5

STM HWEVENTS

OUT 5

ETM  EXTIN[1]

OUT 6

-

OUT 6

ETM  EXTIN[2]

OUT 7

HALT SYSTEM TIMER

OUT 7

ETM  EXTIN[3]