SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The memory write DMA has a number of WCTX (defined in CAL_HL_HWINFO[18:13] WCTX register bit-field) independent write contexts (that is, logical DMA channels). Each context receives a byte stream over a 64-bit wide bus as well as the TAG.
The write DMA filters incoming data using the CPORT number and data type contained in the TAG. Data is only processed, if it matches the CPORT number defined in the CAL_WR_DMA_CTRL_k[13:9] CPORT register bit-field and the data type defined in the CAL_WR_DMA_CTRL_k[8:6] DTAG bit-field. It also uses the received TAG to lookup the adequate context information and control the address generation logic.
Only one write context can process a given data word from the internal pipeline at the time. Said differently, the write DMA cannot be used to write two copies of the same data into separate locations. Software must prevent that two active write contexts have the same settings for CAL_WR_DMA_CTRL_k[13:9] CPORT and CAL_WR_DMA_CTRL_k[8:6] DTAG bit-fields.
Data that is not processed by the write DMA is discarded. Since the write DMA is the last stage in the CAL processing pipeline, it does not forward data to a next stage.
Figure 9-16 shows a simplified block diagram of the write DMA engine.