21.13.1.69 smartbert_test

Description

This Tcl command is used for the following:

  • Start a Smart BERT test - Start a test with a specified PRBS patterns on a specified SmartBERT lane.

  • Stop a Smart BERT test - Stop SmartBERT/PRBS test on a specified lane.

  • Reset error count - Reset counter of a lane during selected pattern test.

  • Inject error - Inject error into a SmartBERT IP lane.

smartbert_test -start -pattern {pattern name} \
               -lane {Physical Location} \
               [-smartbert_ip {TRUE | FALSE}] \
               [-EQ-NearEndLoopback]
smartbert_test -reset_counter -lane {Physical Location}
smartbert_test -lane {Physical Location} [-inject_error {TRUE | FALSE}]
smartbert_test -stop -lane {Physical Location}

Arguments

ParameterTypeDescription

deviceName

string

Optional user-defined device name. The device name is not required if there is only one device in the current configuration, or a device has already been selected using the set_debug_device command.

lane

string

Specify the physical location of the lane.

start

none

Start the Smart BERT test.

pattern

string

Specify the pattern type of the Smart BERT test. Valid values of pattern type are: PRBS7, PRBS9, PRBS15, PRBS23 and PRBS31.

smartbert_ip

boolean

This parameter applicable to the lane configured through SmartBERT IP.

EQ-NearEndLoopback

none

Enable EQ-Near End Loopback on specified lane.

reset_counter

none

Reset lane error counter on hardware and cumulative error count on the UI.

inject_error

boolean

Specifies to inject error into a SmartBERT IP. Valid values are: TRUE or FALSE.

stop

none

Stop the smart BERT test.

Return TypeDescription
NoneNone

Error Codes

Error CodeDescription

None

SmartBert test: Must specify one of '-start', '-stop', '-reset_counter' or '-read_counter' arguments.

None

SmartBert test: Lane Name not found in the list of assigned physical lanes in Libero. Provide the correct lane name.

None

PRBS test: Invalid pattern type specified.

None

SmartBert test: Is not a G5 Device.

None

Parameter 'param_name' is not defined. Valid command formatting is

'smartbert_test [-deviceName "device name"] [-smartbert_ip "TRUE | FALSE"] [-start "TRUE | FALSE"] [-stop "TRUE | FALSE"] [-reset_counter "TRUE | FALSE"] [-read_counter "TRUE | FALSE"] [-pattern "Pattern type"] [-lane "Physical Lane Name"] [-EQ-NearEndLoopback "TRUE | FALSE"] [-inject_error "TRUE | FALSE"] '.

Supported Families

PolarFire

PolarFire SoC

Example

The following example starts Smart BERT test with a "prbs7" PRBS patterns on a "Q0_LANE0" SmartBERT lane:

# Transceiver lane without SmartBert IP without EQ-NearEndLoopback
smartbert_test -start -pattern {prbs7} -lane {Q0_LANE0}
 
# Transceiver SmartBERT IP lane
smartbert_test -start -smartbert_ip "TRUE" \
               -pattern {prbs7} -lane {Q0_LANE0} \
               -EQ-NearEndLoopback "TRUE"

The following example resets counter of a "Q0_LANE0" lane during selected pattern test.

smartbert_test -reset_counter -lane {Q0_LANE0}

The following stops Smart BERT/PRBS test on a "Q0_LANE0" SmartBERT lane:

smartbert_test -stop -lane {Q0_LANE0}

The following example injects error into a "Q0_LANE0" SmartBERT IP lane:

smartbert_test -lane {Q0_LANE0} -inject_error {TRUE}

See Also

  • prbs_test

  • loopback_mode

  • loopback_test