5.3 Debug and Trace Bus

The Debug and Trace Bus (DTB) is an 8-bit ring-bus.

The DTB:

  1. Originates at the XP clockwise-adjacent to the XP to which the MN is connected. This is XP6 in the CCN-502.
  2. Travels from XP to XP in a clockwise direction back to the XP to which the MN is connected. From this XP, the DTB is input to the DEM located within the MN unit.
  3. Travels clockwise from the XP to which the MN is connected back to the originating XP, completing the ring.

The watchpoint compare result from any watchpoint in any XP can be placed on any of the eight bits of the DTB, so up to eight DT events can be concurrently active in the CCN-502 at any given time.

The design of the DTB logic means that any given DT event, corresponding to one bit of the DTB, can be a single watchpoint compare result, or can consist of various combinations of watchpoint compare results.

Because of this flexibility, a given DTB bit might be oversubscribed so that a watchpoint compare event from one XP might be overwritten by a watchpoint event from a subsequent XP. This is because a given watchpoint match must proceed through neighboring XPs in a clockwise direction over the DTB to arrive at the DEM. Ensure that you use the flexibility in the watchpoint and DTB systems correctly to provide the required visibility to the interconnect traffic being watched by the watchpoints.

The PMU also uses the DTB to transmit performance events from each of the components to centralized performance monitor counters in the DEM. Each component includes a 4-bit PMU interface to the XP, over which up to four performance events for that component can be transmitted simultaneously. In the XP, any of these events can then be written to a bit of the DTB, in a similar way to the watchpoints.

Note:

Multiplexing of the component-specific performance events onto the 4-bit PMU interface to the XP is performed locally in each component. Because the DTB travels through the XPs, the XP performance events are also multiplexed locally in the XP, but have a separate 4-bit PMU interface to the DTB, separate from the 4-bit PMU interfaces from the two attached components.

The dt_config register in the XP enables 16 options for watchpoint and PMU events to contribute to a DTB event, or to be written to a single bit of the DTB, as the following table shows.

Table 5-1 DTB contribution options

Value of dt_config DTB contribution
0x0 DT bus input from previous XP (pass-through)
0x1 OR of watchpoint 0 and 1
0x2 Watchpoint 0
0x3 Watchpoint 1
0x4 XP PMU event 0
0x5 XP PMU event 1
0x6 XP PMU event 2
0x7 XP PMU event 3
0x8 Device 0 PMU event 0
0x9 Device 0 PMU event 1
0xA Device 0 PMU event 2
0xB Device 0 PMU event 3
0xC Device 1 PMU event 0
0xD Device 1 PMU event 1
0xE Device 1 PMU event 2
0xF Device 1 PMU event 3

The dt_bus_or_mode capability in the XP dt_control register effectively doubles the available options for writing to the DTB (to 31 options, specifically, because pass-through is not affected by dt_bus_or_mode). When this field is asserted, the DTB contribution in the previous table is ORed with the preceding DTB value for the corresponding DTB bit.

To correctly transmit a DT event from one watchpoint or XP to the DEM, you must understand the CCN-502 topology and the DTB ring bus to ensure that, for the applicable DTB bit, all XPs between the DTB event originator and the DEM are correctly configured to pass through the DT event.

Non-ConfidentialPDF file icon PDF versionARM 100052_0001_00_en
Copyright © 2014, 2015, 2017 ARM Limited or its affiliates. All rights reserved.