Get a list of hardware ILA.
Syntax
get_hw_ilas [‑of_objects <args>] [‑regexp] [‑nocase] [‑filter <arg>]
[‑quiet] [‑verbose] [<patterns>]
Returns
Hardware ILAs
Usage
Name | Description |
---|---|
[-of_objects]
|
Get 'hw_ila' objects of these types: 'hw_device'. |
[-regexp]
|
Patterns are full regular expressions |
[-nocase]
|
Perform case-insensitive matching. (valid only when -regexp specified) |
[-filter]
|
Filter list with expression |
[-quiet]
|
Ignore command errors |
[-verbose]
|
Suspend message limits during command execution |
[<patterns>]
|
Match the 'hw_ila' objects against patterns. Default: * |
Description
Returns the ILA debug core objects defined on the current hardware device.
The Integrated Logic Analyzer (ILA) debug core lets you perform in-system debug of implemented designs, or design bitstreams, on a programmed AMD FPGA. The ILA core includes many advanced features of modern logic analyzers, including boolean trigger equations, and edge transition triggers. You can use the ILA core to probe specific signals of the design, to trigger on programmed hardware events, and capture data from the AMD FPGA in real-time. Refer to LogiCORE IP Integrated Logic Analyzer (PG172) for details of the ILA core.
You can add ILA debug cores into the RTL source files of a design, or in the synthesized netlist using the create_debug_core
command. Refer to the Vivado Design Suite User Guide: Vivado Programming and Debugging (UG908) for more information on adding debug cores and signal probes to the design. You can get the debug cores in the synthesized netlist by using the get_debug_core
commands. However, though they are related, the design debug cores are separate from the hardware debug cores found in the Hardware Manager feature of the Vivado™ Design Suite.
Debug cores and probes are written to the probes file (.ltx) using the write_debug_probes
command 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_devices
command.
The steps to debug your design in hardware using an ILA debug core are:
- Connect to the hardware server and target using
connect_hw_server
andopen_hw_target
. - Program the FPGA with the bitstream (.bit) and probes (.ltx) files using
program_hw_devices
. - Set up the ILA debug core trigger and capture controls using
set_property
to set properties of the ILA. - Arm the ILA debug core trigger using
run_hw_ila
. - View the captured data from the ILA debug core in the Waveform window of the Vivado logic analyzer feature using
display_hw_ila_data
. - Optionally use the VIO debug core to drive control signals and/or view design status signals. See
get_hw_vios
for more information. - Optionally use the JTAG-to-AXI Master debug core to run transactions to interact with various AXI slave cores in your design. See
get_hw_axis
for more information.
This command returns a list of ILA debug core objects on the device, or returns an error if it fails.
Arguments
-of_objects <arg>
- (Optional) Return the ILA debug cores of the specified hardware devices. The devices must be specified as objects using the get_hw_devices
or the current_hw_device
commands.
-of_objects
option requires objects to be specified using the get_*
commands, such as get_cells
or get_pins
, rather than specifying objects by name. In addition, -of_objects
cannot be used with a search <pattern>
.
-regexp
- (Optional) Specifies that the search <patterns> are written as regular expressions. Both search <patterns> and -filter
expressions must be written as regular expressions when this argument is used. Xilinx® regular expression Tcl commands are always anchored to the start of the search string. You can add ".*" to the beginning or end of a search string to widen the search to include a substring. See http://perldoc.perl.org/perlre.html for help with regular expression syntax.
regexp
is not anchored, and works as a standard Tcl command. For more information refer to http://www.tcl.tk/man/tcl8.5/TclCmd/regexp.htm.
-nocase
- (Optional) Perform case-insensitive matching when a pattern has been specified. This argument applies to the use of -regexp
only.
-filter
<args> - (Optional) Filter the results list with the specified expression. The -filter
argument filters the list of objects returned by get_hw_ilas
based on property values on the ILA debug core objects. You can find the properties on an object with the report_property
or list_property
commands. In the case of the "hw_ila" object, "NAME" and "CONTROL.DATA_DEPTH" are two of the properties that can be used to filter results.
get_pins * -filter {DIRECTION == IN && NAME !~ "*RESET*"}
bool
) type properties can be directly evaluated in filter expressions as true or not true: -filter {IS_PRIMITIVE && !IS_LOC_FIXED}
-quiet
- (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
-verbose
- (Optional) Temporarily override any message limits and return all messages from this command.
set_msg_config
command.<patterns> - (Optional) Match hw_ilas against the specified patterns. The default pattern is the wildcard '*' which gets a list of all hw_ilas available on the current hardware device.
Example
The following example gets the ILA debug cores defined on the current hardware device:
get_hw_ilas -of_objects [current_hw_device]