GX5296, GX5961, GX5964
Performs a memory test algorithm on the specified memory for the specified size.
GtDio6xMemoryTest (nHandle, nMemory, lMemorySize, pnTestResult, pnStatus)
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 test0. 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. |
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.
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);
GtDio6xSequencerRun, GtDio6xSequencerRunEx, GtDio6xSequencerStop, GtDio6xGetErrorString