1 Introduction

Test Name: SRAM Test with Checkerboard Algorithm [REDUCED COVERAGE]  

 

Purpose of Test: Detect stuck-at Faults (SAFs)  

 

Acceptable Measure (Annex. H): Static Memory Test (H.2.19.6)  

 

Description: The internal SRAM is used for volatile storage of data and any Faults related to this can be catastrophic for the appliance control. This diagnostic detects stuck bits in the memory by writing a pattern of 0b10101010 and 0b01010101 to each address in the memory.

Attention:

The checkerboard pattern (where each neighboring cell has a different value in the physical hardware) is not achieved with the used algorithm. This is because the logical layout does not match the physical implementation, as the SRAM is implemented with an interleaved architecture where each bit in a word/byte is physically separated instead of adjacent. While a new algorithm can be constructed to ensure that a checkerboard pattern is manifested in the physical SRAM, each device or device family deviates from each other in terms of the width of the SRAM (number of bits in one row) and where odd vs. even addresses are located physically. To account for this, each supported device would require a custom checkerboard algorithm. The amount of time required to develop and maintain such an implementation is considered disproportionate compared to the relatively low coverage of even a correctly implemented checkerboard algorithm, especially since the data sheet does not detail the physical SRAM implementation. For this reason, the current implementation is kept as is, where only SAFs are covered and full coverage of neighboring Coupling Faults (CFs) is not ensured, effectively making the diagnostic similar to a Zero-One test, also known as a Scan test, where each bit is written to zero, read back, written to one and read back again. Thus, it is not recommended to use this diagnostic for periodic fault detection of the SRAM, but it is kept as an option for applications that only need to cover SAFs. Instead, it is recommended to use the periodic March test API, which is implemented to be independent of the physical layout of the SRAM and covers significantly more Fault models.

The checkerboard algorithm is executed in four steps:
  • Step 1: Write checkerboard pattern with up addressing order

  • Step 2: Read checkerboard pattern with up addressing order

  • Step 3: Write inverse checkerboard pattern with up addressing order

  • Step 4: Read inverse checkerboard pattern with up addressing order

API Documentation:  

SRAM - Checkerboard Algorithm