General Commands

LASER_ON

Enables exerciser to send traffic without the Link-Up process.

LINK_RESET_PROT

BE initiates link reset protocol sequence

LINK_FAILURE_PROT

BE initiates link Failure protocol sequence

EXIT_MANUAL_TRAINING

When a manual training frame command Is used, Exerciser moves to a state where it continuously sends Training frames until this command is executed.

Example

When a wait command is written after a SendTrainingFrame command, the Exerciser keeps sending the last training frame instead of idles. This command is used to exit from manual training command and move on to normal data.

Send_NOS

Exerciser sends NOS for the time specified in NOS_Transmit_time speed neg settings.

Send_OLS

Exerciser sends OLS for the time specified in OLS_Transmit_time speed neg settings.

Send_LR

Exerciser sends LR for the time specified in LR_Transmit_time speed neg settings.

Send_LRR

Exerciser sends LRR for the time specified in LRR_Transmit_Time speed neg settings.

SendTrainingFrame

Transmits a specific Training Frame.

SendRawTrainingFrame

Transmits user specified 32+256 bits of Manchester encoded data.

SendAlignmentMarkerError

Indicates which index of Alignment Marker (AM) to be corrupted.(ex: 64G FC has 4 AMs. Each index0-3 indicates 4 AMs respectively).

Format

SendAlignmentMarkerError(Index_Mask, Replace Index Mask, Count)

where:

  • Index_Mask (Index_0..index_3): Indicates which index of AM to be corrupted (e.g., 64G FC has 4 AMs. Each index0-3 indicates 4 AMs, respectively).

  • Replace Index Mask (0-3) with User-defined value: When this bit is set User defined value specified in speed neg settings will be Placed in the corresponding Alignment marker for no. of times specified in count.

  • Count: Number of AMs to be corrupted.

Example

SendAlignmentMarkerError (INDEX_0 | INDEX_1 | INDEX_2, REPLACE_INDEX_1 | REPLACE_INDEX_2, 1024)

SetAMIndexValue

Sets alignment marker default values for Index0..Index3. These values can be used later in the SendAlignmentMarkerError command to inject alignment marker error.

AM_INDEX0_VALUE - User defined value for the 1st Alignment Marker

AM_INDEX1_VALUE - User defined value for the 2nd Alignment Marker

AM_INDEX2_VALUE - User defined value for the 3rd Alignment Marker

AM_INDEX3_VALUE - User defined value for the 4th Alignment Marker

WaitForTrainingFrame

Wait for specified Training Frame.

Format

WaitForTrainingFrame(Training_Sequence, Mask, Change/*TRUE or FALSE*/})

Example (waiting for SN, 64G)

WaitForTrainingFrame(0x80004000, 0xC0004000, FALSE)

Analyzer Trigger

SET_ANALYZER_TRIGGER - Call this command to set Analyzer Trigger.

SET_EXTERNAL_TRIGGER - Call this command to set External Trigger Out. Settings and External Trigger In Type to High Active, Low Active, Toggle and set External TrigOut pulse width.

Clear Timers

CLEAR_TIMER_A - Clears timer resource A

CLEAR_TIMER_B - Clears timer resource B

CLEAR_TIMER_C - Clears timer resource C

CLEAR_TIMER_D - Clears timer resource D

Error Injection

InjectRSFECError (RSFEC error type) - Injects correctable and uncorrectable FEC errors. Only works for 32G and 64G speeds.

InjectSyncHeaderError(count) - Sync header error command injects idle-idle symbols with wrong sync header error on the link.

Clear Resources

CLEAR_FRAME_RESOURCE_OUTPUT_A - Clears Frame Resource Counter A CLEAR_FRAME_RESOURCE_OUTPUT_B - Clears Frame Resource Counter B CLEAR_FRAME_RESOURCE_OUTPUT_C - Clears Frame Resource Counter C CLEAR_FRAME_RESOURCE_OUTPUT_D - Clears Frame Resource Counter D CLEAR_FRAME_RESOURCE_OUTPUT_E - Clears Frame Resource Counter E CLEAR_FRAME_RESOURCE_OUTPUT_F - Clears Frame Resource Counter F CLEAR_SYMBOL_RESOURCE_OUTPUT_A - Clears Symbol Resource Counter A CLEAR_SYMBOL_RESOURCE_OUTPUT_B - Clears Symbol Resource Counter B CLEAR_SYMBOL_RESOURCE_OUTPUT_C - Clears Symbol Resource Counter C CLEAR_SYMBOL_RESOURCE_OUTPUT_D - Clears Symbol Resource Counter D CLEAR_SYMBOL_RESOURCE_OUTPUT_E - Clears Symbol Resource Counter E CLEAR_SYMBOL_RESOURCE_OUTPUT_F - Clears Symbol Resource Counter F

Speed Settings

SET_SPEED_16G - Changes the speed of exerciser to 16G

SET_SPEED_32G - Changes the speed of exerciser to 32G

SET_SPEED_64G - Changes the speed of exerciser to 64G

SET_RX_SPEED_16G - Allow Wait_For on specific 16G speed Rx Traffic

SET_RX_SPEED_32G - Allow Wait_For on specific 32G speed Rx Traffic

SET_RX_SPEED_64G - Allow Wait_For on specific 64G speed Rx Traffic

SET_RX_SPEED_AUTO - Allow Wait_For on any speed Rx Traffic

Link Protocol Sequences

LINK_RESET_PROT - BE initiate link reset protocol sequence

LINK_FAILURE_PROT - BE initiate link Failure protocol sequence

Delays

Delay() - Generate a 1-microsecond delay

Random Delay() - Generate a random delay (between 1 microsecond and 20 microseconds)

Speed Negotiation Settings

Command

Value

Description

AM_Remote_Degrade

OFF

When this bit set to high, Remote Degrade bit for Alignment marker is calculated according to the degrade counters specified inside Speed Neg parameter block—When disabled Zero is placed in RD bit of AM.

FEC_Degrade_interval

0

This is a 32 bit register that specifies the number of RS-FEC code words that make up a Degrade interval.

Degrade_Activate_threshold

0

This is a 32 bit register that specifies a symbol error count. If error count is more than this value, then RD bit gets high.

Degrade_Deactivate_Threshold

0

This is a 32 bit register that specifies a symbol error count. The value here controls the threshold used to deactivate RD.

NOTE: The Reed Solomon Decoder counts the number of symbol errors detected in all the code words within the FEC_Degrade_interval. If a codeword is uncorrectable, the number of symbol errors detected is incremented by 16. When the number of symbol errors detected within a FEC_Degrade_interval exceeds the Degrade_Activate_Threshold, RD will be signaled to the remote link partner using a bit in the Alignment Marker. At the end of an interval, if the number of symbol errors is less than the Degrade_Activate_Threshold, RD will be signaled to the remote link partner using a bit in the Alignment Marker. At the end of an interval, if the number of symbol errors is less than the Degrade_Deactivate_Threshold, RD will be de-asserted in the Alignment Marker.

FC Manual Speed Negotiation Timers

Command

Value

Description

NOS_Trasmit_Time_us

45000

Primitive is transmitted for specified time. User entered time value to be converted in to no. of clock cycles and programmed in to settings

OLS_Transmit_Time_us

5000

OLS primitive is transmitted for specified period of time. User entered time value to be converted in to no. of clock cycles and programmed in to settings.

LR_Transmit_Time_us

10

LR primitive is transmitted for specified period of time. User entered time value to be converted in to no. of clock cycles and programmed in to settings.

LRR_Transmit_Time_us

10

LRR primitive is transmitted for specified period of time. User entered time value to be converted in to no. of clock cycles and programmed in to settings.

Wait Commands

Wait Command Name

Description

WF_ELS_Request_Frame

Waits for a ELS Request Frame

WF_ELS_Reply_ACC_Frame

Waits for a ELS Reply ACC_Frame

WF_ELS_Reply_RJT_Frame

Waits for a ELS Reply RJT Frame

WF_B_B_Credit_Available

Waits until a BB_Credit is available

InjectRSFECError Command Values

Possible values for the InjectRSFECError command.

Error Type

RS-FEC

Parameter

Correctable

1 symbol at Data

FEC_CORRECTABLE_1_DATA

Correctable

1 symbol at Parity

FEC_CORRECTABLE_1_PARITY

Correctable

4 symbols at Data, 3 symbols at Parity

FEC_CORRECTABLE_4_DATA_3_PARITY

Correctable

1 symbol at Data, 6 symbols at Parity

FEC_CORRECTABLE_1_DATA_6_PARITY

Correctable

7 symbols at Data

FEC_CORRECTABLE_7_DATA

Correctable

7 symbols at Parity

FEC_CORRECTABLE_7_PARITY

Uncorrectable

4 symbols at Data, 4 symbols at Parity

FEC_UNCORRECTABLE_4_DATA_4_PARITY

Uncorrectable

8 symbols at Data

FEC_UNCORRECTABLE_8_DATA

Uncorrectable

8 symbols at Data(only one bit in each symbol)

FEC_UNCORRECTABLE_8_DATA_1_BIT

Uncorrectable

8 symbols at Parity

FEC_UNCORRECTABLE_8_PARITY

Uncorrectable

1 symbol at Data, 7 symbols at Parity (only one bit in each symbol)

FEC_UNCORRECTABLE_1_DATA_7_PARITY_1_BIT

Uncorrectable

1 symbol at Data(only one bit in each symbol), 7 Parity symbols

FEC_UNCORRECTABLE_1_DATA_1_BIT_7_PARITY

Uncorrectable

7 symbols at Data, 1 symbol at Parity

FEC_UNCORRECTABLE_7_DATA_1_PARITY

Uncorrectable

all Parity symbols

FEC_UNCORRECTABLE_ALL_PARITY

Error Type

RS-FEC for PAM4

PAM4 Parameter

Correctable

1 symbol at Data

FEC_CORRECTABLE_1_DATA

Correctable

1 symbol at Parity

FEC_CORRECTABLE_1_PARITY

Correctable

8 symbols at Data, 7 symbols at Parity

FEC_CORRECTABLE_8_DATA_7_PARITY

Correctable

1 symbol at Data, 14 symbols at Parity

FEC_CORRECTABLE_1_DATA_14_PARITY

Correctable

15 symbols at Data

FEC_CORRECTABLE_15_DATA

Correctable

15 symbols at Parity

FEC_CORRECTABLE_15_PARITY

Uncorrectable

8 symbols at Data, 8 symbols at Parity

FEC_UNCORRECTABLE_8_DATA_8_PARITY

Uncorrectable

16 symbols at Data

FEC_UNCORRECTABLE_16_DATA

Uncorrectable

16 symbols at Data (only one bit in each symbol)

FEC_UNCORRECTABLE_16_DATA_1_BIT

Uncorrectable

16 symbols at Parity

FEC_UNCORRECTABLE_16_PARITY

Uncorrectable

1 symbol at Data, 15 symbols at Parity (only one bit in each symbol)

FEC_UNCORRECTABLE_1_DATA_15_PARITY_1_BIT

Uncorrectable

1 symbol at Data(only one bit in each symbol), 15 Parity symbols

FEC_UNCORRECTABLE_1_DATA_1_BIT_15_PARITY

Uncorrectable

15 symbols at Data, 1 symbol at Parity

FEC_UNCORRECTABLE_15_DATA_1_PARITY

Uncorrectable

all Parity symbols

FEC_UNCORRECTABLE_ALL_PARITY

Predefined Ordered Sets

The following ordered sets are defined by default in the FC Exerciser. They can be used inside SendData, SendFrame and Frame commands.

  • Idle

  • LPI

  • SOFi2

  • SOFn2

  • SOFi3

  • SOFn3

  • SOFf

  • EOFt

  • EOFa

  • EOFn

  • EOFni

  • R_RDY

  • VC_RDY(a, b)

  • BB_SCs

  • BB_SCr

  • NOS

  • OLS

  • LR

  • LRR

Note: VC_RDY parameters are optional and can be numbers, constants or variables. When using VC_RDY with no parameters, a and b are assumed to be zero.

Wait/Wait For Commands

After using Wait/Wait_for commands, the exerciser will wait until the specified timeout has elapsed (default value if not specified) or any of the defined conditions are satisfied e.g. SOF ordered set is received from the DUT.

Syntax

WAIT_FOR { <command1> <command2> ... <group1> <group2> ... }

Possible conditions for wait and wait_for commands:

Wait Command Name

Description

WF_TIMEOUT

Timeout Credit Available

When WF_TIMEOUT is requested in WAIT_FOR command, the wait session will be released after timeout has elapsed.

See WHEN / ELSEWHEN / ON_TIMEOUT Commands for more detailed explanation.

The Timeout value can be set two different ways:

  1. Through the global WaitTimeout setting that can appear anywhere in generation. Default value is 1000 microseconds. Syntax: Set WaitTimeout = <value> (in microseconds)

  2. Through local WaitTimeout value for this specific wait session. Syntax: WAIT_FOR (<number_of_microseconds>){WF_TIMEOUT

<other_wait_commands>}

In this case wait for other commands will be released no later than after number_of_microseconds, but global WaitTimeout value remains unchanged for future use.

WF_SOFi2_DW1

Wait for the SOFi2 OrderedSet in the first DWORD

WF_SOFi2_DW2

Wait for the SOFi2 OrderedSet in the second DWORD

WF_SOFi2

Wait for the SOFi2 OrderedSet in any DWORD

WF_SOFn2_DW1

Wait for the SOFn2 OrderedSet in the first DWORD

WF_SOFn2_DW2

Wait for the SOFn2 OrderedSet in the second DWORD

WF_SOFn2

Wait for the SOFn2 OrderedSet in any DWORD

WF_SOFi3_DW1

Wait for the SOFi3 OrderedSet in the first DWORD

WF_SOFi3_DW2

Wait for the SOFi3 OrderedSet in the second DWORD

WF_SOFi3

Wait for the SOFi3 OrderedSet in any DWORD

WF_SOFn3_DW1

Wait for the SOFn3 OrderedSet in the first DWORD

WF_SOFn3_DW2

Wait for the SOFn3 OrderedSet in the second DWORD

WF_SOFn3

Wait for the SOFn3 OrderedSet in any DWORD

WF_SOFf_DW1

Wait for the SOFf OrderedSet in the first DWORD

WF_SOFf_DW2

Wait for the SOFf OrderedSet in the second DWORD

WF_SOFf

Wait for the SOFf OrderedSet in any DWORD

WF_ALL_SOF

Wait for any SOF OrderedSet in any DWORD

WF_EOFt_DW1

Wait for the EOFt OrderedSet in the first DWORD

WF_EOFt_DW2

Wait for the EOFt OrderedSet in the second DWORD

WF_EOFt

Wait for the EOFt OrderedSet in any DWORD

WF_EOFa_DW1

Wait for the EOFa OrderedSet in the first DWORD

WF_EOFa_DW2

Wait for the EOFa OrderedSet in the second DWORD

WF_EOFa

Wait for the EOFa OrderedSet in any DWORD

WF_EOFn_DW1

Wait for the EOFn OrderedSet in the first DWORD

WF_EOFn_DW2

Wait for the EOFn OrderedSet in the second DWORD

WF_EOFn

Wait for the EOFn OrderedSet in any DWORD

WF_EOFni_DW1

Wait for the EOFni OrderedSet in the first DWORD

WF_EOFni_DW2

Wait for the EOFni OrderedSet in the second DWORD

WF_EOFni

Wait for the EOFni OrderedSet in any DWORD

WF_ALL_EOF

Wait for any EOF OrderedSet in any DWORD

WF_IDLE_DW1

Wait for the IDLE OrderedSet in the first DWORD

WF_IDLE_DW2

Wait for the IDLE OrderedSet in the second DWORD

WF_IDLE

Wait for the IDLE OrderedSet in any DWORD

WF_R_RDY_DW1

Wait for the R_RDY OrderedSet in the first DWORD

WF_R_RDY_DW2

Wait for the R_RDY OrderedSet in the second DWORD

WF_R_RDY

Wait for the R_RDY OrderedSet in any DWORD

WF_VC_RDY_DW1

Wait for the VC_RDY OrderedSet in the first DWORD

WF_VC_RDY_DW2

Wait for the VC_RDY OrderedSet in the second DWORD

WF_VC_RDY

Wait for the VC_RDY OrderedSet in any DWORD

WF_ER_RDY_DW1

Wait for the ER_RDY OrderedSet in the first DWORD

WF_ER_RDY_DW2

Wait for the ER_RDY OrderedSet in the second DWORD

WF_ER_RDY

Wait for the ER_RDY OrderedSet in any DWORD

WF_BB_SCs_DW1

Wait for the BB_SCs OrderedSet in the first DWORD

WF_BB_SCs_DW2

Wait for the BB_SCs OrderedSet in the second DWORD

WF_BB_SCs

Wait for the BB_SCs OrderedSet in any DWORD

WF_BB_SCr_DW1

Wait for the BB_SCr OrderedSet in the first DWORD

WF_BB_SCr_DW2

Wait for the BB_SCr OrderedSet in the second DWORD

WF_BB_SCr

Wait for the BB_SCr OrderedSet in any DWORD

WF_MRKtx_DW1

Wait for the MRKtx OrderedSet in the first DWORD

WF_MRKtx_DW2

Wait for the MRKtx OrderedSet in the second DWORD

WF_MRKtx

Wait for the MRKtx OrderedSet in any DWORD

WF_NOS_DW1

Wait for the NOS OrderedSet in the first DWORD

WF_NOS_DW2

Wait for the NOS OrderedSet in the second DWORD

WF_NOS

Wait for the NOS OrderedSet in any DWORD

WF_OLS_DW1

Wait for the OLS OrderedSet in the first DWORD

WF_OLS_DW2

Wait for the OLS OrderedSet in the second DWORD

WF_OLS

Wait for the OLS OrderedSet in any DWORD

WHEN / ELSEWHEN / ON_TIMEOUT Commands

The “on_timeout” command is related to the “wait-condition” command. The user can specify the statements that have to happen when the time (which is mentioned in the “wait-condition”) elapses (without any of the “when” statement taking place). Typical syntax would be:

wait (time)
{
  When {exp} do
  {
    #Some statements
  }
  elsewhen {exp} do
  {
    #Some statements
  }
  on_timeout
  {
    #Some statements, which would get executed when timeout happens (“time”)
  }
}

WF_TIMEOUT Parameter

WF_TIMEOUT is a parameter within “wait_for” command. When the user specifies it in the “wait_for” command, the wait session will be released after the timeout has elapsed. Typical syntax would be as follows:

wait_for (time) { WF_R_RDY WF_TIMEOUT }

Note that “wait_for” command can be also defined without mentioning time-out as well. Following is an example for it:

wait_for {WF_OLS}

In this case, the Exerciser waits indefinitely for the WF_OLS parameter to become true. If the user doesn’t want to get blocked indefinitely, the WF_TIMEOUT parameter can be used.

Predefined Constants

Predefined Constant

  • TRUE

  • FALSE

  • ON

  • OFF

  • INFINITE

TRUE or ON values are equal to 1 and FALSE or OFF values are equal to 0. INFINITE constant is only used in the infinite loop expressions.

Loop (INFINITE) { … }

Generation Settings

To change the default values of FC exerciser settings you can use SET command before and inside Generation block. If a setting value is updated outside Generation block multiple files (e.g. in different header files) the latest value would be used and applied only once to the Exerciser but inside Generation block, all the set commands would be applied, even if they are used back to back.

Set setting_name = setting_value

All the generation settings are applied before Generation block with their default values unless they are defined by the user or inside the “Settings.inc” in case it’s included in the script.

The following settings are only valid before Generation block:

  • GenerationMode

  • AutoConnect

  • AutoReconnect

Setting

Default Value

Description

GenerationMode

GEN_MODE_FC_INITIATOR

Generation Mode must be defined or no generation will take place.

Possible Values:

  • GEN_MODE_FC_INITIATOR

  • GEN_MODE_FC_TARGET

AutoMode Settings

AutoConnect

OFF

When this bit is set, exerciser Engine automatically detects the maximum commonly supported speed and links up.

Possible Values: ON / OFF

AutoReconnect

OFF

When this bit is set, exerciser automatically tries to reconnect whenever the link is dropped after the initial linkup without a connect command.

Fill Words

AutoFillWordInsertion

OFF

When this bit is set, exerciser inserts fill words specified in IPG_count automatically after each frame.

Possible Values: ON/OFF

IPG_count

6

When AutoFillWordInsertion is ON, This would be the number of fill Dword inserted after each frame.

FC 16G FEC Setting

FC16G_FEC_Mode

NO_FEC

This command is only valid for 16G. When this bit is high, BASER_FEC mode is enabled. When zero no fec is enabled.

Possible Values:

  • NO_FEC

  • BASER_FEC

Delimiter Settings

ClassSupport

CLASS3_DATAGRAM

When auto mode is enabled, the exerciser automatically replaces the Delimiters with the required class. When a fixed class is selected, it supports Specified class only.

Possible Values:

  • CLASS3_DATAGRAM

  • CLASS2_MULTIPLEX

  • CLASS_SUPPORT_AUTO

Link Speed Settings

Speed

LINK_SPEED_16G

Default speed setting specified from board license minimum speed.

Possible Values:

  • LINK_SPEED_16G

  • LINK_SPEED_32G

  • LINK_SPEED_64G

RX_Speed

LINK_SPEED_AUTO

Default Rx speed setting specified from board license minimum speed.

Possible Values:

  • LINK_SPEED_16G

  • LINK_SPEED_32G

  • LINK_SPEED_64G

  • LINK_SPEED_AUTO

Wait Settings

WaitTimeout

1000

Default timeout value (when not specified) in Wait_For and Wait commands. (in ms)

Speed Negotiation Settings

FC16G_TTS_Disable

OFF

Disable training: When this bit is set, exerciser uses NOS/OLS/LIP commands to get the link up instead of training.

Possible Values: ON / OFF

SFP_Type

SFP_TYPE_ELECTRICAL

Indicates the type of SFP used. Possible Values:

  • SFP_TYPE_ELECTRICAL

  • SFP_TYPE_OPTICAL

LSN_Speed_Supported

LSN_SUPPORTED_SPEED_1 6GB | LSN_SUPPORTED_SPEED_3 2GB | LSN_SUPPORTED_SPEED_6 4GB

Indicates which speeds are enabled during LSN. Default is supporting all the speed available in the license.

Possible Values:

  • LSN_SUPPORTED_SPEED_16GB

  • LSN_SUPPORTED_SPEED_32GB

  • LSN_SUPPORTED_SPEED_64GB

#or any mix of these values like:

  • LSN_SUPPORTED_SPEED_32GB

  • LSN_SUPPORTED_SPEED_64GB

By default all the speeds are supported regarding the speed license and if user adds the support for a speed without having the required license, an error would be generated during execution.

TTS_Precoding_Req_FC64

OFF

Enable or disable precoding request.

Possible Values: ON / OFF

TTS_PRESET_REQ_FC32

OFF

When this bit is set to high, preset bit of control field in training frame will be set to high.

Possible Values: ON / OFF

TTS_INITIALIZE_REQ_FC32

OFF

When this bit set to high, initialize bit of control field in training frame will be set to high.

Possible Values: ON / OFF

TTS_INITIAL_PRESET_REQ_F C64

TTS_INITIAL_PRESET_NO_R EQ

Sets the preset bits of control field in PAM4 training frame.

Possible Values:

  • TTS_INITIAL_PRESET_NO_REQ

  • TTS_INITIAL_PRESET_PRESET_1

  • TTS_INITIAL_PRESET_PRESET_2

  • TTS_INITIAL_PRESET_PRESET_3

FC Manual Speed Negotiation Counters

PASS_SYNC_TEST_COUNT_6 4B_66B

1000

Pass sync_test decision blocks requires that 64B/66B Word Synchronization be maintained for a monitoring period that shall equal or exceed receiving the pass sync_test count.

PASS_SYNC_TEST_COUNT_T TS

300

Pass sync_test decision blocks requires that Transmission Training signal Synchronization be maintained for a monitoring period that shall equal or exceed receiving the pass sync_test count.

FC Manual Speed Negotiation Timers

LSN_TX_CYCLE_TIMER_ms

154

Transmission time of a particular speed in the Wait_for_signal, Negotiate_master stages during LSN.

LSN_FAIL_TIMER_ms

1620

Watchdog timer threshold (ms) Time allowed for the algorithm to continue without passing the Pass sync_test at any supported speed.

LSN_END_WAIT_TIMER_us

2048

This timer is started after LSN sequence completion. The link sends additional TTS frames until this timer expires to ensure that the remote link partner receives a sufficient number of training frames to detect the link state.

LSN_END_TRAINING_START_TIMER_us

2000

This timer is started after LSN sequence completion. The link starts switching its Host Electrical Transceiver to transmit the TTS frames for 64GFC transmitter training after meeting the requirements specified in lsn_end_wait_timer and must complete this switch before lsn_end_training_start_timer expires.

MAX_WAIT_TIMER_ms

1500

A timer that limits the duration of active training. This timer sets the limit on how long transmitter training is allowed to operate to find the optimal transmit coefficients and receiver adaptive equalization values for reliable link operation.

LINKUP_WATCHDOG_TIMER_ms

10000

This timer is started upon LSN sequence completion. This timer sets the maximum amount of time from LSN complete to transmitter training complete.

LINK_WAIT_TIMER_us

32

A timer that limits the duration in which the transmitter will transmit the Transmitter Training Signal at fixed settings after the remote FC_Port indicates training complete to ensure that remote FC_Port correctly detects the local interface state.

LINK_TEST_TIMER_ms

45

A timer that determines the delay in the LINK_TEST state before sampling of the link quality

RECEIVER_TRANSMITTER_TIMEOUT_ms

100

Used by the receiver logic to detect Loss-of-Synchronization