Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -104,20 +104,23 @@ static u32 RotateRight(u32 Input, u8 Width);
*****************************************************************************/
int Xil_TestMem32(u32 *Addr, u32 Words, u32 Pattern, u8 Subtest)
{
u32 I;
u32 J;
u32 Val;
u32 FirtVal;
u32 Word;
u32 I;
u32 J;
u32 Val;
u32 FirtVal;
u32 Word;
u32 Max;

Xil_AssertNonvoid(Words != 0);
Xil_AssertNonvoid(Subtest <= XIL_TESTMEM_MAXTEST);

/*
* variable initialization
*/
Val = XIL_TESTMEM_INIT_VALUE;
FirtVal = XIL_TESTMEM_INIT_VALUE;
Val = XIL_TESTMEM_INIT_VALUE;
FirtVal = XIL_TESTMEM_INIT_VALUE;
/* Limit iterations to prevent overrunning when fewer than 32 words */
Max = (Words < 32U) ? Words : 32U;

/*
* Select the proper Subtest
Expand Down Expand Up @@ -180,7 +183,7 @@ int Xil_TestMem32(u32 *Addr, u32 Words, u32 Pattern, u8 Subtest)
* test Patterns for walking ones test
*/

for (J = 0L; J < 32; J++) {
for (J = 0L; J < Max; J++) {
/*
* Generate an initial value for walking ones test
* to test for bad data bits
Expand All @@ -193,7 +196,7 @@ int Xil_TestMem32(u32 *Addr, u32 Words, u32 Pattern, u8 Subtest)
* Write a one to each data bit indifferent locations
*/

for (I = 0L; I < 32; I++) {
for (I = 0L; I < Max; I++) {
/* write memory location */
Addr[I] = Val;
Val = (u32) RotateLeft(Val, 32);
Expand All @@ -207,7 +210,7 @@ int Xil_TestMem32(u32 *Addr, u32 Words, u32 Pattern, u8 Subtest)

/* Read the values from each location that was
* written */
for (I = 0L; I < 32; I++) {
for (I = 0L; I < Max; I++) {
/* read memory location */

Word = Addr[I];
Expand All @@ -234,7 +237,7 @@ int Xil_TestMem32(u32 *Addr, u32 Words, u32 Pattern, u8 Subtest)
* initial test Patterns for walking zeros test
*/

for (J = 0L; J < 32; J++) {
for (J = 0L; J < Max; J++) {

/*
* Generate an initial value for walking ones test
Expand All @@ -248,7 +251,7 @@ int Xil_TestMem32(u32 *Addr, u32 Words, u32 Pattern, u8 Subtest)
* Write a one to each data bit indifferent locations
*/

for (I = 0L; I < 32; I++) {
for (I = 0L; I < Max; I++) {
/* write memory location */
Addr[I] = Val;
Val = ~((u32)RotateLeft(~Val, 32));
Expand All @@ -263,7 +266,7 @@ int Xil_TestMem32(u32 *Addr, u32 Words, u32 Pattern, u8 Subtest)

/* Read the values from each location that was
* written */
for (I = 0L; I < 32; I++) {
for (I = 0L; I < Max; I++) {
/* read memory location */
Word = Addr[I];
if (Word != Val) {
Expand Down