create_hw_sio_scan - 2024.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2024.1 English

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


create_hw_sio_scan [‑description <arg>] [‑link_settings <arg>] [‑quiet]
    [‑verbose] <scan_type> <hw_sio_object>


The new hardware SIO scan.


Name Description
[-description] Description of scan Default: Scan object name
[-link_settings] List of Link properties and values to set before running the scan. Default: None
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<scan_type> Scan Type Options: 1d_bathtub, 2d_full_eye
<hw_sio_object> RX endpoint or Link object to perform scan on.




Create a serial I/O analyzer scan object for the specified communication link on the IBERT debug core.

To analyze the margin of a given link, it is often helpful to run a scan of the link using the specialized Eye Scan hardware of UltraScale™ devices or 7 series FPGAs. The Vivado™ serial I/O analyzer feature lets you to create, run, and save link scans.

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

You can remove the created scan object using remove_hw_sio_scan.

This command returns the hw_sio_scan 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 scan. The description can be used to identify the <hw_sio_scan> object. For instance, you can identify the receiver port, so that when you are sweeping many ports you can keep track of which port the scan plot s for.

-link_settings <arg> - (Optional) Specify a list of Link properties and values to set before running the scan. If no link settings are provided, the default settings are used. Refer to Vivado Design Suite User Guide: Programming and Debugging (UG908) for a description of scan properties and 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".

<hw_sio_object> - (Required) Specify the IBERT debug core link, hw_sio_link, or receiver, hw_sio_rx, to define the scan object for. The link or receiver must be specified as objects as returned by the get_hw_sio_links or get_hw_sio_rxs commands.

Note: The create_hw_sio_scan command requires the hw_sio_object to be specified as a list of one object.


The following example defines a scan for the specified link:

set xil_newScan [create_hw_sio_scan -description {LoopBack} 2d_full_eye \
[lindex [get_hw_sio_links *MGT_X0Y10/TX*] 0 ]]
run_hw_sio_scan [get_hw_sio_scans $xil_newScan]