HW_VIO - 2023.2 English

Vivado Design Suite Properties Reference Guide (UG912)

Document ID
Release Date
2023.2 English


The Virtual Input/Output (VIO) debug core, hw_vio, can both monitor and drive internal signals on a programmed AMD FPGA in real time. In the absence of physical access to the target hardware, you can use this debug feature to drive and monitor signals that are present on the physical device.

The VIO core has hardware probes, hw_probe objects, to monitor and drive specific signals on the design. Input probes monitor signals as inputs to the VIO core. Output probes drive signals to specified values from the VIO core. Values on the probe are defined using the set_property command, and are driven onto the signals at the probe using the commit_hw_vio command.

The VIO debug core must be instantiated in the RTL code, from the AMD IP catalog. Therefore you need to know what nets you want monitor and drive prior to debugging the design. The IP catalog provides the VIO core under the Debug category. Detailed documentation on the VIO core can be found in the Virtual Input/Output LogiCORE IP Product Guide (PG159).

Related Objects

Figure 1. Hardware VIO Object

VIO debug cores can be added to a design in the RTL source files from the AMD IP catalog. Debug cores can be found in the synthesized netlist design using the get_debug_cores command. These are not the hardware VIO debug core objects, hw_vio, found in the Hardware Manager feature of the Vivado Design Suite, though they are related.

The hardware VIO debug core can be found in the Hardware Manager on the programmed hardware device object, hw_device. You can query the hw_vio of the hw_device as follows:

get_hw_vios -of [current_hw_device]

In addition, the hw_vio debug core has probes associated with it, that can also be queried:

get_hw_probes -of [get_hw_vios]


You can use the report_property command to report the properties assigned to a HW_VIO object. Refer to the Vivado Design Suite Tcl Command Reference Guide (UG835) for more information.

Property	Type	Read-only	Visible	Value
CLASS	string	true	true	hw_vio
CORE_REFRESH_RATE_MS	int	false	true	500
HW_CORE	string	true	false	core_1
INSTANCE_NAME	string	true	true	i_vio_new
IS_ACTIVITY_SUPPORTED	bool	true	true	1
NAME	string	true	true	hw_vio_1

To report the properties for a HW_VIO object, you can copy and paste the following command into the Vivado Design Suite Tcl shell or Tcl Console:

report_property -all [lindex [get_hw_vios] 0]