Pre-canned tests description¶
Overview¶
xbtest comes with a set of pre-canned tests which use one or more of the available test cases.
The pre-canned tests can be used as templates to create your own tests.
Use command line option -h
to list and locate the pre-canned test files.
Any pre-canned test requires xbtest to be set up correctly (see Set up xbtest).
Warning
The exact list and content of available pre-canned tests is specific to each Alveo Versal Example Design (AVED).
The test_sequence
used by these various tests depends on the targeted Alveo Versal Example Design (AVED).
Important
For each Alveo Versal Example Design (AVED), all pre-canned tests have been validated in DELL PowerEdge R740 server with its fans spinning at 100% in a 25°C room.
xbtest supports the following pre-canned tests described in next sections:
Note
The test_sequence
listed in these various pre-canned sections is purely illustrative.
Please refer to the actual pre-canned test of your Alveo Versal Example Design (AVED) for accurate parameter definitions.
verify
¶
The verify
pre-canned test checks the integrity of the xbtest hardware IP (xbtIP) (see Verify test case description).
mmio
¶
The mmio
pre-canned test performs a basic MMIO test case targeting default PCIe BAR register range.
For more information about this test capabilities, see MMIO test case description.
In this test, the MMIO bandwidths are only reported as information and are not checked against any thresholds.
The following is an example of how a pre-canned test_sequence
may look like.
Refer to the pre-canned test provided in the AVED deployment archive for accurate content.
"test_sequence": [
{ "duration": 10 }
]
dma
¶
The dma
pre-canned test performs a basic DMA test case of all memories available on the card (for example: DDR and/or HBM).
For more information about host <-> memory test capabilities, see DMA test case description.
In this test, the DMA bandwidths are only reported as information and are not checked against any thresholds.
The following are two examples of how a pre-canned test_sequence
may look like.
Refer to the pre-canned test provided in the AVED deployment archive for accurate content.
"test_sequence": [
{ "duration": 10, "target": "HBM" },
{ "duration": 10, "target": "DDR" }
]
"test_sequence": [
{ "duration": 10, "target": "PL_DDR" },
{ "duration": 10, "target": "PS_DDR" }
]
memory
¶
The memory
pre-canned test performs a basic Memory test case of all memories available on the card (for example DDR or HBM).
See Memory test case description for more information about xbtest hardware IP (xbtIP) <-> memory test capabilities.
Here is an example of how a pre-canned test_sequence
may look like.
Refer to the pre-canned test provided in the AVED deployment archive for accurate content.
"test_sequence": [
{ "duration": 20, "mode": "alternate_wr_rd" },
{ "duration": 20, "mode": "only_wr" },
{ "duration": 20, "mode": "only_rd" },
{ "duration": 20, "mode": "simultaneous_wr_rd" }
]
power
¶
The power
pre-canned test performs a basic Power test case (see Power test case description).
Here is an example of how a pre-canned test_sequence
may look like.
Refer to the pre-canned test provided in the AVED deployment archive for accurate content.
"test_sequence": [
{ "duration": 100, "toggle_rate": 10 },
{ "duration": 100, "toggle_rate": 20 },
{ "duration": 100, "toggle_rate": 30 },
{ "duration": 100, "toggle_rate": 40 }
]
GT¶
Each GT pre-canned test requires a different set up (see GT test set up and GT test set up).
gtf_prbs
, gtyp_prbs
and gtm_prbs
¶
The gtf_prbs
, gtyp_prbs
and gtm_prbs
pre-canned test requires a loopback connection.
See GTF, GTYp & GTM PRBS test case description for supported test sequence, lane mapping and cables.
"gtf_prbs": {
"default": {
"global_config": {
"test_sequence": [
{ "duration": 1, "mode": "conf_gt" },
{ "duration": 1, "mode": "tx_rx_rst" },
{ "duration": 1, "mode": "rx_datapath_rst" },
{ "duration": 1, "mode": "clear_status" },
{ "duration": 60, "mode": "run" },
{ "duration": 1, "mode": "read_status" }
]
}
}
}
gt_mac
¶
The gt_mac
pre-canned test uses the QSFP passive electrical loopback module.
All the GT_MAC xbtest hardware IP (xbtIP) present in Alveo Versal Example Design (AVED) are referenced in this pre-canned test with all supported traffic rates.
Here is an example of how a pre-canned test_sequence
may look like.
Refer to the pre-canned test provided in the AVED deployment archive for accurate content.
"test_sequence": [
{ "duration": 1, "mode": "conf_25gbe_rs_fec" },
{ "duration": 1, "mode": "clear_status" },
{ "duration": 10, "mode": "run" },
{ "duration": 1, "mode": "check_status" },
{ "duration": 1, "mode": "conf_10gbe_c74_fec" },
{ "duration": 1, "mode": "clear_status" },
{ "duration": 10, "mode": "run" },
{ "duration": 1, "mode": "check_status" }
]
Note
The usage of QSFP passive electrical loopback module allows 10/25GbE rate update during the test.
switch
¶
The switch
pre-canned tests require to be connected to a 10GbE or 25GbE switch port.
See GT MAC test case description for supported test sequence, lane mapping, switch and cables.
These pre-canned tests perform basic tests at 10GbE or 25GbE rate while the GT is connected to a 10 or 25GbE switch port. The traffic is looped back by the switch. The quantity of the GT_MAC xbtest hardware IP (xbtIP) present in Alveo Versal Example Design (AVED) which are referenced in these pre-canned tests depend on the number of available board MAC addresses. One pre-canned test is provided per supported lane rate:
10GbE:
switch_10gbe
.25GbE:
switch_25gbe
.
Here is an example of how a pre-canned test_sequence
may look like.
Refer to the pre-canned test provided in the AVED deployment archive for accurate content.
"gt_mac": {
"0": {
"global_config": {
"match_tx_rx": true,
"test_sequence": [
{ "duration": 1, "mode": "conf_10gbe_no_fec" },
{ "duration": 1, "mode": "clear_status" },
{ "duration": 60, "mode": "run" },
{ "duration": 1, "mode": "check_status" }
]
},
"lane_config": {
"0": {
"tx_mapping": 1
},
"1": {
"tx_mapping": 0
},
"2": {
"tx_mapping": 3
},
"3": {
"tx_mapping": 2
}
}
}
}
gt_mac_port_to_port
¶
The gt_mac_port_to_port
pre-canned test requires a 10GbE or 25GbE capable connection between the 2 GT MAC xbtIP.
Th|xbtIP| are directly connected to each other.
See GT MAC test case description for supported test sequence, lane mapping, switch and cables.
This pre-canned test performs basic tests at 10GbE or 25GbE rate. The traffic is generated by each GT MAC xbtIP and terminated by the other one.
"gt_mac": {
"0": {
"global_config": {
"match_tx_rx": true,
"test_sequence": [
{ "duration": 1, "mode": "conf_25gbe_c74_fec" },
{ "duration": 1, "mode": "clear_status" },
{ "duration": 60, "mode": "run" },
{ "duration": 1, "mode": "check_status" }
]
},
"lane_config": {
"0": {
"source_addr": "test_address"
},
"1": {
"source_addr": "test_address"
},
"2": {
"source_addr": "test_address"
},
"3": {
"source_addr": "test_address"
}
}
},
"1": {
"global_config": {
"mac_to_mac_connection": 0
},
"lane_config": {
"0": {
"source_addr": "test_address"
},
"1": {
"source_addr": "test_address"
},
"2": {
"source_addr": "test_address"
},
"3": {
"source_addr": "test_address"
}
}
}
}
stress
¶
The stress
pre-canned test requires GTs to be connected to the following (see GT test set up):
Switch settings at 25GbE for GT_MAC xbtest hardware IP (xbtIP) that can be assigned with a board MAC address.
QSFP passive electrical loopback module should be used for other GT_MAC xbtIP when not enough board MAC addresses are available.
This pre-canned test combines multiple pre-canned tests:
verify
switch_25gbe
(andgt_mac
when not enough board MAC addresses are available)
gtf_prbs
,gtyp_prbs
andgtm_prbs
memory
power
Refer to the pre-canned test provided in the AVED deployment archive for accurate content.
Important
If the GTs setup for the switch are not connected to a 25GbE switch port, this stress pre-canned test will fail.