This option enables debug IP core insertion in the device binary
(.xclbin) for hardware debugging. This option
lets you specify the type of debug core to add, and which compute unit and interfaces to
monitor with
ChipScope™
. The --debug.xxx
options lets you attach AXI protocol checkers
and System ILA cores at the interfaces to kernels or specific compute units (CUs) for
debugging and performance monitoring purposes:
- The System Integrated Logic Analyzer (ILA) provides transaction level visibility into an accelerated kernel or function running on hardware. AXI traffic of interest can also be captured and viewed using the System ILA core.
- The AXI Protocol Checker debug core is designed to monitor AXI interfaces on the accelerated kernel. When attached to an interface of a CU, it actively checks for protocol violations and provides an indication of which violation occurred.
The --debug.xxx
commands can be
specified in a configuration file under the [debug]
section head using the following format as an example:
[debug]
protocol=all:all # Protocol analyzers on all CUs
protocol=cu2:port3 # Protocol analyzer on port3 of cu2
chipscope=cu2 # ILA on cu2
The various options of --debug
include the following:
--debug.chipscope
--debug.chipscope <cu_name>[:<interface_name>]
Adds the System Integrated Logic Analyzer debug core to the specified CUs in the design.
--debug.chipscope
option requires the <cu_name>
to be specified and does not accept
the keyword all
. You can optionally specify an
<interface_name>
.For example, the following command adds an ILA core to the vadd_1
CU:
v++ --link --debug.chipscope vadd_1
--debug.list_ports
Shows a list of valid compute units and port combinations in the
current design. This is informational to help you with crafting a command line or
config file for the --debug
command.
This option needs to be specified during linking, but does not run the linking process. The required elements of the command line are shown in the following example, which returns the available ports when linking the specified kernels with the listed platform:
v++ --platform <platform> --link --debug.list_ports <kernel.xo>
--debug.protocol
--debug.protocol all|<cu_name>[:<interface_name>]
Adds the AXI Protocol Checker
debug core to the design. This can be specified with the keyword all
, or the <cu_name>
and optional <interface_name>
to add the protocol checker to the specified CU
and interface.
For example:
v++ --link --debug.protocol all