4 Word-Oriented Memory Conversion
March tests are designed with Bit-Oriented Memories (BOM) in mind, assuming that it is possible to read and write to a single cell or bit at one time. However, this is not the case for Word-Oriented Memories (WOM), where it is only possible to read or write to an entire word at a time, which is true for most architectures. On AVR devices, all eight bits of a byte are read or written simultaneously when executing a read or write instruction. One way to go around this issue is to use bit masks to mask out a single bit of the word being read with a bitwise AND operation. This implementation requires additional instructions for either bit-shifting a single mask variable to iterate through the bits in a word or loading a predefined mask for each bit in a word, in addition to performing the masking operation itself before a compare can be done to verify the value. When writing a specific bit to 1, a bitwise OR operation is used between the bit mask for that bit and the read word, before writing the word back to memory. When setting a specific bit to zero, a bitwise AND operation is used with the inverted bit mask. All these additional instructions significantly increase the execution time of the test.
This issue can be bypassed by converting a BOM March Algorithm into a WOM March Algorithm as outlined in [1], [2], [3], [4]. That is, convert the algorithm to one where you can write to an entire word for each step in a March element. Generally, to create a WOM March test, a set of Data Backgrounds (DBs) is defined to satisfy the coverage for the fault models in question. A DB is a specific bit-string equal to the number of bits in a word of a specific architecture (e.g., 00001111 or 10101010 for an 8-bit architecture). A March element is then created for all the DBs, where you read and write each data background and its inverted value in ascending and descending order. Moreover, it is possible to make this even more efficient by separating the test into an inter-word test and an intra-word tests and then concatenating them into one algorithm. Finally, removing redundant operations optimizes the test. By following the methods described in [4], the BOM March C- algorithm was converted into a WOM Unrestricted Coupling Fault (uCFs) March C- algorithm and implemented in this diagnostic test. The uCFs fault model ensures full coverage of all the listed coupling faults covered by the BOM March algorithm between every cell in the memory under test and makes no assumptions of the underlying architecture.
The WOM uCFs March C- algorithm for an 8-bit architecture is as follows:
{⇕0(w00000000);⇑1(r00000000,w11111111);⇑2(r11111111,w00000000); ⇓3(r00000000,w11111111);⇓4(r11111111,w00000000);} {⇓5(r00000000, w01010101); ⇑6 (r01010101, w10101010); ⇓7(r10101010, w01010101); ⇑8(r01010101, w00110011); ⇓9(r00110011, w11001100); ⇑10(r11001100, w00110011); ⇓11(r00110011, w00001111); ⇑12(r00001111, w11110000); ⇓13(r11110000, w00001111); ⇑14(r00001111)}The WOM uCFs March C- algorithm has a TL of 28*n/8, which results in a reduction of read and write instructions by approximately 65% compared to the BOM March C- algorithm.
[1] A. J. van de Goor and I. B. S. Tlili, "March tests for word-oriented memories," in Proceedings Design, Automation and Test in Europe, Paris, France, February 23-26, 1998. Los Alamitos: IEEE, 1998. pp. 501-8, doi: 10.1109/DATE.1998.655905.
[2] A. J. Van De Goor, I. B. S. Tlili and S. Hamdioui, "Converting March tests for bit-oriented memories into tests for word-oriented memories," in Proceedings. International Workshop on Memory Technology, Design and Testing, San Jose, CA, USA, August 24-25, 1998, D. Lepejian, F. Lombardi, R. Rajsuman, T. Wik, Eds. Los Alamitos: IEEE, 1998. pp. 46-52, doi: 10.1109/MTDT.1998.705945. [3] V. G. Mikitjuk, V. N. Yarmolik and A. J. van de Goor, "RAM testing algorithms for detection multiple linked faults," in Proceedings ED&TC European Design and Test Conference, Paris, France, March 11-14, 1996. Los Alamitos: IEEE, 1996. pp. 435-9, doi: 10.1109/EDTC.1996.494337. [4] A. J. van de Goor and I. B. S. Tlili, "A systematic method for modifying march tests for bit-oriented memories into tests for word-oriented memories," IEEE Trans. Comp., vol. 52, no. 10, pp. 1320-1331, Oct. 2003, doi: 10.1109/TC.2003.1234529.