The conv_corr_graph class supports runtime-configurable vector lengths via the TP_USE_RTP_VECTOR_LENGTHS template parameter:
TP_USE_RTP_VECTOR_LENGTHS = 0(default): Static vector lengths. BothTP_F_LENandTP_G_LENare fixed at compile time through class template parameters, and no RTP port is present.TP_USE_RTP_VECTOR_LENGTHS = 1: Runtime-configurable vector lengths. An asynchronous input portrtpVecLenis added to the graph. The single RTP port carries both F and G vector lengths as a 2-elementint32array:inVecLen[0]= runtimeF_LEN,inVecLen[1]= runtimeG_LEN.
Constraints for TP_USE_RTP_VECTOR_LENGTHS = 1:
- IO-Buffer only: Not supported on the Stream interface (
TP_API = 1). - Availability: At least one of
TP_F_LENorTP_G_LENmust be strictly greater than its compile-time minimum. When both are at their minimum values,TP_USE_RTP_VECTOR_LENGTHS = 1is not available.
The following constraints must be satisfied for valid RTP operation:
| S.No | Constraint | Description |
|---|---|---|
| 1 | RTP_F_LEN ≤ TP_F_LEN |
Runtime length cannot exceed the compile-time maximum for F. |
| 2 | RTP_G_LEN ≤ TP_G_LEN |
Runtime length cannot exceed the compile-time maximum for G. |
| 3 | RTP_F_LEN ≥ RTP_G_LEN |
Base requirement for all compute modes. |
| 4 | RTP_F_LEN % base_load = 0 |
Must be an integer multiple of the vector size for TT_DATA_F (data-type dependent). |
| 5 | RTP_G_LEN % base_load = 0 |
Must be an integer multiple of the vector size for TT_DATA_G (data-type dependent). |
- VALID mode output port sizing: When
TP_COMPUTE_MODE = VALIDandTP_USE_RTP_VECTOR_LENGTHS = 1, the output port is sized for the worst-case (largest) output, which corresponds to the smallest possible G_LEN (i.e., the compile-time minimum G_LEN). This ensures the output buffer is always large enough regardless of the runtime G_LEN passed via RTP.