Overview¶
Architecture overview¶
The solution comprises:
Application software: Runs on the host.
xclbin: Downloaded to the card. Includes compute units (CUs): verify, power, memory, and/or GT (GT MAC, GT PRBS, GT LPBK).
The following block diagram shows an Alveo™ card with an example of deployment platform and CUs (part of the xclbin). Per CU type (power, memory and GT), the presence and the quantity of available CUs depends on card and platform capabilities (refer to the respective documentation).
Alveo card block diagram¶
Application software and xclbin are used in conjunction to test on-board memories (for example DDR, HBM) and GTs while the card is consuming a programmable amount of power.
xbtest is common for all supported platforms. Multiple Alveo cards can be tested simultaneously.
Host memory can also be tested separately if slave bridge feature is available.
Hardware overview¶
The xclbin includes the following CU types which test different areas of the card hardware:
Power: Throttles the clock of flip-flops, DSPs, block RAMs, UltraRAMs and AIEs present in the logic of the xclbin, to control their power consumption.
Memory: Measures the read and write bandwidths & latencies while performing a data integrity check on the data transmitted and received.
GT MAC, GT PRBS & GT LPBK: Checks GT transceivers of the Alveo™ card at 10 Gigabit Ethernet (10 GbE) and 25 Gigabit Ethernet (25 GbE) lane rates.
Any xclbin also contains the verify CU which includes the following hardware safety mechanisms:
Watchdog: Stops all CUs after a programmable delay (default 15 seconds) in the case of the application software failing to perform the watchdog reset.
Status Register:
Detects and prevents multiple instances of Application software trying to control/access the same Alveo card.
Detects if CU clocks have been throttled down. CU Clocks could have been slowed down automatically to prevent over-powering the card. Slower clock will affect test results.
DNA : Reports the FPGA DNA value (when accessible).
Note
Watchdog status and clock throttling detection are monitored on a regular basis during test execution.
The xclbin is packaged in Platform specific libraries.
Platform specific libraries overview¶
The Application software supports heterogeneous Alveo™ card installation by the addition of xbtest Platform specific libraries.
Important
The platform specific library files should not be edited or modified. See Install xbtest section.
In addition to the xclbin, the platform specific libraries also contain:
Platform definition JSON file: Specifies the platform specific characteristics and limits of xbtest. See Platform definition.
Pre-canned test JSON files: Set of pre-canned tests which use one or more of the available test cases according to platform capabilities. See Pre-canned tests description.
These files are automatically selected by the application software.
Software overview¶
The Application software automatically detects the number and type of CUs present in the xclbin (power, memory, or GT MAC).
Software model¶
To enable simultaneous support for multiple versions of the software, xbtest application software is split into two different applications:
Common software: In charge of dispatching the test:
It selects, configures, and launches the Test software based on the selected deployment platform under test.
xbtest must be run from the Common software.
Test software: The actual software which performs the tests:
Each of the test cases (power, memory and GT) run independently.
The DMA, P2P CARD and P2P NVME test cases run prior to all test cases.
It is only run by the Common software.
It uses two JSON configuration files:
Test JSON file: User can provide his own test JSON file or use one of the Pre-canned test JSON files.
Platform definition JSON file: Selected automatically.
The following steps are performed to launch a test:
Checks the provided Command line options for validity and unsupported combinations.
Checks integrity of all Platform specific libraries currently installed.
Selects from the targeted card provided with command line option
-d
.
Compatible platform specific library (based on interface UUID).
Supported Test software version.
Launches Test software on the targeted card with:
The Test software also manages the watchdog present in the different CUs and checks that the Alveo card is not in use by another instance of the application.
A sensor thread can be customized (see Device management task description).