SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
VCOP supports single stepping, one innermost (i4) iteration per step. Due to the deeply pipelined architecture, instruction-by-instruction single stepping support is not feasible.
Normally VCOP executes load in one stage of the pipeline, and operations and stores in the next stage of the pipeline. In single step mode, only one iteration is executed at a time, so there is no pipelining among iterations. The hardware executes all the loads, then operations and stores, then halts until instructed to continue on the next iteration. The signle step operation is controlled via the VCOP_CTRL register. The operation is enabled by setting VCOP_CTRL[0]STEP_EN to 1. Setting VCOP_CTRL[1]STEP_GO to 1 the engine starts executing i4 iteration.
As outlined in the previous section, step_en, step_go, step_rdy register fields are provided for single stepping control. In addition, VCOP internal state is exported as read-only view as memory-map registers as well.
Interaction of debug driver, scalar core, and VCOP is as follows: