Tcl Flow - 2022.2 English - UG908

Vivado Design Suite User Guide: Programming and Debugging (UG908)

Document ID
UG908
Release Date
2022-10-19
Version
2022.2 English

To create a user-defined debug probe use the create_hw_probe Tcl command.

create_hw_probe  [-verbose] [-map <arg>] <name> <core>

Where:

name
is the name of the hw_probe. Must be unique for hw_probes belonging to the same device. Bus probes must have their range specified. For example, myNewProbe[31:0].
core
is the hw_ila to associate the probe with.
-map
is the declaration of bits to base the user-defined probe on.

Examples of creating user-defined debug probes:

# Given a 512-bit counter "counterA[511:0]": Connects [255:223] to 
#    ILA probe port 0 [31:0]
# Create a user-defined probe called foobar pointing at the 
#    ILA buffer specified range [255:223]
    create_hw_probe -map {probe0[31:0]} {foobar [255:223]} [get_hw_ilas hw_ila_1]
# Constant only probe. NO triggering allowed on constant ONLY probes.
    create_hw_probe -map {0} {my_constant_gnd[0:0]} [get_hw_ilas hw_ila_1]
# Create a user-defined probe as a mix of constants and ILA probe ports
    create_hw_probe -map {0000 probe0[31:0] 1010} {my_mixed_probe[47:8]} [get_hw_ilas 
hw_ila_1] 
# Creating scalar hw_probe called "foobar" from probe1:
create_hw_probe -map {probe1} foobar [get_hw_ilas hw_ila_1]
# Creating scalar hw_probe called "foobar" from bit 3 of probe0:
create_hw_probe -map {probe0[3]} foobar [get_hw_ilas hw_ila_1]
# Creating vector hw_probe called "foobar[0:0]" from probe1:
create_hw_probe -map {probe1} foobar[0:0] [get_hw_ilas hw_ila_1]
# Creating vector probe called "foobar[3:0]" from probe0:
create_hw_probe -map {probe0} foobar[3:0] [get_hw_ilas hw_ila_1]
# Creating vector probe called "foobar[3:2]" from probe0[1:0]:
create_hw_probe -map {probe0[1:0]} foobar[3:2] [get_hw_ilas hw_ila_1]