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 forhw_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]