This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA3MA: EMIF data masking use cases for DDR3 writes from M4 IPU cache memory and EDMA

Part Number: TDA3MA

Hello Experts,

We are currently investigating DDR3 data masking usage in our application.

According to TDA3 TRM:

EMIF controller supports 8 words burst length for DDR3 memory.

L3_MAIN interconnect port of EMIF has 128-bit data bus width.

We have 2 scenarios of writing to external RAM:

1. Writing from M4 IPU cache memory.

2. Writing from peripheral device e.g SPI using EDMA.

In case of first scenario, cache line size is 256 bit, so it matches DDR3 burst length (8x32-bit).

Does EMIF assure that singe cache line write is packed into single DDR3 burst transfer?

This would mean that data mask is not used at all when cache lines are written back to external RAM.

How EMIF will split data transfers towards DDR3 in case of EDMA?

Our problem originates from ECC topic, but ECC which is handled in DDR chip internally.

Memory supplier implements ECC only for complete 8 word write burst (data masking is not used).

We are trying now to find a method to prove in which use cases EMIF is not using data masking (which means for us that ECC mechanism is working on DDR chip side). 

Hardware approach to check data mask line with scope seems to be not feasible for us.

Now we need confirmation from TI if based on TDA3 interconnect statistics we can judge whether EMIF will raise data mask or not.

Or maybe if there is other method that we can use to evaluate data masking usage.

Thanks and regards,

Milosz

  • Hello Milosz,

    Transfers from an initiator to the EMIF when issued on natural aligned boundaries with cache line sizes should result in full bursts.  Transactions marked as cached on the M4 should be issued and delivered to the EMIF resulting in non-masked DDR bursts. If your DMA accesses are issued to to look like cache bursts (alignment and size) then it should behave the same way.  Probing and decoding the DDR signals would be a way to verify this.  The L3 or EMIF stats engines likely will not help in checking. The L3 does provide a transaction tracking engine (OCP-Watchpoint) which may be useful in verifying the traffic presented to the EMIF is as expected.  Using a JTAG tool like CCS or Lauterbach/TRACE32 its possible to see address, burst size and type of L3 accesses being presented to the EMIF.  The ECC feature in the EMIF does have a constraint similar to your in-memory-ecc description and it is satisfied by ensuring full width accesses.  Software which needs to use ECC protected areas ensures it only operates in word or word-burst sizes.

    Regards,

    Richard W.