A collection of memory tests.
A March test consists of a sequence of March steps, while a March step is a finite sequence of operations applied to every cell in the memory array before proceeding to the next cell. An operation is composed of four operations:
These steps may be ordered by address (increasing address order, decreasing address order), or unordered (where the order doesn't matter).
The implementations in this library are for word-oriented memory. Each implementation is provided in three bus widths (8, 16, and 32 bits wide). To test your RAM, you should run the test that matches your data bus width exactly. Running tests with other bus widths will uncover problems with byte-lane selects (where the tested width is narrower than the actual bus width) or split-writes (where the tested width is wider than the actual bus width).