Step-by-Step
Prerequisite
Download the latest release Cable Performance Optimization Methodology Releases
Install the required Python packages by running the following command:
pip install -r requirements.txt
The required packages are listed in the requirements.txt
file.
Note
tdl-xoa-driver
is developed by Teledyne LeCroy Xena. You can read more about this package in XOA Driver Documentation.
Change Test Configuration
Go to test/
directory, change the test_config.yml
to meet your test setup and requirements.
test_config:
chassis_ip: "10.165.136.60"
username: "CPOM"
password: "xena"
tcp_port: 22606
log_filename: "xena_cpom.log"
rx_output_eq_test_config:
module_list:
- 3
- 6
port_pair_list:
- tx: "3/0"
rx: "6/0"
module_media: "QSFPDD800"
port_speed: "1x800G"
lane: 1
delay_after_reset: 2
prbs_config:
polynomial: "PRBS31"
duration: 2
rx_output_eq_range:
amp_min: 0
amp_max: 3
pre_min: 0
pre_max: 7
post_min: 0
post_max: 7
delay_after_eq_write: 2
tx_input_eq_test_config:
module_list:
- 3
- 6
port_pair_list:
- tx: "3/0"
rx: "6/0"
module_media: "QSFPDD800"
port_speed: "1x800G"
lane: 1
delay_after_reset: 2
prbs_config:
polynomial: "PRBS31"
duration: 2
tx_input_eq_range:
min: 0
max: 12
delay_after_eq_write: 2
chassis_ip
: the IP address of the chassisusername
: the name used to connect to the chassis and reserve portspassword
: the password used to connect to the chassistcp_port
: the port number used to connect to the chassislog_filename
: the log filenamerx_output_eq_test_config
: the test configuration of RX output equalization optimizationmodule_list
: a list of module IDs to testport_pair_list
: a list of port pairstx
: the ID (module/port) of the port that transmits PRBSrx
: the ID (module/port) of the port that measures PRBS BER
module_media
: the module media mode to applyport_speed
: the port speed mode in the format of <port count>x<port speed>lane
: the lane index you want to test, from 1 to 8.delay_after_reset
: waiting time in seconds after port resetprbs_config
polynomial
: the PRBS polynomial to useduration
: PRBS BER measurement duration in seconds
rx_output_eq_range
:amp_min
: the minimum amplitude cursor code valueamp_max
: the maximum amplitude cursor code valuepre_min
: the minimum pre-cursor code valuepre_max
: the maximum pre-cursor code valuepost_min
: the minimum post-cursor code valuepost_max
: the maximum post-cursor code value
delay_after_eq_write
: waiting time in seconds after writing the cursor values
tx_input_eq_test_config
: the test configuration of TX input equalization optimizationmodule_list
: a list of module IDs to testport_pair_list
: a list of port pairstx
: the ID (module/port) of the port that transmits PRBSrx
: the ID (module/port) of the port that measures PRBS BER
module_media
: the module media mode to applyport_speed
: the port speed mode in the format of <port count>x<port speed>lane
: the lane index you want to test, from 1 to 8.delay_after_reset
: waiting time in seconds after port resetprbs_config
polynomial
: the PRBS polynomial to useduration
: PRBS BER measurement duration in seconds
tx_input_eq_range
:min
: the minimum code valuemax
: the maximum code value
delay_after_eq_write
: waiting time in seconds after writing the cursor values
Run the Test
Then, run python test.py
to start the test. The test log and results will be saved in the log file specified in the test configuration and also printed on the console.

Fig. 1 Test in process

Fig. 2 Test results