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 (and gt_mac when not enough board MAC addresses are available)

  • gtf_prbs, gtyp_prbs and gtm_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.