SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Software must first configure the SIMCOP access tag handling (SIMCOP_DMA_CTRL[7:4] TAG_CNT). Software must ensure there is no active traffic on the SIMCOP master port before changing those registers.
Similarly, software can also preload data like filter coefficient image buffers. This can be handled by the SIMCOP DMA:
It must then enable the modules going to be used.
Typically, the first and last steps of the macroblock pipeline are different from those in the middle of the pipeline. The hardware sequencer has no specific support for pipe-up and pipe-down. However, software cancut the sequence into smaller ones to still benefit from the hardware sequencing and to avoid software sequencing.
Figure 9-184 shows an example of a 10-step sequence involving two DMA transfers and three modules.
The macroblock pipeline is composed of a chain of three accelerators. Data between modules is exchanged using ping-pong buffering.
Pipe-up and pipe-down require four sequencing steps each. The main processing can be done with two steps.
Software configures the hardware sequencer with the four step pipe-up sequence. Each step is executed once. When pipe-up is done, the SIMCOP triggers the DONE_IRQ event.
Software then reconfigures the hardware sequencer for the two step main sequence. The number of steps is defined by the amount of data to process. When the main pipe is done, the SIMCOP triggers the DONE_IRQ event.
Software finally reconfigures the hardware sequencer with the four step pipe-down sequence. Each step is executed once. When pipe-down is done, the SIMCOP triggers the DONE_IRQ event.
Figure 9-185 shows an example of pipe-up and pipe-done.
The hardware sequencer configuration determines which module can access a given SIMCOP memory for a sequence step.