create_hw_sio_sweep - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

Create a new hardware SIO sweep. If a Link object is passed in, it must have a RX Endpoint object.


create_hw_sio_sweep [‑description <arg>] [‑iteration_settings <arg>]
    [‑quiet] [‑verbose] <scan_type> [<hw_sio_link>]


The new hardware SIO sweep.


Name Description
[-description] Description of sweep Default: Sweep object name
[-iteration_settings] List of LINK_SETTINGS for each scan to set before running the sweep. Default: None
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<scan_type> Sweep Type Options: 1d_bathtub, 2d_full_eye
[<hw_sio_link>] Link object to perform sweep on. Default: None




Create a serial I/O analyzer link sweep object to run multiple scans across a range of values.

To analyze the margin of a given link, it is often helpful to run a scan of the link using the specialized features of UltraScale™ devices or 7 series FPGAs. It can also be helpful to run multiple scans on a the link with different configuration settings for the GTs. This can help you determine which settings are best for your design. The Vivado® serial I/O analyzer feature enables you to define, run, and save link sweeps, or collections of link scans run across a range of values.

This command creates and returns a link sweep object that you can use with the run_hw_sio_sweep command to run analysis on the specified links, or GT receivers. You can also save the sweep scan to disk using the write_hw_sio_sweep command.

You can remove the created sweep object using remove_hw_sio_sweep.

This command returns the hw_sio_sweep object, or returns an error if the command fails.


-description <arg> - (Optional) Provide a brief description that acts as a label for the serial I/O analyzer sweep scan.

-iteration_settings <arg> - (Optional) Specify a list of properties to vary across multiple scans. Refer to Vivado Design Suite User Guide: Programming and Debugging (UG908) for a description of iteration settings.

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<scan_type> - (Required) Specify the scan type. Valid types include:

  • 1d_bathtub - Scan all horizontal sampling points through the 0 vertical axis.
  • 2d_full_eye - Scan all horizontal and vertical sampling points to create an "eye".
Tip: The results of the bathtub scan can be saved to a file with write_hw__sio_scan, but the plot cannot be displayed in the Vivado serial I/O analyzer using display_hw_sio_scan.

<hw_sio_link> - (Optional) Specify the hw_sio_link to define the sweep object for. The link must be specified as objects as returned by the get_hw_sio_links command.


The following example defines a variable for the hw_sio_sweep object created, then runs the sweep scan:

set xil_newSweep [create_hw_sio_sweep -description {Sweep 0} 2d_full_eye \
   [lindex [get_hw_sio_links *MGT_X0Y10/TX*] 0 ]]
run_hw_sio_sweep [get_hw_sio_sweeps $xil_newSweep]