We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome,
Firefox,
Internet Explorer 11,
Safari. Thank you!

AR# 67916

Vivado - I see different values for the "DIFF_TERM_ADV" IO property in the Vivado IDE than from running a Tcl command

Description

I have a design with a differential clock port "sys_clk_p" that has "IO-Standard" set to "LVDS".

In the Vivado IDE I see "DIFF_TERM_ADV" has a value of "TERM_NONE" in the "I/O Ports" tab for the clock input "sys_clk_p".

However, when I run the following command in the Tcl console, I get an empty value:

get_property DIFF_TERM_ADV [get_ports sys_clk_p]

I would expect the Tcl command to show a value of "TERM_NONE" instead of being empty.

Why is there a difference in output between the GUI and Tcl?

Solution

This is due to a general difference between how the Vivado IDE and the underlying Vivado "engine" establish and display default values.

If the property is not explicitly set, the GUI will use the default value determined from the Tcl command "list_property_value -default DIFF_TERM_ADV [get_ports sys_clk_p]". This returns: TERM_NONE.

The Tcl command issued was "get_property DIFF_TERM_ADV [get_ports sys_clk_p]". This returns an empty set because the value has not been explicitly set and the command did not request the default value.

In spite of the difference in displayed values, at bitstream, all default values will be handled appropriately.

Values are shown this way in the GUI to let the user know that they do not need to set every property of a port when it is not required.