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
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).
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
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]