pg261 System Ila
pg261 System Ila
Chapter 1: Overview
Feature Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Licensing and Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Appendix A: Upgrading
Appendix B: Debugging
Finding Help on Xilinx.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Debug Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Hardware Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
The customizable System Integrated Logic • Data and Trigger probe and interface type
Analyzer (System ILA) IP core is a logic analyzer selection.
which can be used to monitor the internal
• BRAM estimation.
signals and interfaces of a design. The System
ILA core includes many advanced features of • AXI4-MM and AXI4-Stream Protocol
modern logic analyzers, including boolean Checking.
trigger equations and edge transition triggers.
• IPI Support.
The core also offers interface debug and
monitoring capability along with AXI4-MM and LogiCORE™ IP Facts Table
AXI4-Stream protocol checking(1). Because the
System ILA core is synchronous to the design Core Specifics
being monitored, all design clock constraints Supported UltraScale+™, UltraScale™,
Device Family(1) Zynq®-7000 SoC, 7 Series
that are applied to your design are also applied
Supported User
to the components of the System ILA core. Interfaces
IEEE Standard 1149.1 - JTAG
Resources
The IP is functionally equivalent to an ILA but
offers additional benefits in debugging Provided with Core
interfaces in both IPI and the Hardware Design Files N/A
Manager. It is recommended to use the System Example Design Not Provided
ILA IP in IPI for debugging interfaces and nets. Test Bench Not Provided
For more information on how to view AXI Constraints File Not Provided
interface transactions and channel events in the Simulation
Not Provided
Vivado Hardware Manager waveform viewer, Model
see [Ref 6]. Supported
S/W Driver (2) N/A
1. AXI4/AXI4-Stream protocol violations can be displayed in Tested Design Flows(3)
waveform view by enabling protocol checker. The
pc_asserted signal assertion indicates protocol Design Entry Vivado® Design Suite
violation while the pc_status signal indicates the nature
Simulation Not Provided
of protocol violation. For more details on the description
of pc_status signal, see [Ref 9] and [Ref 10]. Synthesis Vivado Synthesis
Support
All Vivado IP
Features Change Logs
Master Vivado IP Change Logs 72775
Overview
Feature Summary
Signals and interfaces in the FPGA design are connected to the System ILA probe and slot
inputs (see Figure 1-1). These signals and interfaces, attached to the probe and slot inputs
respectively, are sampled at design speeds and stored using on-chip block RAM (BRAM).
Communication with the System ILA core is conducted using an auto-instantiated debug
core hub which connects to the JTAG interface of the FPGA.
X-Ref Target - Figure 1-1
clk
trig_out
trig_in trig_in_ack
trig_out_ack
probe0
probe1
probe1023
slot0
slot1
slot15
After the design is loaded into the FPGA, you can use the Vivado® logic analyzer software
to set up a trigger event for the System ILA measurement. After the trigger occurs, the
sample buffer is filled and uploaded into the Vivado logic analyzer. You can view this data
using the waveform window. Regular FPGA logic is used to implement the probe sample
and trigger functionality. On-chip block RAM memory stores the data until it is uploaded by
the software. No user input or output is required to trigger events, capture data, or to
communicate with the System ILA core.
As System ILA is capable of monitoring interface level signals, it can convey transaction
level information such as outstanding transaction for AXI4 interfaces.
IMPORTANT: The number of comparators used by the System ILA is set during
customization of the System ILA IP.
The AND setting causes a trigger event when all of the System ILA probe comparisons are
satisfied.
The OR setting causes a trigger event when any of the System ILA probe comparisons are
satisfied. The trigger condition is the trigger event used for the System ILA trace
measurement.
Applications
The System ILA IP core is designed to be used in any application which requires verification
or debugging using the Vivado logic analyzer. Figure 1-2 shows MicroBlaze™ processor
writes and read from AXI BRAM controller through M_AXI_DP interface. The System ILA core
is connected to the interface net between the MicroBlaze™ processor and AXI Bram
controller to monitor the AXI4 transaction between MicroBlaze™ processor and AXI BRAM
controller in hardware manager.
X-Ref Target - Figure 1-2
Information about other Xilinx LogiCORE IP modules is available at the Xilinx Intellectual
Property page. For information on pricing and availability of other Xilinx LogiCORE IP
modules and tools, contact your local Xilinx sales representative.
Product Specification
The customizable System Integrated Logic Analyzer (System ILA) IP core is a logic analyzer
which can be used to monitor the internal signals and interfaces of a design. The System ILA
core includes many advanced features of modern logic analyzers, including boolean trigger
equations and edge transition triggers. The core also offers interface debug and monitoring
capability along with AXI4-MM and AXI4-Stream protocol checking. Because the System ILA
core is synchronous to the design being monitored, all design clock constraints that are
applied to your design are also applied to the components of the System ILA core.
Port Descriptions
The port descriptions for the System ILA IP Core Ports and Parameters are described in the
following sections.
Clocking
The clk input port is the clock used by the System ILA core to register the probe values. For
best results, it should be the same clock signal that is synchronous to the design logic that
is attached to the probe ports of the System ILA core.
Resets
System ILA can only be reset using the Vivado® logic analyzer.
• Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
[Ref 1]
• Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 2]
• Vivado Design Suite User Guide: Getting Started (UG910) [Ref 3]
• Vivado Design Suite User Guide: Logic Simulation (UG900) [Ref 4]
If you are customizing and generating the core in the Vivado IP integrator, see the Vivado
Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994) [Ref 1] for
detailed information. IP integrator may auto-compute certain configuration values when
validating or generating the design. To check whether the values do change, see the
description of the parameter in this chapter. To view the parameter value, run the
validate_bd_design command in the Tcl console.
You can customize the IP for use in your design by specifying values for the various
parameters associated with the IP core using the following steps:
1. Select the Add IP option from the Vivado IPI right click menu.
2. Add the System ILA IP from Vivado IPI catalog. (See Figure 4-1.)
3. Double-click the selected IP or select the Customize Block command from the toolbar
or right-click menu.
For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 2] and
the Vivado Design Suite User Guide: Getting Started (UG910) [Ref 3].
Note: Figures in this chapter are illustrations of the Vivado Integrated Design Environment (IDE).
The layout depicted here might vary from the current version.
X-Ref Target - Figure 4-1
General Options
Figure 4-2 shows the General Options tab (Interface Monitor Type selected). This allows
you to specify general configuration options.
X-Ref Target - Figure 4-2
Figure 4-3 shows the General Options tab (Mix Monitor Type selected). This allows you to
specify general configuration options.
X-Ref Target - Figure 4-3
Monitor Type - This option specifies which type of interface that System ILA should be
debugging. Values for this parameter are INTERFACE, NATIVE and MIX.
Number of Probes - Use this field to configure the number of probe ports required on the
System ILA core. The valid range used in the Vivado IDE is 1 to 64. If more than 64 probe
ports are required, use the Tcl command flow to generate the System ILA core.
Native Probe Width propagation - Update the Native probe width propagation to
MANUAL in order set the individual probe width parameters.
Number of Interface Slots - Select the number of interface slots on the System ILA core.
The valid range in the Vivado IDE is 1-16.
Sample Data Depth - Select the required sample depth from the drop-down menu.
Same Number of Comparators for all Probes - Check to enable the same number of
comparators for all the enabled ports and interfaces. This option is available in both Basic
and Advanced Trigger modes.
Number of Comparators - Select to enable the number of comparators that applies to all
enabled probes. The maximum number of comparators is 16 per probe. The number of
comparators can be set from 1 to 16 in both Basic and Advanced Trigger modes.
Trigger Out Port - Check to enable the optional trigger out port.
Input Pipe Stages - Select the number of registers you want to add for the probe. This
parameter applies to all of the probes.
Capture Control - Check to enable the qualifier for the trace capture.
Probe Ports
Figure 4-4 shows the Probe Ports tab in the Native/MIX monitor type. This tab allows you
to configure Probe Port options.
Probe Port Width can be configured in this tab. The width of the individual probes are
editable only when the Native Probe Width Propagation parameter value is set to
MANUAL (see Figure 4-3). Otherwise, the width of each individual probe is set
automatically based on IP Integrator parameter propagation. Each Probe Port Panel has up
to eight ports.
The number of comparators per probe can be configured on this tab. This option is
available only when the Advanced Trigger option is selected and the Same Number of
Comparator for all Probes option is cleared on the first page of Vivado IDE (see
Figure 4-3).
X-Ref Target - Figure 4-4
Interface Options
Figure 4-5 shows the Interface Options tab in the Interface/MIX monitor type with the
AXI4-MM Interface type selected (highlighted).
X-Ref Target - Figure 4-5
Figure 4-7 shows the Interface Options tab in the Interface/MIX monitor type with a Non
AXI Interface type selected (highlighted).
X-Ref Target - Figure 4-7
Interface Type - VLNV [Ref 11] of the interface to be monitored by the System ILA core.
AXI-MM Protocol - Selects the protocol of AXI interface when the slot_<p> interface type
is configured as AXI-MM, where <p> is the slot number.
AXI-MM ID Width - Selects the ID width of the AXI interface when the slot_<p> interface
type is configured as AXI-MM, where <p> is the slot number.
AXI-MM Data Width - Selects the Data width of the AXI interface when the slot_<p>
interface type is configured as AXI-MM, where <p> is the slot number.
AXI-MM Address Width - Selects the Address width of the AXI interface when the
slot_<p> interface type is configured as AXI-MM, where <p> is the slot number.
Monitor APC Status signals - Enable monitoring of APC status signals for slot <p> when
the slot_<p> interface type is configured as AXI-MM, where <p> is the slot number.
Configure AXI read address channel as Data - Select read address channel signals for
data storage purpose for slot <p> when the slot_<p> interface type is configured as
AXI-MM, where <p> is the slot number.
Configure AXI read address channel as Trigger - Select read address channel signals for
specifying trigger condition for slot <p> when the slot_<p> interface type is configured as
AXI-MM, where <p> is the slot number.
Configure AXI read data channel as Data - Select read data channel signals for data
storage purposes for slot <p> when the slot_<p> interface type is configured as AXI-MM,
where <p> is the slot number.
Configure AXI read data channel as Trigger - Select read data channel signals for
specifying trigger conditions for slot <p> when the slot_<p> interface type is configured as
AXI-MM, where <p> is the slot number.
Configure AXI write address channel as Data - Select write address channel signals for
data storage purpose for slot <p> when the slot_<p> interface type is configured as
AXI-MM, where <p> is the slot number.
Configure AXI write address channel as Trigger - Select write address channel signals for
specifying trigger conditions for slot <p> when the slot_<p> interface type is configured as
AXI-MM, where <p> is the slot number.
Configure AXI write data channel as Data - Select write data channel signals for data
storage purpose for slot <p> when the slot_<p> interface type is configured as AXI-MM,
where <p> is the slot number.
Configure AXI write data channel as Trigger - Select write data channel signals for
specifying trigger condition for slot <p> when the slot_<p> interface type is configured as
AXI-MM, where <p> is the slot number.
Configure AXI write response channel as Data - Select write response channel signals for
data storage purposes for slot <p> when the slot_<p> interface type is configured as
AXI-MM, where <p> is the slot number.
Configure AXI write response channel as Trigger - Select write response channel signals
for specifying trigger condition for slot <p> when the slot_<p> interface type is configured
as AXI-MM, where <p> is the slot number.
AXI-Stream Tdata Width - Selects the Tdata width of the AXI-Stream interface when the
slot_<p> interface type is configured as AXI-Stream>, where <p> is the slot number.
AXI-Stream TID Width - Selects the TID width of the AXI-Stream interface when the
slot_<p> interface type is configured as AXI-Stream>, where <p> is the slot number.
AXI-Stream TUSER Width - Selects the TUSER width of the AXI-Stream interface when the
slot_<p> interface type is configured as AXI-Stream>, where <p> is the slot number.
AXI-Stream TDEST Width - Selects the TDEST width of the AXI-Stream interface when the
slot_<p> interface type is configured as AXI-Stream>, where <p> is the slot number.
Configure AXIS signals as Data - Select AXI4-Stream signals for data storage purpose for
slot <p> when the slot_<p> interface type is configured as AXI-Stream where <p> is the
slot number.
Configure AXIS signals as Trigger - Select AXI4-Stream signals for specifying trigger
condition for slot <p> when the slot_<p> interface type is configured as AXI-Stream, where
<p> is the slot number.
Configure Slot as Data and/or Trigger - Selects non-AXI slot signals for specifying trigger
condition or for data storage purpose or for both for slot <p> when the slot_<p> interface
type is configured as non-AXI, where <p> is the slot number.
BRAM Resources estimation graph - The bar graph gives an estimates percentage
consumption of BRAM slices for the device part being used.
Output Generation
For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 2].
Required Constraints
The ILA core includes an XDC file that contains appropriate false path constraints to prevent
the over-constraining of clock domain crossing synchronization paths. It is also expected
that the clock signal connected to the clk input port of the ILA core is properly constrained
in your design.
Clock Frequencies
This section is not applicable for this IP core.
Clock Management
This section is not applicable for this IP core.
Clock Placement
This section is not applicable for this IP core.
Banking
This section is not applicable for this IP core.
Transceiver Placement
This section is not applicable for this IP core.
Simulation
This core does not support simulation.
IMPORTANT: Synthesis with Synopsys Synplify is not supported for the core.
Upgrading
This appendix is not applicable for the first release of the core.
Debugging
This appendix includes details about resources available on the Xilinx Support website and
debugging tools.
TIP: If the IP generation halts with an error, there might be a license issue. See Licensing and Ordering
for more details.
Documentation
This product guide is the main document associated with the System ILA. This guide, along
with documentation related to all products that aid in the design process, can be found on
the Xilinx Support web page or by using the Xilinx Documentation Navigator.
Download the Xilinx Documentation Navigator from the Downloads page. For more
information about this tool and the features available, open the online help after
installation.
Answer Records
Answer Records include information about commonly encountered problems, helpful
information on how to resolve these problems, and any known issues with a Xilinx product.
Answer Records are created and maintained daily ensuring that users have access to the
most accurate information available.
Answer Records for this core can be located by using the Search Support box on the main
Xilinx support web page. To maximize your search results, use proper keywords such as:
• Product name
• Tool message(s)
A filter search is available after results are returned to further target the results.
Technical Support
Xilinx provides technical support at the Xilinx Support web page for this LogiCORE™ IP
product when used as described in the product documentation. Xilinx cannot guarantee
timing, functionality, or support if you do any of the following:
• Implement the solution in devices that are not defined in the documentation.
• Customize the solution beyond that allowed in the product documentation.
• Change any section of the design labeled DO NOT MODIFY.
To contact Xilinx Technical Support, navigate to the Xilinx Support web page.
Debug Tools
There are many tools available to address System ILA design issues. It is important to know
which tools are useful for debugging various situations.
The Vivado logic analyzer is used with the logic debug IP cores, including:
See the Vivado Design Suite User Guide: Programming and Debugging (UG908) [Ref 6].
For more information on the ability to interact with the ILA core using Tcl Console
commands, see Chapter 5 in the Vivado Design Suite User Guide: Programming and
Debugging (UG908) [Ref 6].
Hardware Debug
Hardware issues can range from link bring-up to problems seen after hours of testing. This
section provides debug steps for common issues. The Vivado debug feature is a valuable
resource to use in hardware debug. The signal names mentioned in the following individual
sections can be probed using the debug feature for debugging the specific problems.
General Checks
Ensure that all the timing constraints for the core were properly incorporated from the
example design and that all constraints were met during implementation. If using MMCMs
in the design, ensure that all MMCMs have obtained lock by monitoring the locked port.
Xilinx Resources
For support resources such as Answers, Documentation, Downloads, and Forums, see Xilinx
Support.
• From the Vivado® IDE, select Help > Documentation and Tutorials.
• On Windows, select Start > All Programs > Xilinx Design Tools > DocNav.
• At the Linux command prompt, enter docnav.
Xilinx Design Hubs provide links to documentation organized by design tasks and other
topics, which you can use to learn key concepts and address frequently asked questions. To
access the Design Hubs:
• In the Xilinx Documentation Navigator, click the Design Hubs View tab.
• On the Xilinx website, see the Design Hubs page.
Note: For more information on Documentation Navigator, see the Documentation Navigator page
on the Xilinx website.
References
These documents provide supplemental material useful with this product guide:
1. Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
2. Vivado Design Suite User Guide: Designing with IP (UG896)
Training Resources
1. Designing FPGAs Using the Vivado Design Suite 1 Training Course
2. Vivado Design Suite QuickTake Video Tutorials
Revision History
The following table shows the revision history for this document.