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.

TMDS570LS31HDK: DMA RAM parity error correction method

Part Number: TMDS570LS31HDK

Hi,

If DMA parity is enabled, the processor is running and then encounters a DMA RAM parity fault it raises an ESM group 1.3  DMA - parity fault.

How can this be corrected? Can it be ignored (apart from clearing the appropriate esm fault register).

Currently I have group ones causing a high priority interrupt and deal with it there. Or rather I don't !

Can I just save the parity values in fff80A00 (DMA parity values) after DMA initialisation and just write them again. Or do I have to rewrite all DMA RAM I use?

Regards,

Tom

  • Hi Tom,

    A DMA parity error is wired to ESM group 1 channel 3. Any response to this error is not enabled by default. The application can choose to enable an interrupt to be generated on this error and even drive the nERROR pin low in this case. The application can also choose to ignore the error if the DMA is not being used for example.

    You can test the DMA control packet RAM as part of the start-up sequence by running a PBIST check on this RAM. This will help identify if there are any bits in the memory that are stuck at 1 or 0. Please also enable parity checking in the DMA controller for the control packet RAM. Then when you initialize the control packet, the corresponding parity bit will be automatically be written with the correct value. You do not write to the control packet RAM parity bits.

    After following these steps, if you get a real parity error due to a fault in the RAM or a transient bit-flip you can choose to run PBIST on this RAM to rule out a permanent fault first, and then decide if you want to resume your application by rewriting the DMA control packet.

    Regards,

    Sunil

  • Thanks Sunil,

    That answers my question.