GtDio6xChannelSetSkewDelay

Applies To

GX5296, GX5961, GX5964, File

Purpose

Sets the specified channel output and input skew delay.

Syntax

GtDio6xChannelSetSkewDelay (nHandle, lChannelListArraySize, palChannelListArray, nSignal, nEdge, dDelay, 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.

     File handle is used when communicating with a file. The File handle session identifier is  returned by calling GtDio6xFileOpen.

lChannelListArraySize
LONG
Used to specify the number of channels to set. This parameter should not be greater than the size of palChannelListArray. If GTDIO6X_ALL_DOMAIN is passed in, then the palChannelListArray parameter can be set to NULL and the settings will be applied to all channels in the Domain.
palChannelListArray
PLONG
Array containing channels numbers that will be set by this function, channels numbers are 0-based and refers to any channel in the Domain. Auxiliary channel numbers begin with 1000.
GX5296: Each GX5296 board has 4 auxiliary channels that support all the Pin Electronics API functions.
GX5961: Each GX5961 board has 4 fully programmable auxiliary channels, and 8 TTL I/O channels. First 4 auxiliary channels may use all the Pin Electronics API.
GX5964: Does not have Auxiliary channels.
nSignal
SHORT
Type of signal to set delay for.

0.    GTDIO6X_SKEW_DELAY_DRIVE: Drive Signal.

1.   GTDIO6X_SKEW_DELAY_SENSE: Input signal to sense low and sense high comparators.

nEdge
SHORT
The signal’s edge to set delay for:

0.   GTDIO6X_SKEW_PROPAGATION_DELAY: Propagation Delay of selected signal.

1.   GTDIO6X_SKEW_DELAY_FALLING_EDGE_ONLY: Falling edge of selected signal.

dDelay
DOUBLE
Returns the amount of delay.
GX5961/ GX5964:
Output Propagation Delay: Output skew delay can be set from 0 ns to +19.375 ns with 0.625 ns resolution.
Input falling edge: Skew delay can be set from -2.5 ns to +2.1875 ns with 0.625 ns resolution.
GX5296:
Output Propagation Delay: Output skew delay can be set from 0 ns to + 4.6875 ns with 19.53 pSec resolution. The propagation delay circuitry adds timing delay to the Propagation Delay and the falling edge in equal amounts. Propagation delay adjustment is typically used for aligning the timing of multiple channels inside a tester.
Output Falling Edge: Output falling edge skew delay can be set from -2.5 ns to +2.1875 ns with 19.53 pSec resolution. The falling edge delay circuitry adds or subtracts timing delay to or from the falling edge while having no effect on the Propagation Delay. Propagation delay adjustment is typically used for removing any pulse width distortion inside a tester.
Input Propagation Delay: Input skew delay can be set from 0 ns to + 4.6875 ns with 19.53 pSec resolution. The propagation delay circuitry adds timing delay to the Propagation Delay and the falling edge in equal amounts. Propagation delay adjustment is typically used for aligning the timing of multiple channels inside a tester.
Input Falling Edge: Input falling edge skew delay can be set from -156.25 pSec to +146.5 pSec with 9.76 pSec resolution. The falling edge delay circuitry adds or subtracts timing delay to or from the falling edge while having no effect on the Propagation Delay. Propagation delay adjustment is typically used for removing any pulse width distortion inside a tester.
pnStatus
PSHORT
Returned status: 0 on success, negative value on failure.

Comments

Each channel includes a delay circuit that can be programmed to add delay to the output, output enable, input threshold high, and input threshold low paths. This allows the user to change the timing relationship among channels to compensate for external cable propagation delays.

Example

The following example sets channels 0 and 2 skew delay for the output signal Propagation Delay, and returns channels 0 settings:

 

DOUBLE dSkewDelay;

SHORT nStatus;

LONG alChannelList[2];

 

// Fill channel array

alChannelList[0] = 0;

alChannelList[1] = 2;

 

GtDio6xChannelSetSkewDelay (nHandle, 2, alChannelList, GTDIO6X_SKEW_DELAY_DRIVE, GTDIO6X_SKEW_PROPAGATION_DELAY, 2.0, &nStatus);

 

GtDio6xChannelGetSkewDelay (nHandle, 0, GTDIO6X_SKEW_DELAY_DRIVE, GTDIO6X_SKEW_PROPAGATION_DELAY, &dSkewDelay, &nStatus);

 

See Also

GtDio6xChannelGetSkewDelay, GtDio6xChannelGetSkewDelay, GtDio6xGetErrorString