SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Timers are able to generate both interrupts and debug events. Interrupts are routed from the module boundary to INTC in the subsystem. Debug events are routed as triggers to debug logic within the subsystem. It is assumed that these debug trigger events are merged with other debug resources and used to control debug activity like CPU control or trace.
The generation of the interrupts is controlled by the INT bit in the SCTM_CTCR_WT_j or SCTM_CTCR_WOT_j register. The generation of debug events is controlled by the DBG in the CTCRn. Both INT and DBG can be set simultaneously and both signals are generated on interval match.
For debug events, the pulse width is one cycle and the active polarity is high (a high going pulse of one cycle). For interrupts, the polarity and duration of the pulse are synthesizable options that can be tailored to the requirements of the INTC in the subsystem.
If neither the INT nor the DBG bit is set, the timer function is disabled and the counter functions as a regular counter.
The SCTM events include low-level stall and duration signals sourced by various components of the EVE subsystem. The primary categories include program cache-related signals and VCOP-related signals. Table 8-267 summarized the event mapping. Event inputs start numbering at 1, because event0 is reserved and the SCTM internally uses the functional clock as event 0.
The SCTM module operates at the CLK2 rate (nominally 250 to 300 MHz). The event sources include CLK2 and CLK1 (CLK1 = 2 × CLK2) signals. The CLK2 relative signals are connected directly to the SCTM. The CLK1 relative signals are conditioned by EVE level logic to scale from CLK1 to CLK2. Because these are duration type signals, EVE logic asserts a CLK2 pulse for every two CLK1 pulses detected. This results in, at most, one CLK1 cycle of inaccuracy in the CLK2 duration reported by SCTM.
SCTM Event | Name | Source | Type | SCTM Mode | Clock |
---|---|---|---|---|---|
1 | cache_miss_count | ARP32_Pcache | Pulse | Duration | CLK2 |
2 | cache_hit_count | ARP32_Pcache | Pulse | Duration | CLK2 |
3 | cache_miss_stall | ARP32_Pcache | Duration | Duration or event | CLK2 |
4 | prefetch_compulsory_count | ARP32_Pcache | Pulse | Duration | CLK2 |
5 | Prefetch_lookahead_count | ARP32_Pcache | Pulse | Duration | CLK2 |
6 | prefetch_hit_count | ARP32_Pcache | Pulse | Duration | CLK2 |
7 | line_buffer_hit_count | ARP32_Pcache | Pulse | Duration | CLK2 |
8 | Prefetch_line_count | ARP32_Pcache | Pulse | Duration | CLK2 |
9 | prefetch_discard_stall | ARP32_Pcache | Duration | Duration or event | CLK2 |
10 | tpcc_aet | EDMA | Duration | Duration or event | CLK2 |
11 | arp32_int4 | INTC | Duration | Duration or event | CLK2 |
12 | arp32_int5 | INTC | Duration | Duration or event | CLK2 |
13 | arp32_int6 | INTC | Duration | Duration or event | CLK2 |
14 | arp32_int7 | INTC | Duration | Duration or event | CLK2 |
15 | vcop_busy | VCOP | Pulse | Duration | CLK2 |
16 | vcop_idle_and_done | VCOP | Pulse | Duration | CLK2 |
17 | vcop_wait_for_arp32 | VCOP | Pulse | Duration | CLK2 |
18 | vcop_arp32_awaits | VCOP | Pulse | Duration | CLK2 |
19 | vcop_overhead | VCOP | Pulse | Duration | CLK1 |
20 | vcop_ld_stall_by_st | VCOP | Pulse | Duration | CLK1 |
21 | vcop_op_stall_by_ldst | VCOP | Pulse | Duration | CLK1 |
22 | vcop_op_stall_by_dependency | VCOP | Pulse | Duration | CLK1 |
23 | vcop_rd_ibufl | VCOP | Pulse | Duration | CLK1 |
24 | vcop_rd_ibufh | VCOP | Pulse | Duration | CLK1 |
25 | vcop_rd_wbuf | VCOP | Pulse | Duration | CLK1 |
26 | vcop_wr_ibufl | VCOP | Pulse | Duration | CLK1 |
27 | vcop_wr_ibufh | VCOP | Pulse | Duration | CLK1 |
28 | vcop_wr_wbuf | VCOP | Pulse | Duration | CLK1 |
29 | vcop_loop_start | VCOP | Edge | Event | CLK2 |
30 | vcop_done | VCOP | Edge | Event | CLK2 |
31 | arp32_nmi | INTC | Duration | Duration or event | CLK2 |
32 | arp32_int8 | INTC | Duration | Duration of event | CLK2 |
33 | arp32_int9 | INTC | Duration | Duration of event | CLK2 |
34 | arp32_int10 | INTC | Duration | Duration of event | CLK2 |
35 | arp32_int11 | INTC | Duration | Duration of event | CLK2 |
36 | arp32_int12 | INTC | Duration | Duration of event | CLK2 |
37 | arp32_int13 | INTC | Duration | Duration of event | CLK2 |
38 | arp32_int14 | INTC | Duration | Duration of event | CLK2 |
39 | arp32_int15 | INTC | Duration | Duration of event | CLK2 |