FlxCard
Loading...
Searching...
No Matches
GBT and transceiver related methods

Functions

u_int FlxCard::gbt_setup (int alignment, int channel_mode)
 
long int FlxCard::gbt_version_delay (u_long svn_version, char *filename)
 
u_long FlxCard::rxusrclk_freq (u_int channel)
 
void FlxCard::gth_rx_reset (int quad=-1)
 

Detailed Description

A set of functions for setting up GBT links.

Function Documentation

◆ gbt_setup()

u_int FlxCard::gbt_setup ( int alignment,
int channel_mode )

Is used to initialize the GBT Wrapper registers, and to perform the TX and RX configuration.

Errors In case of an error, an exception is thrown.

Parameters
alignmentTx time domain crossing mode selection for each channel (GBT TX_TC_METHOD)
channel_modeSet GBT mode (normal FEC or Wide-bus mode) for all channels. (GBT_DATA_TXFORMAT, GBT_DATA_RXFORMAT)

◆ gbt_version_delay()

long int FlxCard::gbt_version_delay ( u_long svn_version,
char * filename )

Is used to load the tx phase values from a file, for subsequent configuration of the registers GBT_TX_TC_DLY_VALUE1 to GBT_TX_TC_DLY_VALUE4 before the GBT initialization.

Errors In case of an error, an exception is thrown.

Parameters
svn_versionThe current SVN (old) of GIT (new) version
filenameThe file to load the tx phase values from

◆ rxusrclk_freq()

u_long FlxCard::rxusrclk_freq ( u_int channel)

This function will select the channel through the register RXUSRCLK_FREQ_CHANNEL. Then it will wait for the register RXUSRCLK_FREQ_VALID to go high, indicating that the measurement is done. The return value will be read from RXUSRCLK_FREQ_VAL and it represents the measured frequency in Hz.
Errors In case of an error, an exception is thrown; if the functionality has not (yet) been implemented in the FPGA firmware, the function throws a TIMEOUT exception. This also happens when a non-existing channel is selected.

Parameters
channelThe transceiver channel number on which the recovered receiver clock (rxusrclk) has to be measured
valueFrequency of the recovered receiver clock of the selected channel in Hz

◆ gth_rx_reset()

void FlxCard::gth_rx_reset ( int quad = -1)

Resets the GTH receivers. It method is meant for FULL mode F/W only.

Parameters
quadThe quad to be reset; legal values are 0..5