1 Introduction

Test Name: Word-Oriented Memory March C- Algorithm for SRAM Diagnostics  

 

Purpose of Test: Detect stuck bits and coupling faults in SRAM and on the data bus, as well as any addressing problems.  

 

Fault Models Covered:
  • Stuck-at Faults (SAFs)

  • Transition Faults (TFs)

  • Address Decoder Faults (AFs)

  • Inversion Coupling Faults (CFins)

  • Static/State Coupling Faults (CFsts)

  • Idempotent Coupling Faults (CFid)

Description: The internal SRAM is used for volatile storage of data and any SRAM faults can lead to an application not operating correctly. Executing the Word-Oriented Memory (WOM) March C- Algorithm implemented in DIAG_SRAM_MarchCMinus() detects such faults. However, it is not recommended to call DIAG_SRAM_MarchCMinus() directly, as the function overwrites the data on any address that is diagnosed. Instead, use the DIAG_SRAM_MarchStartup() and DIAG_SRAM_MarchPeriodic() APIs. The start-up diagnostic is used to cover the listed fault models on the entire SRAM used by the application before entering the main function, however the periodic diagnostic can be called periodically in the application.

Attention:

The periodic API has reduced coverage compared to the start-up diagnostic and it is therefore recommended to always run the start-up diagnostic before entering main. However, running periodic SRAM diagnostics with the start-up test alone requires periodic restarts of the application, as the test is destructive. Thus, the periodic API is implemented to be nondestructive by testing smaller overlapping SRAM sections with the trade-off of less coupling fault coverage between physically distant bits (section size and overlap can be adjusted to increase the coverage at the cost of an increase in execution time and fault detection time interval).

Note:

See the Assumption of Use (AoU) section to ensure the correct operation of the diagnostic APIs.  

The Background section gives a brief introduction to some common March tests, a more detailed description of the covered fault models and a rationale for choosing the March C- Algorithm for the implementation.  

The Word-Oriented Memory Conversion section outlines the disadvantages of using a Bit-Oriented Memory March algorithm and summarizes how and why a WOM March C- algorithm was converted and implemented to cover a so called unrestricted coupling fault model.  

The misra_project_deviation and Specific MISRA C:2012 Deviations

sections show an overview of the general project MISRA C:2012 deviations and specific devations for the SRAM March diagnostic APIs.  

API Documentation:  

SW_SRAM_MARCH_TEST_01 - SRAM March Diagnostics