Card definition

The same xbtest application software (xbtSW) is used for all supported cards. It is automatically configured at runtime based on the targeted card using:

As part of this card specific customization, the supported parameters a user can specify in the test JSON file are computed. For example, no GT MAC test case can be run if there is no GT defined for the card under test.

Tip

All Card definition JSON file parameters are displayed in xbtest.log (as information with the header XBT_SW_CFG).

Card definition JSON file

xbtest uses a Card definition JSON file specific to each Alveo Versal Example Design (AVED). It specifies characteristics, default settings, limits and pass/fail criteria of xbtest. It defines for example:

  • Power and temperature sources definition.

  • Default GT settings.

  • Default bandwidth thresholds of MMIO and DMA test cases.

  • Default bandwidth and latency thresholds of the Memory test case.

  • Nominal buffer size and total size for DMA test case.

  • Nominal bar, offset, buffer size and total size for MMIO test cases.

  • Nominal rate, burst size and maximum number of outstanding transactions for the Memory test case.

Other settings are set with default values internally within xbtest application software (xbtSW).

The Card definition JSON file is part of the AVED deployment archive (see Installed content) and the specification of its content and structure of is beyond the scope of this document.

xbtest metadata JSON files

xbtest uses different metadata extracted from Alveo Versal Example Design (AVED):

  • xbtest_metadata.json: Design build information and configurations:

  • user_metadata.json: xbtIP specific build information and configuration:

    • GT connections and locations.

    • UUID of design running on targeted card.

    • xbtIP names, modes, connectivity, locations.

    • Clock frequencies.

AMI APIs metadata

xbtest uses different metadata extracted from the AVED Management Interface (AMI) APIs output when Alveo Versal Example Design (AVED) is loaded:

  • ami_dev_get_name: Card name.

  • ami_dev_get_state: Card state.

  • ami_dev_read_uuid: UUID.

  • ami_dev_get_amc_version: Actual AMC version.

  • ami_get_api_version: Version of AMI API used to build xbtest.

  • ami_get_driver_version: Actual version of AMI driver running on host.

  • ami_dev_get_pci_link_speed/width: PCIe information including expected and actual PCIe speed/width.

xbtest also uses the AVED Management Interface (AMI) APIs to read sensor values:

  • ami_sensor_get_type: Sensor type. Supported types are current, voltage, power (electrical) and temperature (thermal).

  • ami_sensor_get_sensors: List available sensors.

  • ami_sensor_get_temp/voltage/current/power_value: Get sensor value.

  • ami_sensor_get_temp/voltage/current/power_unit_mod: Get sensor unit.

xbtest has two kinds of behaviours depending on the device information being queried in case it is not able to get the requested device information:

  • Sensor reading: A critical warning is reported when a query failed. When three consecutive queries have failed, xbtest reports one error and stops reporting critical warnings. In any cases, xbtest does not halt for any sensor reading failure.

  • Other metadata: Query is re-initiated every second (3 times maximum). If they all fail xbtest halts and reports a failure.