Description
A hardware probe object, hw_probe, provides access to signals in the design to monitor and drive signal values, and track hardware events on the FPGA. Hardware probes can be added to both ILA and VIO debug cores.
Debug probes can be added to ILA debug cores in the RTL design source, along with the core, or in the synthesized netlist design using the create_debug_probe command, and connected to signals in the design using connect_debug_probe.
Probes can only be added to VIO debug cores in the RTL design when the IP core is customized, or re-customized, from the IP catalog, and signals connected to it. Refer to the Vivado Design Suite User Guide: Programming and Debugging (UG908) [Ref 23] for more information on adding ILA and VIO debug cores and signal probes to the design.
Debug cores and probes are written to a probes file (.ltx) with write_debug_probes, and associated with the hardware device, along with the bitstream file (.bit), using the PROBES.FILE and PROGRAM.FILE properties of the hw_device object. The hardware device is programmed with this information using the program_hw_device command.
Related Objects
X-Ref Target - Figure 2-20 |
The hardware probe objects are associated with the ILA and VIO debug cores programmed onto the hardware devices on the hw_target opened through the hw_server. You can query the hw_probe objects associated with these debug core objects:
get_hw_probes -of [get_hw_ilas hw_ila_2]
get_hw_probes -of [get_hw_vios]
Properties
There are three types of debug probes: ILA, VIO_INPUT, and VIO_OUTPUT. The properties assigned to a hw_probe object depend on the type of probe. You can use the report_property command to report the properties assigned to a hw_probe object. Refer to the Vivado Design Suite Tcl Command Reference Guide (UG835) [Ref 13] for more information. The properties assigned to an ILA type hw_probe object includes the following, with example values:
Property Type Read-only Visible Value
CAPTURE_COMPARE_VALUE string false true eq2'hX
CLASS string true true hw_probe
COMPARATOR_COUNT int true true 4
COMPARE_VALUE.0 string false false eq2'hX
CORE_LOCATION string true false 1:0
DISPLAY_HINT string false false
DISPLAY_VISIBILITY string false false
HW_ILA string true true hw_ila_1
NAME string true true GPIO_BUTTONS_dly
PROBE_PORT int true true 3
PROBE_PORT_BITS int true true 0
PROBE_PORT_BIT_COUNT int true true 2
TRIGGER_COMPARE_VALUE string false true eq2'hX
TYPE string true true ila
To report the properties for a specific type of hw_probe object, you can copy and paste one of the following commands into the Vivado Design Suite Tcl shell or Tcl Console:
report_property -all [lindex [get_hw_probes -filter {TYPE == ila}] 0]
report_property -all [lindex [get_hw_probes -filter {TYPE == vio_input}] 0]
report_property -all [lindex [get_hw_probes -filter {TYPE == vio_output}] 0]