SPRUIL1D May 2019 – December 2024 DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4VM , TDA4VM-Q1
The VPAC subsystem is a combination of multiple asynchronous pipelines running concurrently. The Counter, Timer and System Event Trace (CTSET) module within the VPAC susbystem provides the following main features:
For more information on the CTSET module operation, see Chapter On-Chip Debug.
Table 6-112 lists the VPAC subsystem events that are mapped on the CTSET module.
Index | Event Name | HWA | Event Type | Event Description |
---|---|---|---|---|
0 | viss_err | VISS0 | pulse | VISS Related Error message (config, ovf, sync, blank, access, vp) (1) |
1 | rawfe_h3a_pulse_intr | VISS0 | pulse | H3A interrupt |
2 | rawfe_dbg_ctl_vs_event | VISS0 | pulse | Verticle start in the beginning of the RAWFE pipeline |
3 | rawfe_dbg_ctl_ve_event | VISS0 | pulse | Verticle end in the beginning of the RAWFE pipeline |
4 | rawfe_dbg_ctl_hs_event | VISS0 | pulse | Horizontal start in the beginning of the RAWFE pipeline |
5 | rawfe_dbg_ctl_he_event | VISS0 | pulse | Horizaontal end in the beginning of the RAWFE pipeline |
6 | rawfe_dbg_ctl_lse_slv_stall_event | VISS0 | pulse | RAWFE is stalling lse slave interface due to FCP or MTC stall |
7 | rawfe_dbg_ctl_lse_mst_stall_event | VISS0 | pulse | H3A master interface to LSE is stalled |
8 | rawfe_dbg_ctl_lse_intf_stall_event | VISS0 | pulse | Within a frame (VS to VE at RFE i/p) LSE is not sending data to RFE |
9 | rawfe_dbg_ctl_x_y_match_event | VISS0 | pulse | X,Y pixel position has reached the start of RAWFE pipeline |
10 | rawfe_dbg_ctl_dpc_otf_corr_event | VISS0 | pulse | DPC OTF corrected a pixel position |
11 | rawfe_dbg_ctl_pipe_adv_event | VISS0 | pulse | Active pipeline advancement |
12 | nsf4v_in_hs_event | VISS0 | pulse | Start of Active Line at NSF4V input |
13 | nsf4v_in_vs_event | VISS0 | pulse | Start of Active Frame at NSF4V input |
14 | nsf4v_in_he_event | VISS0 | pulse | End of Active Line at NSF4V output |
15 | nsf4v_in_ve_event | VISS0 | pulse | End of Active Frame at NSF4V output |
16 | glbce_filt_start_intr | VISS0 | pulse | GLBCE filtering start ( generated at the rising edge of filtering signal) |
17 | glbce_filt_done_intr | VISS0 | pulse | GLBCE filtering done (generated at falling edge of filtering signal) |
18 | glbce_sol_event | VISS0 | pulse | Start of Active Line at GLBCE input |
19 | glbce_sof_event | VISS0 | pulse | Start of Active Frame at GLBCE input |
20 | glbce_eol_event | VISS0 | pulse | End of Active Line at GLBCE output |
21 | glbce_eof_event | VISS0 | pulse | End of Active Frame at GLBCE output |
22 | fcfa_sol_event | VISS0 | pulse | Start of line processing for CFA input |
23 | fcfa_sof_event | VISS0 | pulse | Start of frame processing for CFA input |
24 | fcc_stall_event | VISS0 | pulse | Stall has occurred on any one of the output LSE interfaces |
25 | fcc_eol_if_y12_event | VISS0 | pulse | End of line on Y12 LSE I/f (only generated for valid lines) |
26 | fcc_eof_if_y12_event | VISS0 | pulse | End of frame on Y12 LSE I/f |
27 | fcc_eol_if_uv12_event | VISS0 | pulse | End of line on UV12 LSE I/f (only generated for valid lines) |
28 | fcc_eof_if_uv12_event | VISS0 | pulse | End of frame on UV12 LSE I/f |
29 | fcc_eol_if_y8r8_event | VISS0 | pulse | End of line on Y8R8 LSE I/f (only generated for valid lines) |
30 | fcc_eof_if_y8r8_event | VISS0 | pulse | End of frame on Y8R8 LSE I/f |
31 | fcc_eol_if_c8g8_event | VISS0 | pulse | End of line on C8G8 LSE I/f (only generated for valid lines) |
32 | fcc_eof_if_c8g8_event | VISS0 | pulse | End of frame on C8G8 LSE I/f |
33 | fcc_eol_if_s8b8_event | VISS0 | pulse | End of line on S8B8 LSE I/f (only generated for valid lines) |
34 | fcc_eof_if_s8b8_event | VISS0 | pulse | End of frame on S8B8 LSE I/f |
35 | fcc_flexcc_eop_event | VISS0 | pulse | End of processing (EOP) for FlexCC |
36 | lse_fr_done_evt_intr | VISS0 | pulse | Frame processing done event |
37 | lse_out_fr_start_evt_intr | VISS0 | pulse | Travelled Frame Start from LSE Core |
39 | ldc_err | LCD0 | pulse | LDC processing error (2) |
40 | mesh_iblk_fetch_start_event | LCD0 | pulse | Input mesh block fetch start event |
41 | mesh_iblk_fetch_done_event | LCD0 | pulse | Input mesh block fetch completion event |
42 | pix_iblk_fetch_start_event | LCD0 | pulse | Input pixel block fetch start event (Active for both Y and C) |
43 | pix_iblk_fetch_done_event | LCD0 | pulse | Input pixel block fetch done event (Active for both Y and C) |
44 | frame_start_event | LCD0 | pulse | Frame processing start event |
45 | lse_stall_event | LCD0 | pulse | LSE write stall event |
46 | coreblk_proc_done_event | LCD0 | pulse | LDC Core Block processing done |
47 | corecblk_wr_done_event | LCD0 | pulse | LDC Core block write complete on C12 channel |
48 | coreyblk_wr_done_event | LCD0 | pulse | LDC Core block write complete on Y12 channel |
49 | vpac_ldc_fr_done_evt_intr | LCD0 | pulse | Frame processing done event |
51 | msc_err | MSC | pulse | Error Response for VBUSM read/Write SL2 access (msc_lse_sl2_rd_err_intr || msc_lse_sl2_wr_err_intr) |
52 | msc_lse_fr_done_evt_0_intr | MSC | pulse | Frame processing done event for MSC Thread0 |
53 | msc_lse_fr_done_evt_1_intr | MSC | pulse | Frame processing done event for MSC Thread1 |
55 | nf_err | NF | pulse | Error Response for VBUSM read/Write SL2 access (vpac_nf_sl2_wr_err_intr || vpac_nf_sl2_rd_err_intr) |
56 | vpac_nf_fr_done_evt_intr | NF | pulse | Frame processing start event |
58 | cal_vp_stall | CAL | pulse | CAL VP stall |
60 | start | HTS | pulse | HWA-0 (task start) |
61 | done | HTS | pulse | HWA-0 (task done) |
62 | init | HTS | pulse | HWA-0 (init) |
63 | eop | HTS | pulse | HWA-0 (eop) |
64 | out_ch0_done | HTS | pulse | HWA-0-ch0-done |
65 | out_ch1_done | HTS | pulse | HWA-0-ch1-done |
66 | out_ch2_done | HTS | pulse | HWA-0-ch2-done |
67 | out_ch3_done | HTS | pulse | HWA-0-ch3-done |
68 | out_ch4_done | HTS | pulse | HWA-0-ch4-done |
69 | out_ch5_done | HTS | pulse | HWA-0-ch5-done |
70 | start | HTS | pulse | HWA-2 (task start) |
71 | done | HTS | pulse | HWA-2 (task done) |
72 | init | HTS | pulse | HWA-2 (init) |
73 | eop | HTS | pulse | HWA-2 (eop) |
74 | out_ch0_done | HTS | pulse | HWA-2-ch0-done |
75 | out_ch1_done | HTS | pulse | HWA-2-ch1-done |
76 | out_ch2_done | HTS | pulse | HWA-2-ch2-done |
77 | out_ch3_done | HTS | pulse | HWA-2-ch3-done |
78 | start | HTS | pulse | HWA-4 (task start) |
79 | done | HTS | pulse | HWA-4 (task done) |
80 | init | HTS | pulse | HWA-4 (init) |
81 | eop | HTS | pulse | HWA-4 (eop) |
82 | start | HTS | pulse | HWA-5 (task start) |
83 | done | HTS | pulse | HWA-5 (task done) |
84 | init | HTS | pulse | HWA-5 (init) |
85 | eop | HTS | pulse | HWA-5 (eop) |
86 | out_ch0_done | HTS | pulse | HWA-4-5-ch0-done |
87 | out_ch1_done | HTS | pulse | HWA-4-5-ch1-done |
88 | out_ch2_done | HTS | pulse | HWA-4-5-ch2-done |
89 | out_ch3_done | HTS | pulse | HWA-4-5-ch3-done |
90 | out_ch4_done | HTS | pulse | HWA-4-5-ch4-done |
91 | out_ch5_done | HTS | pulse | HWA-4-5-ch5-done |
92 | out_ch6_done | HTS | pulse | HWA-4-5-ch6-done |
93 | out_ch7_done | HTS | pulse | HWA-4-5-ch7-done |
94 | out_ch8_done | HTS | pulse | HWA-4-5-ch8-done |
95 | out_ch9_done | HTS | pulse | HWA-4-5-ch9-done |
96 | start | HTS | pulse | HWA-6 (task start) |
97 | done | HTS | pulse | HWA-6 (task done) |
98 | init | HTS | pulse | HWA-6 (init) |
99 | eop | HTS | pulse | HWA-6 (eop) |
100 | pipe_done | HTS | pulse | Pipeline-0 Done |
101 | pipe_done | HTS | pulse | Pipeline-1 Done |
102 | pipe_done | HTS | pulse | Pipeline-2 Done |
103 | pipe_done | HTS | pulse | Pipeline-3 Done |
104 | pipe_done | HTS | pulse | Pipeline-4 Done |
105 | pipe_done | HTS | pulse | Pipeline-5 Done |
106 | pipe_done | HTS | pulse | Pipeline-6 Done |
107 | spare_dec_0 | HTS | pulse | Spare 0 sch decrement pulse (ehost mode) |
108 | spare_dec_1 | HTS | pulse | Spare 1 sch decrement pulse (ehost mode) |
109 | spare_pend_0 | HTS | level | Spare 0 sch pend assertion (ehost mode) |
110 | spare_pend_1 | HTS | level | Spare 1 sch pend assertion (ehost mode) |
142:111 | utc1_channel_start[31:0] | HTS | pulse | MMR config to select HWA SL2 master ports access control signals |
173:143 | utc1_channel_start[63:32] if CTSET_RT_UTC_IN=’0’ else utc0_channel_start[31:0] | UTC | pulse | Channel start |
206:175 | utc1_ctset_intr[31:0] | HTS | pulse | MMR config to select external master port access control signals |
238:207 | utc1_ctset_intr[63:32] if CTSET_RT_UTC_OUT=’0’ else utc0_ctset_intr[31:0] | UTC | pulse | CTSET event output (for HWA channel_done) |
254:239 | [utc1,utc0] {wrsreq,1’b0,wr creq stall,wr valid creq, rd rreq stall, rd valid rreq, rd creq stall, rd valid creq} | HTS | pulse | MMR config to select external ctset events or UTC SL2 access control signals |
The VPAC subsystem also supports halting an execution pipeline using external or user halt request. Halting a pipeline is achieved by not granting thread start to HWA. Once halted, VPAC waits for an external sync trigger or config resume to restart execution. VISS, MSC and NF modules halt at line boundary, and LDC halts at block boundary.
The VPAC subsystem supports generic debug capability/features and ARM cross trigger interface for debug triggers:
The VPAC subsystem debug capability supported is as captured in the HTS_DBG_CAP register. Ext_halt, ext_sync, hwa_halted are CTI (Cross Trigger Interface) mapped async trigger interface (refer to the async protocol of trigger interface in the ARM® CoreSight™ Architecture Specification).
The VISS module, when used in OTF mode, must not be included as debuggable module within VPAC. VISS must be disabled (HTS: debug pipeline disable) to respond to halt request, otherwise behavior is undefined. The VISS module, when used in memory to memory mode, can be halted. But VISS LUTs must not be read during halted state, as it can corrupt the design pipeline.