GtDio6xMemoryTest

Applies To

GX5296, GX5961, GX5964

Purpose

Performs a memory test algorithm on the specified memory for the specified size.

Syntax

GtDio6xMemoryTest (nHandle, nMemory, lMemorySize, pnTestResult, pnStatus)

Parameters

Name
Type
Comments
nHandle
SHORT
Session identifier:

     Board handle is used when communicating with the hardware. The Board handle session identifier is returned by calling GtDio6xInitialize or GtDio6xSetupInitialization.

nMemory
SHORT
Specified memory to test

0.   GTDIO6X_MEM_VECTOR_CHANNELS_0_7: Vector Memory channels 0-7.

1.   GTDIO6X_MEM_VECTOR_CHANNELS_8_15: Memory channels 8-15.

2.   GTDIO6X_MEM_VECTOR_CHANNELS_16_23: Memory channels 16-23.

3.   GTDIO6X_MEM_VECTOR_CHANNELS_24_31: Memory channels 24-31.

4.   GTDIO6X_MEM_RECORD: Record Memory.

5.   GTDIO6X_MEM_PROBE: Probe Memory.

6.   GTDIO6X_MEM_STEPS: Steps Memory (4K steps memory data).

7.   GTDIO6X_MEM_TS: Not used.

8.   GTDIO6X_MEM_PERSISTENCE: Persistence Memory.

9.   GTDIO6X_MEM_WAVEFORM: Waveform Memory.

10. GTDIO6X_MEM_RECORD_INDEX: Vector index Memory.

11. GTDIO6X_MEM_ERROR_ADDRESS: Real Time compare error Memory.

12. GTDIO6X_MEM_TIMING_SET_INDEX: Timing Set Index Memory.

lMemorySize
LONG
Specify the size of the memory to be tested.
pnTestResult
PSHORT
Returned memory test status: 0 on success, negative value on failure.
pnStatus
PSHORT
Returned status: 0 on success, negative value on failure.

Comments

This function performs a memory test algorithm on the specified memory for the specified size.

The memory test algorithm is performed in 4 steps:

1.    Write/verify a walking 1 pattern at the start address to check for stuck or shorted data bits.

2.    Write/verify all zeros to the entire space to check for stuck at one memory bits.

3.    Write/verify all ones to the entire space to check for stuck at zero memory bits.

4.    Perform a march memory test using 0xAA and 0x55 patterns to check for stuck or shorted address bits. The pattern, probe and record memory are tested at speed to verify the access timing.

Example

The following example run memory test on vector memory channels 0-7:

 

SHORT nTestResult, nStatus

 

GtDio6xMemoryTest (nHandle, GTDIO6X_MEM_VECTOR_CHANNELS_0_7, 262144, &nTestResult, &nStatus);

 

See Also

GtDio6xSequencerRun, GtDio6xSequencerRunEx, GtDio6xSequencerStop, GtDio6xGetErrorString