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:
<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:
|
|
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:
|
|
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:
|
|
Link Speed Settings |
||
|
Speed |
LINK_SPEED_16G |
Default speed setting specified from board license minimum speed. Possible Values:
|
|
RX_Speed |
LINK_SPEED_AUTO |
Default Rx speed setting specified from board license minimum speed. Possible Values:
|
|
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:
|
|
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:
#or any mix of these values like:
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:
|
|
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 |