Intel Quartus Prime Pro Edition User Guide
Intel Quartus Prime Pro Edition User Guide
User Guide
Debug Tools
Contents
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
2
Contents
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
3
Contents
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
4
Contents
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
5
UG-20139 | 2020.09.28
Send Feedback
System debugging tools provide visibility by routing (or “tapping”) signals in your
design to debugging logic. The Compiler includes the debugging logic in your design
and generates programming files that you download into the FPGA or CPLD for
analysis.
Each tool in the system debugging portfolio uses a combination of available memory,
logic, and routing resources to assist in the debugging process. Because different
designs have different constraints and requirements, you can choose the tool that
matches the specific requirements for your design, such as the number of spare pins
available or the amount of logic or memory resources remaining in the physical
device.
System Console and • Provides real-time in-system debugging • Perform system-level debugging.
Debugging Toolkits capabilities using available debugging • Debug or optimize signal integrity of a board
toolkits. layout even before finishing the design.
• Allows you to read from and write to • Debug external memory interfaces.
memory mapped components in a system
• Debug an Ethernet Intel FPGA IP interface in
without a processor or additional software.
real time.
• Communicates with hardware modules in
• Debug a PCI Express* link at the Physical,
a design through a Tcl interpreter.
Data Link, and Transaction layers.
• Allows you to take advantage of all the
• Debug and optimize high-speed serial links in
features of the Tcl scripting language.
your board design.
• Supports JTAG and TCP/IP connectivity.
Signal Tap logic • Uses FPGA resources. You have spare on-chip memory and you want
analyzer • Samples test nodes, and outputs the functional verification of a design running in
information to the Intel Quartus Prime hardware.
software for display and analysis.
Signal Probe Incrementally routes internal signals to I/O You have spare I/O pins and you want to check
pins while preserving results from the last the operation of a small set of control pins using
place-and-routed design. either an external logic analyzer or an
oscilloscope.
continued...
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Logic Analyzer • Multiplexes a larger set of signals to a You have limited on-chip memory and a large set
Interface (LAI) smaller number of spare I/O pins. of internal data buses to verify using an external
• Allows you to select which signals switch logic analyzer. Logic analyzer vendors, such as
onto the I/O pins over a JTAG connection. Tektronics* and Agilent*, provide integration
with the tool to improve usability.
In-System Sources Provides an easy way to drive and sample You want to prototype the FPGA design using a
and Probes logic values to and from internal nodes using front panel with virtual buttons.
the JTAG interface.
In-System Memory Displays and allows you to edit on-chip You want to view and edit the contents of on-
Content Editor memory. chip memory that is not connected to a Nios® II
processor.
You can also use the tool when you do not want
to have a Nios II debug core in your system.
Virtual JTAG Allows you to communicate with the JTAG You want to communicate with custom signals in
Interface interface so that you can develop custom your design.
applications.
Refer to the following for more information about launching and using the available
debugging toolkits:
• Launching a Toolkit in System Console on page 152
• Available System Debugging Toolkits on page 154
More Data Storage N/A X — An external logic analyzer with the LAI tool allows you to
store more captured data than the Signal Tap logic analyzer,
because the external logic analyzer can provide access to a
bigger buffer.
The Signal Probe tool does not capture or store data.
Faster Debugging X X — You can use the LAI or the Signal Probe tool with external
equipment, such as oscilloscopes and mixed signal
oscilloscopes (MSOs). This ability provides access to timing
mode, which allows you to debug combined streams of
data.
Minimal Effect on X X(2) X(2) The Signal Probe tool incrementally routes nodes to pins,
Logic Design with no effect on the design logic.
The LAI adds minimal logic to a design, requiring fewer
device resources.
The Signal Tap logic analyzer has little effect on the design,
because the Compiler considers the debug logic as a
separate design partition.
Short Compile and X X(2) X(2) Signal Probe uses incremental routing to attach signals to
Recompile Time previously reserved pins. This feature allows you to quickly
recompile when you change the selection of source signals.
The Signal Tap logic analyzer and the LAI can refit their own
design partitions to decrease recompilation time.
Sophisticated N/A N/A X The triggering capabilities of the Signal Tap logic analyzer
Triggering are comparable to commercial logic analyzers.
Capability
continued...
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
7
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Low I/O Usage — — X The Signal Tap logic analyzer does not require additional
output pins.
Both the LAI and Signal Probe require I/O pin assignments.
Fast Data N/A — X The Signal Tap logic analyzer can acquire data at speeds of
Acquisition over 200 MHz.
Signal integrity issues limit acquisition speed for external
logic analyzers that use the LAI.
No JTAG Connection X — — Signal Probe does not require a host for debugging
Required purposes.
The Signal Tap logic analyzer and the LAI require an active
JTAG connection to a host running the Intel Quartus Prime
software.
Notes to Table:
1. • X indicates the recommended tools for the feature.
• — indicates that while the tool is available for that feature, that tool might not give the best results.
• N/A indicates that the feature is not applicable for the selected tool.
A very important distinction in the system debugging tools is how they interact with
the design. All debugging tools in the Intel Quartus Prime software allow you to read
the information from the design node, but only a subset allow you to input data at
runtime:
Signal Probe
In-System Sources and Probes Yes Yes These tools allow to:
• Read data from breakpoints that you
Virtual JTAG Interface define
System Console • Input values into your design during
runtime
Debugging Toolkits
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
8
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Taken together, the set of on-chip debugging tools form a debugging ecosystem. The
set of tools can generate a stimulus to and solicit a response from the logic under test,
providing a complete solution.
FPGA
Virtual JTAG Interface
Debugging Toolkits
System Console
In-System Sources and Probes
Intel Quartus Prime JTAG In-System Memory Content Editor Design Under Test
Software
Signal Tap
Logic Analyzer Interface
Signal Probe
Related Information
• Quick Design Verification with Signal Probe on page 104
• Design Debugging with the Signal Tap Logic Analyzer on page 21
• In-System Debugging Using External Logic Analyzers on page 108
Evaluate debugging options early on in the design planning process to ensure that you
support the appropriate options in the board, Intel Quartus Prime project, and design.
Planning early can reduce debugging time, and eliminates last minute changes to
accommodate debug methodologies.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
9
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Signal
Signal Tap
Probe
Memory
A baseline configuration consisting of the SLD arbitration logic and a single node with
basic triggering logic contains approximately 300 to 400 Logic Elements (LEs). Each
additional node you add to the baseline configuration adds about 11 LEs. Compared
with logic resources, memory resources are a more important factor to consider for
your design. Memory usage can be significant and depends on how you configure your
Signal Tap logic analyzer instance to capture data and the sample depth that your
design requires for debugging. For the Signal Tap logic analyzer, there is the added
benefit of requiring no external equipment, as all of the triggering logic and storage is
on the chip.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
10
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
For information about setting up a Nios II system with the System Console to perform
remote debugging, refer to Application Note 624.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
11
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Related Information
Application Note 624: Debugging with System Console over TCP/IP
Though you can use all three tools to achieve the same results, there are some
considerations that make one tool easier to use in certain applications:
• The In-System Sources and Probes is ideal for toggling control signals.
• The In-System Memory Content Editor is useful for inputting large sets of test
data.
• Finally, the Virtual JTAG interface is well suited for advanced users who want to
develop custom JTAG solutions.
You instantiate an Intel FPGA IP into your HDL code. This Intel FPGA IP core contains
source ports and probe ports that you connect to signals in your design, and abstracts
the JTAG interface's transaction details.
In addition, In-System Sources and Probes provide a GUI that displays source and
probe ports by instance, and allows you to read from probe ports and drive to source
ports. These features make this tool ideal for toggling a set of control signals during
the debugging process.
Related Information
Design Debugging Using In-System Sources and Probes on page 125
Related Information
Signal Tap Scripting Support on page 98
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
12
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Related Information
In-System Modification of Memory and Constants on page 116
Related Information
Analyzing and Debugging Designs with System Console on page 139
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
13
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Refer to the following for more information about launching and using the available
debugging toolkits:
• Launching a Toolkit in System Console on page 152
• Available System Debugging Toolkits on page 154
Related Information
• Virtual JTAG (altera_virtual_jtag) IP Core User Guide
• Virtual JTAG Interface (VJI) Intel FPGA IP
In Intel Quartus Prime Help
Most Intel FPGA on-chip debugging tools use the JTAG port to control and read-back
data from debugging logic and signals under test. The JTAG Hub manages the sharing
of JTAG resources.
Note: For System Console, you explicitly insert debug IP cores into the design to enable
debugging.
The JTAG Hub appears in the project's design hierarchy as a partition named
auto_fab_<number>.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
14
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
• SLD JTAG Bridge Agent Intel FPGA IP—Resides in the higher-level partition.
Extends the JTAG debug fabric from a higher-level partition to a lower-lever
partition containing the SLD JTAG Bridge Host IP. You instantiate the SLD JTAG
Bridge Agent IP in the higher-level partition.
• SLD JTAG Bridge Host Intel FPGA IP—resides in the lower-level partition.
Connects to the PR JTAG hub on one end, and to the SLD JTAG Bridge Agent on
the higher-level partition.
Connects the JTAG debug fabric in a lower-level to a higher-level partition
containing the SLD JTAG Bridge Agent IP. You instantiate the SLD JTAG Bridge
Host IP in the lower-level partition.
tck
SLD AGENT INTERFACE
For each PR region or reserved core partition you debug, you must instantiate one SLD
JTAG Bridge Agent in the higher-level partition and one SLD JTAG Bridge Host in the
lower-level partition.
The Intel Quartus Prime software supports multiple instances of the SLD JTAG Bridge
in designs. The Compiler assigns an index number to distinguish each instance. The
bridge index for the root partition is always None.
When configuring the Signal Tap logic analyzer for the root partition, set the Bridge
Index value to None in the JTAG Chain Configuration window.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
15
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Following design synthesis, the Compilation Report lists the index numbers for the SLD
JTAG Bridge Agents in the design. Open the Synthesis ➤ In-System Debugging ➤
JTAG Bridge Instance Agent Information report for details about how the bridge
indexes are enumerated. The reports shows the hierarchy path and the associated
index.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
16
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
The IP Parameter Editor Pro window shows the IP parameters. In most cases,
you do not need to change the default values.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
17
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
18
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
The IP Parameter Editor Pro window shows the IP parameters. In most cases,
you do not need to change the default values.
In addition, the Signal Tap logic analyzer allows you to debug the static or partial
reconfiguration (PR) regions of the design. If you only want to debug the static region,
you can use the In-System Sources and Probes Editor, In-System Memory Content
Editor, or System Console with the JTAG Avalon Master Bridge.
Related Information
Debugging Partial Reconfiguration Designs with Signal Tap on page 83
To connect the hubs on parent and child partitions, you must instantiate one SLD JTAG
Bridge for each PR region that you want to debug.
Related Information
• PR Design Setup for Signal Tap Debug on page 83
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
19
1. System Debugging Tools Overview
UG-20139 | 2020.09.28
2018.05.07 18.0 • Moved here information about debug fabric on PR designs from the
Design Debugging with the Signal Tap Logic Analyzer chapter.
2017.05.08 17.0 • Combined Altera JTAG Interface and Required Arbitration Logic topics
into a new updated topic named System-Level Debugging
Infrastructure.
• Added topic: Debug the Partial Reconfiguration Design with System
Level Debugging Tools.
June 2014 14.0 Added information that System Console supports the Tk toolkit.
November 2013 13.1 Dita conversion. Added link to Remote Debugging over TCP/IP for Altera
SoC Application Note.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
20
UG-20139 | 2020.09.28
Send Feedback
By default, the Signal Tap logic analyzer captures data continuously from the signals
you specify while the logic analyzer is running. To capture and store only specific
signal data, you specify conditions that trigger the start or stop of data capture. A
trigger activates when the trigger conditions are met, stopping analysis and displaying
the data. You can save the captured data in device memory for later analysis, and
filter data that is not relevant.
You enable the logic analyzer functionality by defining one or more instances of the
Signal Tap logic analyzer in your project. You can define the properties of the Signal
Tap instance in the Signal Tap logic analyzer GUI, or by HDL instantiation of the Signal
Tap Logic Analyzer Intel FPGA IP. After design compilation, you configure the target
device with your design (including any Signal Tap instances), which enables data
capture and communication with the Signal Tap logic analyzer GUI over a JTAG
connection.
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The Signal Tap logic analyzer GUI helps you to rapidly define and modify Signal Tap
signal configuration and JTAG connection settings, displays the captured signals during
analysis, starts and stops analysis, and displays and records signal data. When you
configure a Signal Tap instance in the logic analyzer GUI, Signal Tap preserves the
instance settings in a Signal Tap Logic Analyzer file (.stp) for reuse.
The Signal Tap logic analyzer supports a high number of channels, a large sample
depth, fast clock speeds, and other features described in the Key Signal Tap Logic
Analyzer Features table.
Multiple logic analyzers in a single Capture data from multiple clock domains and from multiple devices at the same
device, or in multiple devices in a time.
single chain
Up to 10 trigger conditions for each Send complex data capture commands to the logic analyzer for greater accuracy
analyzer instance and problem isolation.
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
22
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Feature Benefit
Power-up trigger Capture signal data for triggers that occur after device programming, but before
manually starting the logic analyzer.
Custom trigger HDL object Define a custom trigger in Verilog HDL or VHDL and tap specific instances of
modules across the design hierarchy, without manual routing of all the necessary
connections.
State-based triggering flow Organize triggering conditions to precisely define data capture.
Flexible buffer acquisition modes Precise control of data written into the acquisition buffer. Discard data samples
that are not relevant to the debugging of your design.
MATLAB* integration with MEX Collect Signal Tap capture data into a MATLAB integer matrix.
function
Up to 4,096 channels per logic Samples many signals and wide bus structures.
analyzer instance
Up to 128K samples per instance Captures a large sample set for each channel.
Fast clock frequencies Synchronous sampling of data nodes using the same clock tree driving the logic
under test.
Resource usage estimator Provides an estimate of logic and memory device resources that the Signal Tap
logic analyzer configurations use.
Compatible with other debugging Use the Signal Tap logic analyzer in tandem with any JTAG-based on-chip
utilities debugging tool, such as an In-System Memory Content editor, to change signal
values in real-time.
During data acquisition, the memory blocks in the FPGA device store the captured
data, and then transfer the data to the Signal Tap logic analyzer over a JTAG
communication cable, such as Intel FPGA Ethernet Cable or Intel FPGA Download
Cable.
The Signal Tap logic analyzer requires the following hardware and software to perform
logic analysis:
• The Signal Tap logic analyzer included with the Intel Quartus Prime software, or
the Signal Tap logic analyzer standalone software and standalone Programmer
software.
• An Intel FPGA download or communications cable.
• An Intel development kit, or your own design board with a JTAG connection to the
device under test.
Related Information
Running the Stand-Alone Version of Signal Tap on page 98
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
23
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Yes
13 Compile the Design
No Recompilation
Including Signal Tap Necessary?
Functionality No
Satisfied or Bug
Fixed?
Yes
Debugging Complete
The following steps describe the Signal Tap debugging flow in detail:
• Step 1: Add the Signal Tap Logic Analyzer to the Project on page 25
• Step 2: Configure the Signal Tap Logic Analyzer on page 30
• Step 3: Compile the Design and Signal Tap Instances on page 68
• Step 4: Program the Target Hardware on page 70
• Step 5: Run the Signal Tap Logic Analyzer on page 71
• Step 6: Analyze Signal Tap Captured Data on page 75
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
24
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
2.3. Step 1: Add the Signal Tap Logic Analyzer to the Project
To debug a design using the Signal Tap logic analyzer, you must first define one or
more Signal Tap instances and add them to your project. You then compile the Signal
Tap instances, along with your design. You can define a Signal Tap instance in the
Signal Tap logic analyzer GUI or by HDL instantiation.
To help you get started quickly, the Signal Tap logic analyzer GUI includes
preconfigured templates for various trigger conditions and applications. You can then
modify the settings the template applies and adjust trigger conditions in the Signal
Tap logic analyzer GUI.
If you want to monitor multiple clock domains simultaneously, you can add additional
instances of the logic analyzer to your design, limited only by the available resources
in your device.
2.3.1. Creating a Signal Tap Instance with the Signal Tap GUI
When you define one or more Signal Tap instances in the GUI, Signal Tap stores the
trigger and signal configuration settings in a Signal Tap Logic Analyzer File (.stp).
You can open a .stp to reload that Signal Tap configuration.
1. Open a project and run Analysis & Synthesis on the Compilation Dashboard.
2. To create a Signal Tap instance with the Signal Tap logic analyzer GUI, perform
one of the following:
• Click Tools ➤ Signal Tap Logic Analyzer.
• Click File ➤ New ➤ Signal Tap Logic Analyzer File.
3. Select a Signal Tap file template. The Preview describes the setup and Signal
Configuration the template applies. Refer to Signal Tap File Templates on page
95.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
25
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
4. Click Create. The Signal Tap logic analyzer GUI opens with the template options
preset for the Signal Tap instance.
5. Under Signal Configuration, specify the acquisition Clock and optionally modify
other settings, as Step 2: Configure the Signal Tap Logic Analyzer on page 30
describes.
6. When you save or close the Signal Tap instance, click Yes when prompted to add
the Signal Tap instance to the project.
You can disable and enable Signal Tap instances in the Instance Manager pane. This
setting determines whether the logic analyzer includes the instance the next time you
compile the design. If you enable or disable instances, you must recompile the design
to implement the changes.
Figure 17. Enable and Disable Signal Tap Instances in Instance Manager
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
26
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
1. From the Intel Quartus Prime IP Catalog (View ➤ IP Catalog), locate and
double-click the Signal Tap Logic Analyzer Intel FPGA IP.
2. In the New IP Variant dialog box, specify the File Name for your Signal Tap
instance, and then click Create. The IP parameter editor displays the available
parameter settings for the Signal Tap instance.
3. In the parameter editor, specify the Data, Segmented Acquisition, Storage
Qualifier, Trigger, and Pipelining parameters, as Signal Tap Intel FPGA IP
Parameters on page 28 describes.
4. Click Generate HDL. The parameter editor generates the HDL implementation of
the Signal Tap instance according your specifications.
5. To instantiate the Signal Tap instance in your RTL, click Generate ➤ Show
Instantiation Template in the parameter editor. Copy the Instantiation
Template contents into your RTL.
Figure 20. Signal Tap Logic Analyzer Intel FPGA IP Instantiation Template
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
27
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
6. Run at least the Analysis & Synthesis stage of the Compiler to synthesize the RTL
(including Signal Tap instance) by clicking Processing ➤ Start ➤ Start Analysis
& Synthesis. Alternatively, you can run full compilation and the Assembler at this
point if ready.
7. When the Compiler completes, click Create/Update ➤ Create Signal Tap File
from Design Instance to create a .stp file for analysis in the Signal Tap logic
analyzer GUI.
Figure 21. Create Signal Tap File from Design Instances Dialog Box
Segmented Acquisition Specifies options for organizing the captured data buffer:
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
28
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
• Segmented—the memory space is split into separate buffers. Each buffer acts
as a separate FIFO with its own set of trigger conditions, and behaves as a non-
segmented buffer. Only a single buffer is active during an acquisition. Default is
off.
• Number of Segments—specifies the number of segments in each memory
space. Default is 2.
• Samples per Segments—the number of samples Signal Tap captures per
segment. Default is 64.
Storage Qualifier Specifies the Continuous or Input Port method, and whether to Record data
discontinuities.
Pipelining The Pipeline Factor specifies the levels of pipelining added for potential fMAX
improvement from 0 to 5. Default is 0.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
29
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
When you use the available Signal Tap templates to create a new Signal Tap instance,
the template specifies many of the initial option values automatically.
Basic configuration of the Signal Tap logic analyzer includes specifying values for the
following options:
• Specifying the Clock, Sample Depth, and RAM Type on page 31
• Specifying the Buffer Acquisition Mode on page 32
• Adding Signals to the Signal Tap Logic Analyzer on page 34
• Defining Trigger Conditions on page 37
• Specifying Pipeline Settings on page 60
• Filtering Relevant Samples on page 61
• Managing Multiple Signal Tap Configurations on page 81
Related Information
Prevent Changes Requiring Recompilation on page 69
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
30
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Note: The Signal Tap file templates automatically specify appropriate initial values for some
of these options.
Signal Tap samples data on each positive (rising) edge of the acquisition clock.
Therefore Signal Tap requires a clock signal from your design to control the logic
analyzer data acquisition. For best data acquisition, specify a global, non-gated clock
that is synchronous to the signals under test. Refer to the Timing Analysis section of
the Compilation Report for the maximum frequency of the logic analyzer clock.
• To specify the acquisition clock signal, enter a signal name from your design for
the Clock setting in Single Configuration.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
31
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The sample depth determines the number of samples the logic analyzer captures and
stores in the data buffer, for each signal. In cases with limited device memory
resources, you can reduce the sample depth to reduce resource usage.
• To specify the sample depth, select the number of samples from the Sample
depth list under Single Configuration. Available sample depth range is from
0 to 128K.
You can specify the RAM type and buffer acquisition mode for storage of Signal Tap
logic analyzer acquisition data. When you allocate the Signal Tap logic analyzer buffer
to a particular RAM block, the entire RAM block becomes a dedicated resource for the
logic analyzer.
• To specify the RAM type, select a Ram type under Single Configuration.
Available settings are Auto, MLAB, or M20K RAM.
Use RAM selection to preserve a specific memory block for your design, and allocate
another portion of memory for Signal Tap data acquisition. For example, if your design
has an application that requires a large block of memory resources, such as a large
instruction or data cache, use MLAB blocks for data acquisition and leave M20k blocks
for your design.
Related Information
• Adding Nios II Processor Signals with a Plug-In on page 36
• Managing Device I/O Pins, Intel Quartus Prime Pro Edition User Guide: Design
Constraints
The Signal Tap logic analyzer supports either a non-segmented (or circular) buffer and
a segmented buffer.
• Non-segmented buffer—the Signal Tap logic analyzer treats the entire memory
space as a single FIFO, continuously filling the buffer until the logic analyzer
reaches the trigger conditions that you specify.
• Segmented buffer—the memory space is split into separate buffers. Each buffer
acts as a separate FIFO with its own set of trigger conditions, and behaves as a
non-segmented buffer. Only a single buffer is active during an acquisition. The
Signal Tap logic analyzer advances to the next segment after the trigger condition
or conditions for the active segment has been reached.
When using a non-segmented buffer, you can use the storage qualification feature to
determine which samples are written into the acquisition buffer. Both the segmented
buffers and the non-segmented buffer with the storage qualification feature help you
maximize the use of the available memory space.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
32
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Figure 24. Buffer Type Comparison in the Signal Tap Logic Analyzer
The figure illustrates the differences between the two buffer types.
(a) Circular Buffer
Both non-segmented and segmented buffers can use a preset trigger position (Pre-
Trigger, Center Trigger, Post-Trigger). Alternatively, you can define a custom trigger
position using the State-Based Triggering tab, as Specify Trigger Position on page
46 describes.
The non-segmented buffer is the default buffer type in the Signal Tap logic analyzer.
At runtime, the logic analyzer stores data in the buffer until the buffer fills up. From
that point on, new data overwrites the oldest data, until a specific trigger event
occurs. The amount of data the buffer captures after the trigger event depends on the
Trigger position setting:
• To capture most data before the trigger occurs, select Post trigger position from
the list
• To capture most data after the trigger, select Pre trigger position.
• To center the trigger position in the data, select Center trigger position.
Alternatively, use the custom State-based triggering flow to define a custom trigger
position within the capture buffer.
If you want to have separate trigger conditions for each of the segmented buffers, you
must use the state-based trigger flow. The figure shows an example of a segmented
buffer system.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
33
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
K, Kn
INCLK
K_FB_OUT C, Cn
K_FB_IN
With the buffer acquisition feature allows you to monitor multiple read transactions
from the SRAM device without running the Signal Tap logic analyzer again. You can
split the memory to capture the same event multiple times, without wasting allocated
memory. The buffer captures as many cycles as the number of segments you define
under the Data settings in the Signal Configuration pane.
To enable and configure buffer acquisition, select Segmented in the Signal Tap logic
analyzer Editor and determine the number of segments to use. In the example in the
figure, selecting 64-sample segments allows you to capture 64 read cycles.
Related Information
Viewing Capture Data Using Segmented Buffers on page 75
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
34
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
There is no limit to the number of signals available for monitoring in the Signal Tap
window waveform display. However, the number of channels available is directly
proportional to the number of logic elements (LEs) or adaptive logic modules (ALMs)
in the device. Therefore, there is a physical restriction on the number of channels that
are available for monitoring. Signals shown in blue text are post-fit node names.
Signals shown in black text are pre-synthesis node names.
After successful Analysis and Elaboration, invalid signals appear in red. Unless you are
certain that these signals are valid, remove them from the .stp file for correct
operation. The Signal Tap Status Indicator also indicates if an invalid node name exists
in the .stp file.
You can monitor signals only if a routing resource (row or column interconnects) exists
to route the connection to the Signal Tap instance. For example, you cannot monitor
signals that exist in the I/O element (IOE), because there are no direct routing
resources from the signal in an IOE to a core logic element. For input pins, you can
monitor the signal that is driving a logic array block (LAB) from an IOE, or, for output
pins, you can monitor the signal from the LAB that is driving an IOE.
Note: The Intel Quartus Prime Pro Edition software uses only the instance name, and not the
entity name, in the form of:
a|b|c
not a_entity:a|b_entity:b|c_entity:c
When you add pre-synthesis signals to Signal Tap for monitoring, make all connections
to the Signal Tap logic analyzer before synthesis. The Compiler allocates logic and
routing resources to make the connection as if you changed your design files. For
signals driving to and from IOEs, pre-synthesis signal names coincide with the pin's
signal names.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
35
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
When you add post-fit signals to Signal Tap for monitoring, you are connecting to
actual atoms in the post-fit netlist. You can only monitor signals that exist in the post-
fit netlist, and existing routing resources must be available.
In the case of post-fit output signals, monitor the COMBOUT or REGOUT signal that
drives the IOE block. For post-fit input signals, signals driving into the core logic
coincide with the pin's signal name.
Note: Because NOT-gate push back applies to any register that you monitor, the signal from
the atom may be inverted. You can verify the inversion by locating to the signal with
the Locate Node ➤ Locate in Resource Property Editor or the Locate Node ➤
Locate in Technology Map Viewer commands. You can also view post-fit node
names in the Resource Property Editor.
Related Information
Design Flow with the Netlist Viewers, Intel Quartus Prime Pro Edition User Guide:
Design Optimization
The Nios II plug-in creates one mnemonic table in the Setup tab and two tables in the
Data tab:
• Nios II Instruction (Setup tab)—capture all the required signals for triggering
on a selected instruction address.
• Nios II Instance Address (Data tab)—display address of executed instructions
in hexadecimal format or as a programming symbol name if defined in an optional
Executable and Linking Format (.elf) file.
• Nios II Disassembly (Data tab)—display disassembled code from the
corresponding address.
To add Nios II IP signals to the logic analyzer using a plug-in, perform the following
steps after running Analysis and Elaboration on your design:
1. In the Signal Tap logic analyzer, right-click the node list, and then click Add
Nodes with Plug-In ➤ Nios II.
2. Select the IP that contains the signals you want to monitor with the plug-in, and
click OK.
— If all the signals in the plug-in are available, a dialog box might appear,
depending on the plug-in, where you can specify options for the plug-in.
3. With the Nios II plug-in, you can optionally select an .elf containing program
symbols from your Nios II Integrated Development Environment (IDE) software
design. Specify options for the selected plug-in, and click OK.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
36
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The following signal types are unavailable for Signal Tap debugging:
• Post-fit output pins—You cannot monitor a post-fit output or bidirectional pin
directly. To make an output signal visible, monitor the register or buffer that drives
the output pin.
• Carry chain signals—You cannot monitor the carry out (cout0 or cout1) signal
of a logic element. Due to architectural restrictions, the carry out signal can only
feed the carry in of another LE.
• JTAG signals—You cannot monitor the JTAG control (TCK, TDI, TDO, or TMS)
signals.
• LVDS—You cannot monitor the data output from a serializer/deserializer
(SERDES) block.
• DQ, DQS signals—You cannot directly monitor the DQ or DQS signals in a DDR or
DDRII design.
The Signal Tap logic analyzer allows you to define trigger conditions that range from
very simple, such as the rising edge of a single signal, to very complex, involving
groups of signals, extra logic, and multiple conditions. Additionally, you can specify
Power-Up Triggers to capture data from trigger events occurring immediately after the
device enters user-mode after configuration.
To specify the trigger pattern, right-click the Trigger Conditions column and click
Don’t Care, Low, High, Falling Edge , Rising Edge, or Either Edge.
For buses, type a pattern in binary, or right-click and select Insert Value to enter the
pattern in other number formats. Note that you can enter X to specify a set of “don’t
care” values in either your hexadecimal or your binary string. For signals in the .stp
file that have an associated mnemonic table, you can right-click and select an entry
from the table to specify pre-defined conditions for the trigger.
When you add signals through plug-ins, you can create basic triggers using predefined
mnemonic table entries. For example, with the Nios II plug-in, if you specify an .elf
file from your Nios II IDE design, you can type the name of a function from your Nios
II code. The logic analyzer triggers when the Nios II instruction address matches the
address of the code function name that you specify.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
37
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Data capture stops and the logic analyzer stores the data in the buffer when the
logical AND of all the signals for a given trigger condition evaluates to TRUE.
The evaluation precedence of a nested trigger condition starts at the bottom-level with
the leaf-groups. The logic analyzer uses the resulting logic value to compute the
parent group’s logic value. If you manually set the value of a group, the logic value of
the group's members doesn't influence the result of the group trigger.
Signal Tap logic analyzer supports the following types of Comparison trigger
conditions:
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
38
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Right-click node
Select Comparison
and select Compare
You can also specify if you want to include or exclude the boundary values.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
39
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Displays Resulting
Comparison Expression
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
40
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
To configure the operators’ settings, double-click or right-click the operators that you
placed and click Properties.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
41
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Category Name
Bus Value
Adding many objects to the Advanced Trigger Condition Editor can make the work
space cluttered and difficult to read. To keep objects organized while you build your
advanced trigger condition, use the shortcut menu and select Arrange All Objects.
Alternatively, use the Zoom-Out command to fit more objects into the Advanced
Trigger Condition Editor window.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
42
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The Custom Trigger HDL object appears in the Object Library pane of the
Advanced Trigger editor.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
43
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
6. Right-click your Custom Trigger HDL object and configure the object’s
properties.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
44
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
reset Reset that Signal Tap uses when restarting a Input Required
capture.
trigger_out Output signal of your module that asserts when Output Required
trigger conditions met.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
45
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Configuration Bitstream • Allows to create trigger logic that you can configure at runtime, based upon
the value of the configuration bitstream.
• The Signal Tap logic analyzer reads the configuration bitstream property as
binary, therefore the bitstream must contain only the characters 1 and 0.
• The bit-width (number of 1s and 0s) must match the pattern_in bit width.
• A blank configuration bitstream implies that the module does not have a
pattern_in input.
The Signal Tap logic analyzer offers three pre-defined ratios of pre-trigger data to
post-trigger data:
• Pre—saves signal activity that occurred after the trigger (12% pre-trigger, 88%
post-trigger).
• Center—saves 50% pre-trigger and 50% post-trigger data.
• Post—saves signal activity that occurred before the trigger (88% pre-trigger, 12%
post-trigger).
These pre-defined ratios apply to both non-segmented buffers and segmented buffers.
Note: In the case of segment_trigger, acquisition of the current buffer stops immediately
if a subsequent triggering action is issued in the next state, regardless of the current
buffer's post-fill count. The logic analyzer discards the remaining unfilled post-count
acquisitions in the current buffer, and displays them as grayed-out samples in the data
window.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
46
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
When the Signal Tap data window displays the captured data, the trigger position
appears as the number of post-count samples from the end of the acquisition segment
or buffer.
In this case, N is the sample depth of either the acquisition segment or non-
segmented buffer.
Related Information
Buffer Control Actions on page 58
The typical use of Signal Tap logic analyzer is triggering events that occur during
normal device operation. You start an analysis manually once the target device fully
powers on and the JTAG connection for the device is available. With Signal Tap Power-
Up Trigger feature, the Signal Tap logic analyzer captures data immediately after
device initialization.
You can add a different Power-Up Trigger to each logic analyzer instance in the Signal
Tap Instance Manager pane.
Power-Up Trigger appears as a child instance below the name of the selected
instance. The node list displays the default trigger conditions.
To disable a Power-Up Trigger, right-click the instance and click Disable Power-Up
Trigger.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
47
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Related Information
Design Debugging Using In-System Sources and Probes on page 125
2.4.4.7.3. Managing Signal Tap Instances with Run-Time and Power-Up Trigger Conditions
On instances that have two types of trigger conditions, Power-Up Trigger conditions
are color coded light blue, while Run-Time Trigger conditions remain white.
• To switch between the trigger conditions of the Power-Up Trigger and the Run-
Time Trigger, double-click the instance name or the Power-Up Trigger name in the
Instance Manager.
• To copy trigger conditions from a Run-Time Trigger to a Power-Up Trigger or vice
versa, right-click the trigger name in the Instance Manager and click Duplicate
Trigger. Alternatively, select the trigger name and click Edit ➤ Duplicate
Trigger.
Note: Run-time trigger conditions allow fewer adjustments than power-up trigger conditions.
The external trigger input behaves like trigger condition 0, in that the condition must
evaluate to TRUE before the logic analyzer evaluates any other trigger conditions.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
48
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The Signal Tap logic analyzer supplies a signal to trigger external devices or other
logic analyzer instances. These features allow you to synchronize external logic
analysis equipment with the internal logic analyzer. Power-Up Triggers can use the
external triggers feature, but they must use the same source or target signal as their
associated Run-Time Trigger.
You can use external triggers to perform cross-triggering on a hard processor system
(HPS):
• The processor debugger allows you to configure the HPS to obey or disregard
cross-trigger request from the FPGA, and to issue or not issue cross-trigger
requests to the FPGA.
• The processor debugger in combination with the Signal Tap external trigger
feature allow you to develop a dynamic combination of cross-trigger behaviors.
• You can implement a system-level debugging solution for an Intel FPGA SoC by
using the cross-triggering feature with the ARM Development Studio 5 (DS-5)
software.
You can use sequential or state based triggering with either a segmented or a non-
segmented buffer.
When the last triggering condition evaluates to TRUE, the Signal Tap logic analyzer
starts the data acquisition. For segmented buffers, every acquisition segment after the
first starts on the last condition that you specified. The Simple Sequential Triggering
feature allows you to specify basic triggers, comparison triggers, advanced triggers, or
a mix of all three. The following figure illustrates the simple sequential triggering flow
for non-segmented and segmented buffers. The acquisition buffer starts capture when
all n triggering levels are satisfied, where n<10.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
49
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Trigger Condition 2
Trigger Condition 2
n - 2 transitions
trigger
Trigger Condition n Acquisition Segment 1
n - 2 transitions
trigger
Trigger Condition n Acquisition Segment 2
trigger
Trigger Condition n Acquisition Buffer
m-2 transitions
trigger
Trigger Condition n Acquisition Segment m
The Signal Tap logic analyzer considers external triggers as level 0, evaluating
external triggers before any other trigger condition.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
50
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Trigger flow description that skips three clock cycles of samples after hitting
condition 1
Code:
State 1: ST1
start_store
if ( condition1 )
begin
stop_store;
goto ST2;
end
State 2: ST2
if (c1 < 3)
increment c1; //skip three clock cycles; c1 initialized to 0
else if (c1 == 3)
begin
start_store;//start_store necessary to enable writing to finish
//acquisition
trigger;
end
The figures show the data transaction on a continuous capture and the data capture
when you apply the Trigger flow description.
Figure 44. Capture of Data Transaction with Trigger Flow Description Applied
The data capture finishes successfully. It uses a buffer with a sample depth of 64, m =
n = 10, and post-fill count = 5.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
51
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Figure 45. Storage Qualification with Post-Fill Count Value Less than m (Acquisition
Successfully Completes)
To help you describe the relationship between triggering conditions, the state-based
triggering flow provides tooltips in the GUI. Additionally, you can use the Signal Tap
Trigger Flow Description Language, which is based upon conditional expressions.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
52
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
First Acquisition Segment Next Acquisition Segment Next Acquisition Segment Last Acquisition Segment
Notes to figure:
1. You can define up to 20 different states.
2. The logic analyzer evaluates external trigger inputs that you define before any
conditions in the custom state-based triggering flow.
Within each conditional expression you define a set of actions. Actions include
triggering the acquisition buffer to stop capture, a modification to either a counter or
status flag, or a state transition.
Trigger actions can apply to either a single segment of a segmented acquisition buffer
or to the entire non-segmented acquisition buffer. Each trigger action provides an
optional count that specifies the number of samples the buffer captures before the
logic analyzer stops acquisition of the current segment. The count argument allows
you to control the amount of data the buffer captures before and after a triggering
event occurs.
Resource manipulation actions allow you to increment and decrement counters or set
and clear status flags. The logic analyzer uses counter and status flag resources as
optional inputs in conditional expressions. Counters and status flags are useful for
counting the number of occurrences of certain events and for aiding in triggering flow
control.
The state-based triggering flow allows you to capture a sequence of events that may
not necessarily be contiguous in time. For example, a communication transaction
between two devices that includes a hand shaking protocol containing a sequence of
acknowledgments.
The State-Based Trigger Flow tab is the control interface for the custom state-
based triggering flow.
This tab is only available when you select State-Based on the Trigger Flow Control
list. If you specify Trigger Flow Control as Sequential, the State-Based Trigger
Flow tab is not visible.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
53
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The State Machine pane contains the text entry boxes where you define the
triggering flow and actions associated with each state.
• You can define the triggering flow using the Signal Tap Trigger Flow Description
Language, a simple language based on “if-else” conditional statements.
• Tooltips appear when you move the mouse over the cursor, to guide command
entry into the state boxes.
• The GUI provides a syntax check on your flow description in real-time and
highlights any errors in the text flow.
The State Machine description text boxes default to show one text box per state. You
can also have the entire flow description shown in a single text field. This option can
be useful when copying and pasting a flow description from a template or an external
text editor. To toggle between one window per state, or all states in one window,
select the appropriate option under State Display mode.
Related Information
Signal Tap Trigger Flow Description Language on page 55
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
54
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The Resources pane allows you to declare status flags and counters for your Custom
Triggering Flow's conditional expressions.
• You can increment/decrement counters or set/clear status flags within your
triggering flow.
• You can specify up to 20 counters and 20 status flags.
• To initialize counter and status flags, right-click the row in the table and select Set
Initial Value.
• To specify a counter width, right-click the counter in the table and select Set
Width.
• To assist in debugging your trigger flow specification, the logic analyzer
dynamically updates counters and flag values after acquisition starts.
The Configurable at runtime settings allow you to control which options can change
at runtime without requiring a recompilation.
Destination of goto action Allows you to modify the destination of the state transition at runtime.
Comparison values Allows you to modify comparison values in Boolean expressions at runtime. In
addition, you can modify the segment_trigger and trigger action post-fill
count argument at runtime.
Comparison operators Allows you to modify the operators in Boolean expressions at runtime.
Logical operators Allows you to modify the logical operators in Boolean expressions at runtime.
Related Information
• Performance and Resource Considerations on page 69
• Runtime Reconfigurable Options on page 72
The State Diagram pane provides a graphical overview of your triggering flow. this
pane displays the number of available states and the state transitions. To adjust the
number of available states, use the menu above the graphical overview.
The Trigger Flow Description Language is based on a list of conditional expressions per
state to define a set of actions.
To describe the actions that the logic analyzer evaluates when a state is reached,
follow this syntax:
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
55
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
<action_list>]
[else
<action_list>]
Related Information
Custom Triggering Flow Examples on page 94
2.4.4.9.11. <state_label>
Identifies a given state. You use the state label to start describing the actions the logic
analyzer evaluates once said state is reached. You can also use the state label with the
goto command.
The description of a state ends with the beginning of another state or the end of the
whole trigger flow description.
2.4.4.9.12. <boolean_expression>
Collection of operators and operands that evaluate into a Boolean result. The
operators can be logical or relational. Depending on the operator, the operand can
reference a trigger condition, a counter and a register, or a numeric value. To group a
set of operands within an expression, you use parentheses.
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
56
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Notes to table:
1. <identifier> indicates a counter or status flag.
2. <numerical_value> indicates an integer.
2.4.4.9.13. <action_list>
List of actions that the logic analyzer performs within a state once a condition is
satisfied.
• Each action must end with a semicolon (;).
• If you specify more than one action within an if or an else if clause, you must
delimit the action_list with begin and end tokens.
trigger Stops the acquisition for the current buffer and trigger <post-fill_count>;
ends analysis. This command is required in every
flow definition.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
57
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Specifies the next state in the custom state control flow. The syntax is:
goto <state_label>;
The resources the trigger flow description uses can be either counters or status flags.
trigger Stops the acquisition for the current buffer and trigger <post-fill_count>;
ends analysis. This command is required in every
flow definition.
Related Information
Post-fill Count on page 46
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
58
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Specifies the next state in the custom state control flow. The syntax is:
goto <state_label>;
Note: You can only apply the start_store and stop_store commands to a non-
segmented buffer.
The start_store and stop_store commands are similar to the start and stop
conditions of the start/stop storage qualifier mode. If you enable storage
qualification, Signal Tap logic analyzer doesn't write data into the acquisition buffer
until the start_store command occurs. However, in the state-based storage
qualifier type you must include a trigger command as part of the trigger flow
description. This trigger command is necessary to complete the acquisition and
display the results on the waveform display.
This trigger flow description contains three trigger conditions that occur at different
times after you click Start Analysis:
State 1: ST1:
if ( condition1 )
start_store;
else if ( condition2 )
trigger value;
else if ( condition3 )
stop_store;
Figure 49. Capture Scenario for Storage Qualification with the State-Based Trigger Flow
Time Scale for Data Stream
at the Start of Acquisition
a b c Sample
n Samples
m Samples
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
59
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
When you apply the trigger flow to the scenario in the figure:
1. The Signal Tap logic analyzer does not write into the acquisition buffer until
Condition 1 occurs (sample a).
2. When Condition 2 occurs (sample b), the logic analyzer evaluates the trigger
value command, and continues to write into the buffer to finish the acquisition.
3. The trigger flow specifies a stop_store command at sample c, which occurs m
samples after the trigger point.
4. If the data acquisition finishes the post-fill acquisition samples before Condition 3
occurs, the logic analyzer finishes the acquisition and displays the contents of the
waveform. In this case, the capture ends if the post-fill count value is < m.
5. If the post-fill count value in the Trigger Flow description 1 is > m samples, the
buffer pauses acquisition indefinitely, provided there is no recurrence of Condition
1 to trigger the logic analyzer to start capturing data again.
The Signal Tap logic analyzer continues to evaluate the stop_store and
start_store commands even after evaluating the trigger. If the acquisition paused,
click Stop Analysis to manually stop and force the acquisition to trigger. You can use
counter values, flags, and the State diagram to help you perform the trigger flow. The
counter values, flags, and the current state update in real-time during a data
acquisition.
Trigger lock mode restricts changes to only the configuration settings that you specify
as Configurable at runtime. The runtime configurable settings for the Custom
Trigger Flow tab are on by default.
Note: You may get some performance advantages by disabling some of the runtime
configurable options.
You can restrict changes to your Signal Tap configuration to include only the options
that do not require a recompilation. Trigger lock-mode allows you to make changes
that reflect immediately in the device.
1. On the Setup tab, point to Lock mode and select Allow trigger condition
changes only.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
60
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Note: Setting the pipeline factor does not guarantee an increase in fMAX, as the pipeline
registers may not be in the critical paths.
Note: The Signal Tap Intel FPGA IP is not optimized for the Intel Hyperflex™ architecture.
The Signal Tap logic analyzer offers a snapshot in time of the data that the acquisition
buffers store. By default, the Signal Tap logic analyzer writes into acquisition memory
with data samples on every clock cycle. With a non-segmented buffer, there is one
data window that represents a comprehensive snapshot of the data stream.
Conversely, segmented buffers use several smaller sampling windows spread out over
more time, with each sampling window representing a contiguous data set.
With analysis using acquisition buffers you can capture most functional errors in a
chosen signal set, provided adequate trigger conditions and a generous sample depth
for the acquisition. However, each data window can have a considerable amount of
unnecessary data; for example, long periods of idle signals between data bursts. The
default behavior in the Signal Tap logic analyzer doesn't discard the redundant sample
bits.
The Storage Qualifier feature allows you to establish a condition that acts as a write
enable to the buffer during each clock cycle of data acquisition, thus allowing a more
efficient use of acquisition memory over a longer period of analysis.
Because you can create a discontinuity between any two samples in the buffer, the
Storage Qualifier feature is equivalent to creating a custom segmented buffer in which
the number and size of segment boundaries are adjustable.
Note: You can only use the Storage Qualifier feature with a non-segmented buffer. The IP
Catalog flow only supports the Input Port mode for the Storage Qualifier feature.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
61
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Figure 51. Data Acquisition Using Different Modes of Controlling the Acquisition Buffer
(1) Non-Segmented Buffer
Trigger
0 1 1 0 0 1 0 0 1 0 1 1
Data Transaction
Acquisition Buffer Elapsed Time
1 0 1 0 0 0 1 1 0 0 1
Acquisition Buffer Data Transaction
Elapsed Time
Notes to figure:
1. Non-segmented buffers capture a fixed sample window of contiguous data.
2. Segmented buffers divide the buffer into fixed sized segments, with each segment
having an equal sample depth.
3. Storage Qualifier allows you to define a custom sampling window for each
segment you create with a qualifying condition, thus potentially allowing a larger
time scale of coverage.
There are six storage qualifier types available under the Storage Qualifier feature:
• Continuous (default) Turns the Storage Qualifier off.
• Input port
• Transitional
• Conditional
• Start/Stop
• State-based
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
62
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Upon the start of an acquisition, the Signal Tap logic analyzer examines each clock
cycle and writes the data into the buffer based upon the storage qualifier type and
condition. Acquisition stops when a defined set of trigger conditions occur.
The Signal Tap logic analyzer evaluates trigger conditions independently of storage
qualifier conditions.
When creating a Signal Tap logic analyzer instance with the Signal Tap logic analyzer
GUI, specify the Storage Qualifier signal for the Input port field located on the
Setup tab. You must specify this port for your project to compile.
When creating a Signal Tap logic analyzer instance through HDL instantiation, specify
the Storage Qualifier parameter to include in the instantiation template. You can
then connect this port to a signal in your RTL. If you enable the input port storage
qualifier, the port accepts a signal and predicates when signals are recorded into the
acquisition buffer before or after the specified trigger condition occurs. That is, the
trigger you specify is responsible for triggering and moving the logic analyzer into the
post-fill state. The input port storage qualifier signal you select controls the recording
of samples.
The following example compares and contrasts two waveforms of the same data, one
without storage qualifier enabled (Continuous means always record samples,
effectively no storage qualifier), and the other with Input Port mode. The bottom
signal in the waveform, data_out[7],is the input port storage qualifier signal. The
continuous mode waveform shows 01h, 07h, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 0Fh, 10h as
the sequence of data_out[7] bus values where the storage qualifier signal is
asserted. The lower waveform for input port storage qualifier shows how this same
traffic pattern of the data_out bus is recorded when you enable the input port
storage qualifier. Values recorded are a repeating sequence of the 01h, 07h, 0Ah, 0Bh,
0Ch, 0Dh, 0Eh, 0Fh, 10h (same as Continuous mode).
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
63
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Figure 53. Comparing Continuous and Input Port Capture Mode in Data Acquisition of a
Recurring Data Pattern
• Continuous Mode:
Figure 55. Comparing Continuous and Transitional Capture Mode in Data Acquisition of a
Recurring Data Pattern
• Continuous mode:
IDLE
• Transitional mode:
Redundant Idle
Samples Discarded
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
64
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
You can select either Basic AND, Basic OR, Comparison, or Advanced storage
qualifier conditions. A Basic AND or Basic OR condition matches each signal to one
of the following:
• Don’t Care
• Low
• High
• Falling Edge
• Rising Edge
• Either Edge
If you specify a Basic AND storage qualifier condition for more than one signal, the
Signal Tap logic analyzer evaluates the logical AND of the conditions.
You can specify any other combinational or relational operators with the enabled signal
set for storage qualification through advanced storage conditions.
You can define storage qualification conditions similar to the manner in which you
define trigger conditions.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
65
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Figure 57. Comparing Continuous and Conditional Capture Mode in Data Acquisition of a
Recurring Data Pattern
Related Information
• Basic Trigger Conditions on page 37
• Comparison Trigger Conditions on page 38
• Advanced Trigger Conditions on page 41
Note: You can force a trigger by pressing the Stop button if the buffer fails to fill to
completion due to a stop condition.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
66
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Figure 59. Comparing Continuous and Start/Stop Acquisition Modes for a Recurring Data
Pattern
• Continuous Mode:
IDLE
When you enable the storage qualifier feature for the State-based flow, two additional
commands become available: start_store and stop_store. These commands are
similar to the Start/Stop capture conditions. Upon the start of acquisition, the Signal
Tap logic analyzer doesn't write data into the buffer until a start_store action is
performed. The stop_store command pauses the acquisition. If both start_store
and stop_store actions occur within the same clock cycle, the logic analyzer stores
a single sample into the acquisition buffer.
Related Information
State-Based Triggering on page 52
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
67
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
When you define a Signal Tap instance in the logic analyzer GUI or with HDL
instantiation, the Signal Tap logic analyzer instance becomes part of your design for
compilation.
To run full compilation of the design that includes the Signal Tap logic analyzer
instance:
• Click Processing ➤ Start Compilation
You can employ various techniques to preserve specific signals for debugging during
compilation, and to reduce overall compilation time and iterations. Refer to the
following sections for more details.
The Intel Quartus Prime software provides the keep and preserve synthesis
attributes that you can use to prevent the Compiler from performing optimizations on
specific signals, allowing them to persist into the post-fit netlist for Signal Tap
monitoring.
Preserving nodes is helpful when you plan to add groups of signals for the Nios II Intel
FPGA IP using a plug-in. When debugging an encrypted IP core, such as the Nios II
CPU, preserving nodes is essential to ensure that signals are available for debugging.
Note: Specifying the keep or preserve attribute can increase device resource utilization or
decrease timing performance.
The Intel Quartus Prime Pro Edition software supports timing preservation for post-fit
taps with the Rapid Recompile feature. Rapid Recompile automatically reuses verified
portions of the design during recompilations, rather than reprocessing those portions.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
68
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Note: The Signal Tap Intel FPGA IP is not optimized for the Intel Hyperflex architecture.
The following techniques can help you preserve timing in designs that include the
Signal Tap logic analyzer :
• Avoid adding critical path signals to the .stp file.
• Minimize the number of combinational signals you add to the .stp file, and add
registers whenever possible.
• Specify an fMAX constraint for each clock in the design.
Related Information
Timing Closure and Optimization
In Intel Quartus Prime Pro Edition User Guide: Design Optimization
Related Information
Checking Recompilation Status on page 69
To verify whether a change you made to the Signal Tap configuration requires
recompiling the project, check the Signal Tap status display at the top of the Instance
Manager pane, as Signal Tap Status Messages on page 74 describes
Related Information
Prevent Changes Requiring Recompilation on page 69
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
69
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
for your design. Because performance results are design-dependent, try these options
in different combinations until you achieve the desired balance between functionality,
performance, and utilization.
If Signal Tap logic is part of your critical path, follow these tips to speed up the
performance of the Signal Tap logic:
• Disable runtime configurable options—runtime flexibility features expend
some device resources. If you use Advanced Triggers or State-based triggering
flow, disable runtime configurable parameters to a boost in fMAX of the Signal Tap
logic. If you use State-based triggering flow, disable the Goto state destination
option and performing a recompilation before disabling the other runtime
configurable options. The Goto state destination option has the greatest impact
on fMAX, compared to the other runtime configurable options.
• Minimize the number of signals that have Trigger Enable selected—By
default, Signal Tap logic analyzer enables the Trigger Enable option for all signals
that you add to the .stp file. For signals that you do not plan to use as triggers,
turn this option off.
• Turn on Physical Synthesis for register retiming—If many (more than the
number of inputs that fit in a LAB) enabled triggering signals fan-in logic to a
gate-based triggering condition (basic trigger condition or a logical reduction
operator in the advanced trigger tab), turn on Perform register retiming. This
can help balance combinational logic across LABs.
If your design has resource constraints, follow these tips to reduce the logic or
memory the Signal Tap logic analyzer requires:
• Disable runtime configurable options—disabling runtime configurability for
advanced trigger conditions or runtime configurable options in the State-based
triggering flow results in fewer LEs.
• Minimize the number of segments in the acquisition buffer—you can reduce
the logic resources that the Signal Tap logic analyzer requires if you limit the
segments in your sampling buffer.
• Disable the Data Enable for signals that you use only for triggering—by
default, the Signal Tap logic analyzer enables data enable options for all signals.
Turning off the data enable option for signals you use only as trigger inputs saves
memory resources.
When you debug a design with the Signal Tap logic analyzer, you can program a target
device directly using the supported JTAG hardware from the Signal Tap window,
without using the Intel Quartus Prime Programmer.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
70
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Related Information
• Managing Multiple Signal Tap Configurations on page 81
• Intel Quartus Prime Pro Edition User Guide: Programmer
Note: When the Signal Tap logic analyzer detects incompatibility after the analysis starts, the
Intel Quartus Prime software generates a system error message containing two CRC
values: the expected value and the value retrieved from the .stp instance on the
device. The CRC value comes from all Signal Tap settings that affect the compilation.
2. When a trigger event occurs, the logic analyzer stores the captured data in the
FPGA device's memory buffer, and then transfers this data to the Signal Tap logic
analyzer GUI over the JTAG connection. You can perform the equivalent of a force
trigger instruction that allows you to view the captured data currently in the buffer
without a trigger event occurring
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
71
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Compile Design
Program Device
Possible Missed Trigger
Yes (Unless Power-Up
Trigger Enabled)
Changes Require No Manually Run
Recompile? Signal Tap Logic Analyzer
No
Trigger Occurred? Manually Stop Analyzer
Yes
You can also use In-System Sources and Probes in conjunction with the Signal Tap
logic analyzer to force trigger conditions. The In-System Sources and Probes feature
allows you to drive and sample values on to selected signals over the JTAG chain.
Basic Trigger Conditions and Basic Storage Change without recompiling all signals that have the Trigger condition
Qualifier Conditions turned on to any basic trigger condition value
Comparison Trigger Conditions and Comparison All the comparison operands, the comparison numeric values, and the
Storage Qualifier Conditions interval bound values are runtime-configurable.
You can also switch from Comparison to Basic OR trigger at runtime
without recompiling.
Advanced Trigger Conditions and Advanced Many operators include runtime configurable settings. For example, all
Storage Qualifier Conditions comparison operators are runtime-configurable. Configurable settings
appear with a white background in the block representation. This
runtime reconfigurable option is turned on in the Object Properties
dialog box.
Switching between a storage-qualified and a Within any storage-qualified mode, you can switch to continuous
continuous acquisition capture mode without recompiling the design. To enable this feature,
turn on disable storage qualifier.
State-based trigger flow parameters Refer to Runtime Reconfigurable Settings, State-Based Triggering
Flow
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
72
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Runtime Reconfigurable options can save time during the debugging cycle by allowing
you to cover a wider possible range of events, without requiring design recompilation.
You may experience a slight impact to the performance and logic utilization. You can
turn off runtime re-configurability for advanced trigger conditions and the state-based
trigger flow parameters, boosting performance and decreasing area utilization.
To configure the .stp file to prevent changes that normally require recompilation in
the Setup tab, select Allow Trigger Condition changes only above the node list.
This example illustrates a potential use case for Runtime Reconfigurable features, by
providing a storage qualified enabled State-based trigger flow description, and
showing how to modify the size of a capture window at runtime without a recompile.
This example gives you equivalent functionality to a segmented buffer with a single
trigger condition where the segment sizes are runtime reconfigurable.
state ST1:
if ( condition1 && (c1 <= m) )// each "segment" triggers on condition
// 1
begin // m = number of total "segments"
start_store;
increment c1;
goto ST2:
End
state ST2:
if ( c2 >= n) //n = number of samples to capture in each
//segment.
begin
reset c2;
stop_store;
goto ST1;
end
Note: m x n must equal the sample depth to efficiently use the space in the sample buffer.
The next figure shows the segmented buffer that the trigger flow example describes.
Figure 63. Segmented Buffer Created with Storage Qualifier and State-Based Trigger
Total sample depth is fixed, where m x n must equal sample depth.
Segment 1 Segment 2 Segment m
1 n 1 n 1 n
During runtime, you can modify the values m and n. Changing the m and n values in
the trigger flow description adjust the segment boundaries without recompiling.
You can add states into the trigger flow description and selectively mask out specific
states and enable other ones at runtime with status flags.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
73
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
This example is like the previous example with an additional state inserted. You use
this extra state to specify a different trigger condition that does not use the storage
qualifier feature. You insert status flags into the conditional statements to control the
execution of the trigger flow.
state ST1 :
if (condition2 && f1) // additional state added for a non-
segmented
// acquisition set f1 to enable state
begin
start_store;
trigger
end
else if (! f1)
goto ST2;
state ST2:
if ( (condition1 && (c1 <= m) && f2) // f2 status flag used to mask state.
Set f2
// to enable
begin
start_store;
increment c1;
goto ST3:
end
else (c1 > m )
start_store
Trigger (n-1)
end
state ST3:
if ( c2 >= n)
begin
reset c2;
stop_store;
goto ST1;
end
else (c2 < n)
begin
increment c2;
goto ST2;
end
(Power-Up Trigger) Waiting for clock (1) The Signal Tap logic analyzer is performing a Runtime or Power-Up
Trigger acquisition and is waiting for the clock signal to transition.
Acquiring (Power-Up) pre-trigger data (1) The trigger condition is not yet evaluated.
If the acquisition mode is non-segmented buffer, and the storage
qualifier type is continuous, the Signal Tap logic analyzer collects a
full buffer of data.
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
74
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Trigger In conditions met Trigger In conditions are met. The Signal Tap logic analyzer is
waiting for the first trigger condition to occur.
This message only appears when a Trigger In condition exists.
Waiting for (Power-up) trigger (1) The Signal Tap logic analyzer is waiting for the trigger event to
occur.
Trigger level <x> met Trigger condition x occurred. The Signal Tap logic analyzer is
waiting for condition x + 1 to occur.
Acquiring (power-up) post-trigger data (1) The entire trigger event occurred. The Signal Tap logic analyzer is
acquiring the post-trigger data.
You define the amount of post-trigger data to collect (between
12%, 50%, and 88%) when you select the non-segmented buffer
acquisition mode.
Offload acquired (Power-Up) data (1) The JTAG chain is transmitting data to the Intel Quartus Prime
software.
Ready to acquire The Signal Tap logic analyzer is waiting for you to initialize the
analyzer.
1. This message can appear for both Runtime and Power-Up Trigger events. When referring to a Power-Up Trigger, the
text in parentheses appears.
The following topics describe viewing, saving, and exporting Signal Tap analysis
captured data:
• Viewing Capture Data Using Segmented Buffers on page 75
• Viewing Data with Different Acquisition Modes on page 77
• Creating Mnemonics for Bit Patterns on page 78
• Locating a Node in the Design on page 79
• Saving Captured Signal Tap Data on page 79
• Exporting Captured Signal Tap Data on page 80
• Creating a Signal Tap List File on page 80
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
75
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The following figure shows a segmented acquisition buffer with four segments
represented as four separate non-segmented buffers.
When the Signal Tap logic analyzer finishes an acquisition with a segment and
advances to the next segment to start a new acquisition. The data capture that
appears in the waveform viewer depends on when a trigger condition occurs. The
figure illustrates the data capture method. The Trigger markers—Trigger 1, Trigger 2,
Trigger 3 and Trigger 4—refer to the evaluation of the segment_trigger and
trigger commands in the Custom State-based trigger flow. In sequential flows, the
Trigger markers refer to trigger conditions that you specify within the Setup tab.
If the Segment 1 Buffer is the active segment and Trigger 1 occurs, the Signal Tap
logic analyzer starts evaluating Trigger 2 immediately. Data Acquisition for Segment 2
buffer starts when either Segment Buffer 1 finishes its post-fill count, or when Trigger
2 evaluates as TRUE, whichever condition occurs first. Thus, trigger conditions
associated with the next buffer in the data capture sequence can preempt the post-fill
count of the current active buffer. This allows the Signal Tap logic analyzer to
accurately capture all the trigger conditions that occurred. Unused samples appear as
a blank space in the waveform viewer.
Each segment before the last captures only one sample, because the next trigger
condition immediately preempts capture of the current buffer. The trigger position for
all segments is specified as pre-trigger (10% of the data is before the trigger condition
and 90% of the data is after the trigger position). Because the last segment starts
immediately with the trigger condition, the segment contains only post-trigger data.
The three empty samples in the last segment are left over from the pre-trigger
samples that the Signal Tap logic analyzer allocated to the buffer.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
76
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
For the sequential trigger flow, the Trigger Position option applies to every segment
in the buffer. A custom state-based trigger flow provides maximum flexibility defining
the trigger position. By adjusting the trigger position specific to the debugging
requirements, you can help maximize the use of the allocated buffer space.
Related Information
Segmented Buffer on page 33
If you click the Stop Analysis button, Signal Tap prevents the buffer from dumping
during the first acquisition prior to a trigger condition.
For buffers using a storage qualification mode, the Signal Tap logic analyzer
immediately evaluates all trigger conditions while writing samples into the acquisition
memory. This evaluation is especially important when using any storage qualification
on the data set. The logic analyzer may miss a trigger condition if it waits to capture a
full buffer's worth of data before evaluating any trigger conditions.
If a trigger activates before the specified amount of pre-trigger data has occurred, the
Signal Tap logic analyzer begins filling memory with post-trigger data, regardless of
the amount of pre-trigger data you specify. For example, if you set the trigger position
to 50% and set the logic analyzer to trigger on a processor reset, start the logic
analyzer, and then power on the target system, the trigger activates. However, the
logic analyzer memory contains only post-trigger data, and not any pre-trigger data,
because the trigger event has higher precedence than the capture of pre-trigger data.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
77
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
In the continuous data capture, Trig1 occurs several times in the data buffer before
the Signal Tap logic analyzer trigger activates. The buffer must be full before the logic
analyzer evaluates any trigger condition. After the trigger condition occurs, the logic
analyzer continues acquisition for eight additional samples (12% of the buffer, as
defined by the "post-trigger" position).
Note to figure:
1. Conditional capture, storage always enabled, post-fill count.
2. The Signal Tap logic analyzer capture of a recurring pattern using a non-
segmented buffer in conditional mode. The configuration of the logic analyzer is a
basic trigger condition "Trig1" and sample depth of 64 bits. The Trigger in
condition is Don't care, so the buffer captures all samples.
On the Data tab, if data captured matches a bit pattern contained in an assigned
mnemonic table, the Signal Tap GUI replaces the signal group data with the
appropriate label, simplifying the visual inspection of expected data patterns.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
78
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
As an example, the Nios II plug-in helps you to monitor signal activity for your design
as the code is executed. If you set up the logic analyzer to trigger on a function name
in your Nios II code based on data from an .elf, you can see the function name in
the Instance Address signal group at the trigger sample, along with the
corresponding disassembled code in the Disassembly signal group, as shown in
Figure 13–52. Captured data samples around the trigger are referenced as offset
addresses from the trigger function name.
You can locate a signal from the node list with the following tools:
• Assignment Editor
• Pin Planner
• Timing Closure Floorplan
• Chip Planner
• Resource Property Editor
• Technology Map Viewer
• RTL Viewer
• Design File
When you set Signal Tap analysis to Auto-run mode, the logic analyzer creates a
separate entry in the Data Log to store the data captured each time the trigger
occurs. This preservation allows you to review the captured data for each trigger
event.
The default name for a log derives from the time stamp when the logic analyzer
acquires the data. As a best practice, rename the data log with a more meaningful
name.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
79
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The organization of logs is hierarchical; the logic analyzer groups similar logs of
captured data in trigger sets.
Related Information
Data Log Pane on page 81
To export the captured data from Signal Tap logic analyzer, click File ➤ Export, and
then specify the File Name, Export Format, and Clock Period.
The Signal Tap list file is especially useful when combined with a plug-in that includes
instruction code disassembly. You can view the order of instruction code execution
during the same time period of the trigger event.
To create a Signal Tap, click File ➤ Create/Update ➤ Create Signal Tap List File.
Each row of the list file corresponds to one captured sample in the buffer. Columns
correspond to the value of each of the captured signals or signal groups for that
sample. If you defined a mnemonic table for the captured data, a matching entry from
the table replaces the numerical values in the list.
Related Information
Adding Nios II Processor Signals with a Plug-In on page 36
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
80
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
You can save each debug configuration as a different .stp file. Alternatively, you can
embed multiple configurations within the same .stp file, and use the Data Log to
view and manage each debug configuration.
Note: Each .stp pertains to a specific programming (.sof) file. To function correctly, the
settings in the .stp file you use at runtime must match the Signal Tap specifications
in the .sof file that you use to program the device.
Related Information
Ensure Compatibility Between .stp and .sof Files on page 71
The Data Log displays its contents in a tree hierarchy. The active items display a
different icon.
Signal Set Trigger The Signal Set changes whenever you add a new
signal to Signal Tap. After a change in the Signal
Set, you need to recompile.
Trigger Capture Log A trigger changes when you change any trigger
condition. These changes do not require
recompilation.
Capture Log
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
81
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
The name on each entry displays the wall-clock time when the Signal Tap logic
analyzer triggers, and the time elapsed from start acquisition to trigger activation. You
can rename entries.
With the SOF Manager you can attach multiple .sof files to a single .stp file. This
attachment allows you to move the .stp file to a different location, either on the
same computer or across a network, without including the attached .sof separately.
To attach a new .sof in the .stp file, click the Attach SOF File icon .
As you switch between configurations in the Data Log, you can extract the .sof that
is compatible with that configuration.
To download the new .sof to the FPGA, click the Program Device icon in the SOF
Manager, after ensuring that the configuration of your .stp matches the design
programmed into the target device.
Related Information
Data Log Pane on page 81
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
82
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Related Information
• AN 841: Signal Tap Tutorial for Intel Stratix 10 Partial Reconfiguration Design
• AN 845: Signal Tap Tutorial for Intel Arria 10 Partial Reconfiguration Design
Follow these guidelines to obtain the best results when debugging PR designs with the
Signal Tap logic analyzer:
• Include one .stp file per project revision.
• Tap pre-synthesis nodes only. In the Node Finder, filter by Signal Tap: pre-
synthesis.
• Do not tap nodes in the default persona (the personas you use in the base revision
compile). Create a new PR implementation revision that instantiates the default
persona, and tap nodes in the new revision.
• Store all the tapped nodes from a PR persona in one .stp file, to enable
debugging the entire persona using only one Signal Tap window.
• Do not tap across PR regions, or from a static region to a PR region in the
same .stp file.
• Each Signal Tap window opens only one .stp file. Therefore, to debug more than
one partition simultaneously, you must use stand-alone Signal Tap from the
command-line.
yes
Debug Static Region
Prepare PR Personas
Finish
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
83
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
To debug a PR design you must instantiate SLD JTAG bridges when generating the
base revision, and then define debug components for all PR personas. Optionally, you
can specify signals to tap in the static region. After configuring all the PR personas in
the design, you can continue the PR design flow.
Related Information
• Debug Fabric for Partial Reconfiguration Designs on page 19
• Partial Reconfiguration Design Flow, Intel Quartus Prime Pro Edition User Guide:
Partial Reconfiguration
In the base revision, for each PR region that you want to debug in the design:
1. Instantiate the SLD JTAG Bridge Agent Intel FPGA IP in the static region.
2. Instantiate the SLD JTAG Bridge Host Intel FPGA IP in the PR region of the default
persona.
You can use the IP Catalog or Platform Designer to instantiate SLD JTAG Bridge
components.
Related Information
• Instantiating the SLD JTAG Bridge Agent on page 17
• Instantiating the SLD JTAG Bridge Host on page 18
If you do not want to debug a particular persona, drive the tdo output signal to 0.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
84
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
To debug another revision, you must partially reconfigure your design with the
corresponding .rbf file.
For information about designing with reusable blocks, refer to the Intel Quartus Prime
Pro Edition User Guide: Block-Based Design. For step-by-step block-based design
debugging instructions, refer to AN 847: Signal Tap Tutorial with Design Block Reuse
for Intel Arria 10 FPGA Development Board.
Related Information
Intel Quartus Prime Pro Edition User Guide: Block-Based Design
To perform Signal Tap debugging in a core design partition that you reuse from
another project, you identify the signals of interest, and then make those signals
visible to a Signal Tap logic analyzer instance. The Intel Quartus Prime software
supports two methods to make the reused core partition signals visible for Signal Tap
monitoring: by creating partition boundary ports, or by Signal Tap HDL instantiation.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
85
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Manual Connection
Automatic Connection
RTL
Partition Boundary Ports
1. In the project that exports the partition, define boundary ports for all potential
Signal Tap nodes in the core partition. Define partition boundary ports with the
Create Partition Boundary Ports assignment in the Assignment Editor. When
you assign a bus, the assignment applies to the root name of the debug port, with
each bit enumerated.
2. In the project that exports the partition, create a black box file that includes the
partition boundary ports, to allows tapping these ports as pre-synthesis or post-fit
nodes in another project.
3. In the project that reuses the partition, run Analysis & Synthesis on the reused
partition. All valid ports with the Create Partition Boundary Ports become
visible in the project. After synthesis you can verify the partition boundary ports in
the Create Partition Boundary Ports report in the In-System Debugging folder
under Synthesis reports.
4. Tap the partition boundary ports to connect to a Signal Tap instance in the top-
level partition. You can also tap logic from the top-level partition to this Signal Tap
instance. When using this method, the project requires only one Signal Tap
instance to debug both the top-level and the reused core partition.
To use Signal Tap to debug a design that includes a core partition exported with
partition boundary ports from another project, follow these steps:
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
86
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
1. Add to your project the black-box file that you create in Export a Core Partition
with Partition Boundary Ports on page 87.
2. To run synthesis, double-click Analysis & Synthesis on the Compilation
Dashboard.
3. Define a Signal Tap instance with the Signal Tap GUI, or by instantiating a Signal
Tap HDL instance in the top level root partition, as Step 1: Add the Signal Tap
Logic Analyzer to the Project on page 25 describes.
4. Connect the partition boundary ports of the reused core partition to the HDL
instance, or add post-synthesis or post-fit nodes to the Signal Configuration tab
in the Signal Tap logic analyzer GUI.
5. To create a design partition, click Assignments ➤ Design Partitions Window.
Define a partition and assign the exported partition .qdb file as the Partition
Database File option.
6. Compile the design, including all partitions and the Signal Tap instance.
7. Program the Intel FPGA device with the design and Signal Tap instances.
8. Perform data acquisition with the Signal Tap logic analyzer GUI.
To export a core partition with partition boundary ports for reuse and Signal Tap
debugging in another project, follow these steps:
1. To run synthesis, double-click Analysis & Synthesis on the Compilation
Dashboard.
2. Define a design partition for reuse that contains only core logic. Click
Assignments ➤ Design Partitions Window to define the partition.
3. To create partition boundary ports for the core partition, specify the Create
Partition Boundary Ports assignment in the Assignment Editor for partition
ports.
4. Click Project ➤ Export Design Partition. By default, the .qdb file you export
includes any Signal Tap HDL instances for the partition.
5. Compile the design and Signal Tap instance.
6. Create a black box file that defines only the port and module or entity definitions,
without any logic.
7. Manually copy the exported partition .qdb file and any black box file to the other
project.
Optionally, you can verify signals in the root and core partitions in the Developer
project with the Signal Tap logic analyzer.
To use the Signal Tap HDL instance method you create a Signal Tap HDL instance in
the reusable core partition, and then connect the signals of interest to that instance.
The Compiler ensures top-level visibility of Signal Tap instances inside partitions. Since
the root partition and the core partition have separated HDL instances, the Signal Tap
files are also separate.
When you reuse the partition in another project, you must generate one Signal Tap file
in the target project for each HDL instance present in the reused partition.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
87
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
To use Signal Tap to debug a design that includes a core partition exported with Signal
Tap HDL instances, follow these steps:
1. Add to your project the black-box file that you create in Export a Core Partition
with Signal Tap HDL Instances on page 88.
2. To create a design partition, click Assignments ➤ Design Partitions Window.
Define a partition and assign the exported partition .qdb file as the Partition
Database File option.
3. Create a Signal Tap file for the top-level partition as Step 1: Add the Signal Tap
Logic Analyzer to the Project on page 25 describes.
4. Compile the design and Signal Tap instances.
5. Generate a Signal Tap file for the reused Core Partition with the File ➤ Create/
Update ➤ Create Signal Tap File from Design Instance command.
6. Program the Intel FPGA device with the design and Signal Tap instances.
7. Perform hardware verification of top-level partition with the Signal Tap instance
defined in Step 3.
8. Perform hardware verification of the Reused Core Partition with the Signal Tap
instance defined in Step 5.
To export a core partition with Signal Tap HDL instances for reuse and eventual Signal
Tap debugging in another project, follow these steps:
1. To run synthesis, double-click Analysis & Synthesis on the Compilation
Dashboard.
2. Define a design partition for reuse that contains only core logic. Click
Assignments ➤ Design Partitions Window to define the partition.
3. Add a Signal Tap HDL instance to the core partition, connecting it to nodes of
interest.
4. Click Project ➤ Export Design Partition. By default, the .qdb file you export
includes any Signal Tap HDL instances for the partition.
5. Create a black box file that defines only the port and module or entity definitions,
without any logic.
6. Manually copy the exported partition .qdb file and any black box file to the other
project.
2.9.3.1.6. Debug a Core Partition Exported with Signal Tap HDL Instances
To use Signal Tap to debug a design that includes a core partition exported with Signal
Tap HDL instances, follow these steps:
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
88
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
1. Add to your project the black-box file that you create in Export a Core Partition
with Signal Tap HDL Instances on page 88.
2. To create a design partition, click Assignments ➤ Design Partitions Window.
Define a partition and assign the exported partition .qdb file as the Partition
Database File option.
3. Create a Signal Tap file for the top-level partition as Step 1: Add the Signal Tap
Logic Analyzer to the Project on page 25 describes.
4. Compile the design and Signal Tap instances.
5. Generate a Signal Tap file for the reused Core Partition with the File ➤ Create/
Update ➤ Create Signal Tap File from Design Instance command.
6. Program the Intel FPGA device with the design and Signal Tap instances.
7. Perform hardware verification of top-level partition with the Signal Tap instance
defined in Step 3.
8. Perform hardware verification of the Reused Core Partition with the Signal Tap
instance defined in Step 5.
You implement the debug bridge with the SLD JTAG Bridge Agent Intel FPGA IP and
SLD JTAG Bridge Host Intel FPGA IP pair for each reserved core boundary in the
design. You instantiate the SLD JTAG Bridge Agent IP in the root partition, and the
SLD JTAG Bridge Host IP in the core partition.
JTAG Partition
HUB Signal Tap
Bridge Agent
Bridge Host
SLD JTAG
SLD JTAG
JTAG
JTAG HUB
TAP
For details about the debug bridge, refer to the SLD JTAG Bridge in the System
Debugging Tools Overview chapter.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
89
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Related Information
SLD JTAG Bridge on page 14
2.9.3.2.2. Debugging an Exported Root Partition and Core Partition Simultaneously using
the SLD JTAG Bridge
When you reuse an exported root partition in another project, the exported .qdb
includes the Signal Tap connection to signals in the root partition, and the SLD JTAG
Bridge Agent IP, which allows debugging logic in the core partition.
To perform Signal Tap debugging in a project that includes a reused root partition:
1. Add the exported .qdb (and .sdc) files to the project that reuses them.
2. From the IP Catalog, parameterize and instantiate the SLD JTAG Bridge Host Intel
FPGA IP in the core partition.
3. Run the Analysis & Synthesis stage of the Compiler.
4. Create a Signal Tap instance in the core partition, as Step 1: Add the Signal Tap
Logic Analyzer to the Project on page 25 describes.
5. In the Signal Tap instance, specify post-synthesis signals for monitoring.
Note: You can only tap signals in the core partition.
6. Compile the design and Signal Tap instance.
7. Generate a Signal Tap file for the reused root partition with the quartus_stp
command.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
90
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Adding new signals to a Signal Tap instance in a reused partition requires the Fitter to
connect and route these signals. This is only possible when:
• The reused partition contains the Synthesis snapshot—reused partitions that
contain the Placed or Final snapshot do not allow adding more signals to the
Signal Tap instance for monitoring, because you cannot create additional boundary
ports.
• The signal that you want to tap is a post-fit signal—adding pre-synthesis Signal
Tap signals is not possible, because that requires resynthesis of the partition.
Related Information
Signals Unavailable for Signal Tap Debugging on page 37
2.9.3.3.1. Add Post-Fit Nodes when Reusing a Partition Containing a Synthesis Snapshot
You can add post-fit nodes for Signal Tap debug when reusing a design partition
containing the synthesis snapshot exported from another project.
Use an unencrypted bitstream during the prototype and debugging phases of the
design, to allow programming file generation and reconfiguration of the device over
the JTAG connection while debugging.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
91
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
If you must use the Signal Tap logic analyzer with an encrypted bitstream, first
configure the device with an encrypted configuration file using Passive Serial (PS),
Fast Passive Parallel (FPP), or Active Serial (AS) configuration modes. The design must
contain at least one instance of the Signal Tap logic analyzer. After configuring the
FPGA with a Signal Tap instance and the design, you can open the Signal Tap logic
analyzer GUI and scan the chain to acquire data with the JTAG connection.
Related Information
Intel Quartus Prime Pro Edition User Guide: Programmer
2.9.5. Signal Tap Data Capture with the MATLAB MEX Function
When you use MATLAB for DSP design, you can acquire data from the Signal Tap logic
analyzer directly into a matrix in the MATLAB environment. To use this method, you
call the MATLAB MEX function, alt_signaltap_run, that the Intel Quartus Prime
software includes. If you use the MATLAB MEX function in a loop, you can perform as
many acquisitions in the same amount of time as when using Signal Tap in the Intel
Quartus Prime software environment.
Note: The MATLAB MEX function for Signal Tap is available in the Windows* version and
Linux version of the Intel Quartus Prime software. This function is compatible with
MATLAB Release 14 Original Release Version 7 and later.
To set up the Intel Quartus Prime software and the MATLAB environment to perform
Signal Tap acquisitions:
1. In the Intel Quartus Prime software, create an .stp file.
2. In the node list in the Data tab of the Signal Tap logic analyzer Editor, organize
the signals and groups of signals into the order in which you want them to appear
in the MATLAB matrix.
Each column of the imported matrix represents a single Signal Tap acquisition
sample, while each row represents a signal or group of signals in the order you
defined in the Data tab.
Note: Signal groups that the Signal Tap logic analyzer acquires and transfers into
the MATLAB MEX function have a width limit of 32 signals. To use the
MATLAB MEX function with a bus or signal group that contains more than 32
signals, split the group into smaller groups that do not exceed the limit.
3. Save the .stp file and compile your design. Program your device and run the
Signal Tap logic analyzer to ensure your trigger conditions and signal acquisition
work correctly.
4. In the MATLAB environment, add the Intel Quartus Prime binary directory to your
path with the following command:
You can view the help file for the MEX function by entering the following command
in MATLAB without any operators:
alt_signaltap_run
5. Use the MATLAB MEX function to open the JTAG connection to the device and run
the Signal Tap logic analyzer to acquire data. When you finish acquiring data, close
the JTAG connection.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
92
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
To open the JTAG connection and begin acquiring captured data directly into a
MATLAB matrix called stp, use the following command:
stp = alt_signaltap_run \
('<stp filename>'[,('signed'|'unsigned')[,'<instance names>'[, \
'<signalset name>'[,'<trigger name>']]]]);
When capturing data, you must assign a filename, for example, <stp filename> as
a requirement of the MATLAB MEX function. The following table describes other
MATLAB MEX function options:
signed 'signed' The signed option turns signal group data into 32-bit two’s-
unsigned 'unsigned' complement signed integers. The MSB of the group as
defined in the Signal Tap Data tab is the sign bit. The
unsigned option keeps the data as an unsigned integer.
The default is signed.
<instance name> 'auto_signaltap_0' Specify a Signal Tap instance if more than one instance is
defined. The default is the first instance in the .stp,
auto_signaltap_0.
<signal set name> 'my_signalset' Specify the signal set and trigger from the Signal Tap data
<trigger name> 'my_trigger' log if multiple configurations are present in the .stp. The
default is the active signal set and trigger in the file.
During data acquisition, you can enable or disable verbose mode to see the status
of the logic analyzer. To enable or disable verbose mode, use the following
commands:
alt_signaltap_run('VERBOSE_ON');-alt_signaltap_run('VERBOSE_OFF');
When you finish acquiring data, close the JTAG connection with the following
command:
alt_signaltap_run('END_CONNECTION');
For more information about the use of MATLAB MEX functions in MATLAB, refer to
the MATLAB Help.
Application Note 446: Debugging Nios II Systems with the Signal Tap Logic Analyzer
includes a design example with a Nios II processor, a direct memory access (DMA)
controller, on-chip memory, and an interface to external SDRAM memory. After you
press a button, the processor initiates a DMA transfer, which you analyze using the
Signal Tap logic analyzer. In this example, the Nios II processor executes a simple C
program from on-chip memory and waits for you to press a button.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
93
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Related Information
• AN 845: Signal Tap Tutorial for Intel Arria 10 Partial Reconfiguration Design
• AN 446: Debugging Nios II Systems with the Signal Tap Logic Analyzer
Related Information
On-chip Debugging Design Examples website
The following example shows how to apply a trigger position to all segments in the
acquisition buffer. The example describes a triggering flow for an acquisition buffer
split into four segments. If each acquisition segment is 64 samples in depth, the
trigger position for each buffer is at sample #34. The acquisition stops after all
segments are filled once.
if (c1 == 3 && condition1)
trigger 30;
else if ( condition1 )
begin
segment_trigger 30;
increment c1;
end
Each segment acts as a non-segmented buffer that continuously updates the memory
contents with the signal values.
The Data tab displays the last acquisition before stopping the buffer as the last
sample number in the affected segment. The trigger position in the affected segment
is then defined by N – post count fill, where N is the number of samples per
segment.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
94
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Post Count
1 0 1 1 0 1
1 0
0 1
1 Sample #1 1
0 0
1 1
0 1 0 1
0 1 0 1
Last Sample
This example triggers the acquisition buffer when condition1 occurs after
condition3 and occurs ten times prior to condition3. If condition3 occurs prior
to ten repetitions of condition1, the state machine transitions to a permanent wait
state.
state ST1:
if ( condition2 )
begin
reset c1;
goto ST2;
end
State ST2 :
if ( condition1 )
increment c1;
else if (condition3 && c1 < 10)
goto ST3;
else if ( condition3 && c1 >= 10)
trigger;
ST3:
goto ST3;
Right-click any template in the New File from Template dialog box, and then click
Set as the default selection to always open new .stp files in that template by
default.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
95
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Note: Refer to the New File from Template dialog box for complete descriptions of all
templates.
Default The most basic and compact setup that is suitable for many debugging needs
Default with Hidden Hierarchy The same setup as the Default template, with additional Hierarchy Display and Data
and Data Log Log windows for trigger condition setup.
State-Based Trigger Flow Control Starts with three conditions setup to replicate the basic sequential trigger flow
control.
Conditional Storage Qualifier Enables the Conditional storage qualifier and Basic OR condition. This setup
provides a versatile storage qualifier condition expression.
Transitional Storage Qualifier Enables the Transitional storage qualifier. The Transitional storage qualifier
simply detects changes in data.
Start-Stop Storage Qualifier Enables the Start/Stop storage qualifier and the Basic OR condition. Provides two
conditions to frame the data.
State-Based Storage Qualifier Provides more sophisticated qualification conditions for use with state machine
expressions. You must use the State-Based Storage Qualifier template in
conjunction with the state-based trigger flow control
Input Port Storage Qualifier Enables the Input port storage qualifier to provide total control of the storage
qualifier condition by supporting development of custom logic outside of the Signal
Tap logic hierarchy.
Trivial Advanced Trigger Enables the Advanced trigger condition. The Advanced condition provides the
Condition most flexibility to express complex conditions. The Advanced trigger condition
scales from a simple wire to the most complex logical expression. This template
starts with the simplest condition.
Trigger Position Defined Using Supports specifying an exact number of samples to store after the trigger position,
Sample Count using the State-Based Trigger Flow Control template as a reference.
Cross-triggering Between STP Enables "Cross-triggering by using the Trigger out from one instance as the
Instances Trigger in of another instance, when using multiple Signal Tap instances.
Setup for Incremental Specifies a fixed input width for signal inputs. This technique allows efficient
Compilation incremental compilation by reducing the amount of Signal Tap logic change, and by
adding only post-fit nodes to tap.
Define Trigger Condition in RTL Supports defining a custom trigger condition in the RTL language of your choice.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
96
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Capture Avalon Memory Mapped Allows you to use the storage qualifier feature to store only meaningful Avalon
Transactions memory-mapped interface transactions.
Simple Avalon Streaming Supports recording of event time for analysis of the data packet flow in an Avalon
Interface Bus Performance streaming interface.
Analysis
Use Counters in the State-based Use counters to track of the number of packets produced (pkt_counter), number
Flow Control to Collect Stats of data beats produced (pkt_beat_counter), and number of data beats
consumed (stream_beat_counter).
Table 21. State-Based Triggering Design Flow Examples Signal Tap File Templates
Template Setup Description
Trigger on an Event Absent for Requires setup of one basic trigger condition in the Setup tab to the value that you
Greater Than or Equal to 5 Clock want.
Cycles
Trigger on Event Absent for Less Requires setup of one basic trigger condition in the Setup tab to the value that you
Than 5 Clock Cycles want.
Trigger on 5th Occurrence of a Requires setup of one basic trigger condition in the Setup tab to the value that you
Group Value want.
Trigger on the 5th Transition of a Requires setup of an edge-sensitive trigger condition to detect all bus transitions to
Group Value the desired group value. Requires edge detection for any data bus bit logically
ANDed with a comparison to the desired group value. An advanced trigger condition
is necessary in this case.
Trigger After Condition1 is Requires setup of three basic trigger conditions in the Setup tab to the values you
Followed by Condition2 specify. The first two trigger conditions are set to the desired group values. The
third trigger condition is set to capture some type of idle transaction across the bus
between the first and second conditions.
Trigger on Condition1 Requires setup of two basic trigger conditions in the Setup tab to the group values
Immediately Followed by that you want.
Condition2
Trigger on Condition2 Not Requires setup of three basic trigger conditions in the Setup tab to the group
Occurring Between Condition1 values that you want.
and Condition3
Trigger on the 5th Consecutive Requires setup of one basic trigger condition in the Setup tab to the value you
Occurrence of Condition1 want.
Trigger After a Violation of Requires setup of four basic trigger conditions to the sequence values that you
Sequence From Condition1 To want.
Condition4
Trigger on a Sequence of Edges Requires setup of three edge-sensitive basic trigger conditions for the sequence
that you want.
Trigger on Condition1 Followed Requires setup of two basic trigger conditions to the group values that you want.
by Condition2 After 5 Clock
Cycles
Trigger on Condition1 Followed Requires setup of two basic trigger conditions to the group values that you want.
by Condition2 Within 5 Samples
continued...
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
97
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
Trigger on Condition1 Not Requires setup of two basic trigger conditions to the group values that you want.
Followed by Condition2 Within 5
Samples
Trigger After 5 Consecutive Requires setup of a trigger condition to capture any transition activity on the
Transitions monitored bus. This example requires an Advanced trigger condition because the
example requires an OR condition.
Trigger When Condition1 Occurs Requires setup of three edge-sensitive trigger conditions, with each trigger
Less Than 5 Times Between condition containing a comparison to the desired group value.
Condition2 and Condition3
The stand-alone version of Signal Tap is particularly useful in a lab environment that
lacks a suitable workstation for a complete Intel Quartus Prime installation, or lacks a
full Intel Quartus Prime software license.
The standalone version of the Signal Tap logic analyzer includes and requires use of
the Intel Quartus Prime stand-alone Programmer, which is also available from the
Download Center for FPGAs.
Related Information
• Tcl Scripting
In Intel Quartus Prime Pro Edition User Guide: Scripting
• Command Line Scripting
In Intel Quartus Prime Pro Edition User Guide: Scripting
--enable Optional Sets the ENABLE_SIGNALTAP option to ON in the project's .qsf file, so
the Signal Tap logic analyzer runs in the next compilation.
If you omit this option, the Intel Quartus Prime software uses the current
value of ENABLE_SIGNALTAP in the .qsf file.
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
98
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
--disable Optional Sets the ENABLE_SIGNALTAP option to OFF in the project's .qsf file, so
the Signal Tap logic analyzer does not in the next compilation.
If you omit the --disable option, the Intel Quartus Prime software
uses the current value of ENABLE_SIGNALTAP in the .qsf file.
Note: You cannot execute Signal Tap Tcl commands from within the Tcl console in the Intel
Quartus Prime software.
To execute a Tcl script containing Signal Tap logic analyzer Tcl commands, use:
quartus_stp -t <Tcl file>
This excerpt shows commands you can use to continuously capture data. Once the
capture meets trigger condition e, the Signal Tap logic analyzer starts the capture and
stores the data in the data log.
# Open Signal Tap session
open_session -name stp1.stp
run_multiple_end
Related Information
::quartus::stp
In Intel Quartus Prime Help
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
99
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
If you open an Intel Quartus Prime project that includes a .stp file from a previous
version of the software in a later version of the Intel Quartus Prime software, the
software may require you to update the .stp configuration file before you can
compile the project. Update the configuration file by simply opening the .stp in the
Signal Tap logic analyzer GUI. If configuration update is required, Signal Tap confirms
that you want to update the .stp to match the current version of the Intel Quartus
Prime software.
Note: The Intel Quartus Prime Pro Edition software uses a new methodology for settings and
assignments. For example, Signal Tap assignments include only the instance name,
not the entity:instance name. Refer to Migrating to Intel Quartus Prime Pro
Edition for more information about migrating existing Signal Tap files (.stp) to Intel
Quartus Prime Pro Edition.
Related Information
Migrating to Intel Quartus Prime Pro Edition, Intel Quartus Prime Pro Edition User
Guide: Getting Started
2.16. Design Debugging with the Signal Tap Logic Analyzer Revision
History
The following revision history applies to this chapter:
Document Version Intel Quartus Changes
Prime Version
2020.09.28 20.3 • Revised "Signal Tap Logic Analyzer Introduction" for screenshot and
details about role of Signal Tap Intel FPGA IP.
• Revised graphic and wording in "Signal Tap Hardware and Software
Requirements" topic.
• Revised wording and link to download in "Running the Stand-Alone
Version of Signal Tap."
• Updated flow diagram and added links to retitled "Signal Tap Debugging
Flow" topic.
• Retitled "Add the Signal Tap Logic Analyzer to Your Design" to "Step 1:
Add the Signal Tap Logic Analyzer to the Project," and referenced new
template and added links to next steps.
• Added "Creating a Signal Tap Instance with the Signal Tap GUI" topic.
• Added new "Signal Tap File Templates" topic.
• Added new "Creating a Signal Tap Instance by HDL Instantiation" topic.
• Added new "Signal Tap Intel FPGA IP Parameters" topic.
• Retitled "Configure the Signal Tap Logic Analyzer" to "Step 2: Configure
the Signal Tap Logic Analyzer," and referenced new template and added
links to next steps.
• Enhanced description in Step 5: Run the Signal Tap Logic Analyzer"
topic.
• Revised "Adding Signals to the Signal Tap Logic Analyzer" to add
detailed steps and screenshot.
• Retitled and revised "Adding Nios II Processor Signals" to reflect there
is only one plug-in in Intel Quartus Prime Pro Edition.
• Revised "Disabling or Enabling Signal Tap Instances" and added
screenshot.
• Replaced outdated links to AN446 with links to AN845.
• Revised headings and steps in "Debugging Block-Based Designs with
Signal Tap" section.
• Retitled "Debugging Imported Snapshots" to "Compiler Snapshots and
Signal Tap Debugging".
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
100
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
2019.06.11 18.1.0 Added more explanation to Figure 53 on page 64 about continuous and
input mode.
2019.05.01 18.1.0 In Adding Signals with a Plug-In topic, removed outdated information from
step 1 about turning on Create debugging nodes for IP cores.
2018.08.07 18.0.0 Reverted document title to Debug Tools User Guide: Intel Quartus Prime
Pro Edition.
2018.07.30 18.0.0 Updated Partial Reconfiguration sections to reflect changes in the PR flow.
2018.05.07 18.0.0 • Added note stating Signal Tap IP not optimized for Stratix 10 Devices.
• Moved information about debug fabric on PR designs to the System
Debugging Tools Overview chapter.
• Removed restrictions of Rapid Recompile support for Intel Stratix 10
devices.
2017.11.06 17.1.0 • Added support for Incremental Routing in Intel Stratix 10 devices.
• Removed unsupported FSM auto detection.
• Clarified information about the Data Log Pane.
• Updated Figure: Data Log and renamed to Simple Data Log.
• Added Figure: Accessing the Advanced Trigger Condition Tab.
• Removed outdated information about command-line flow.
2017.05.08 17.0.0 • Added: Open Standalone Signal Tap Logic Analyzer GUI.
• Added: Debugging Partial Reconfiguration Designs Using Signal Tap
Logic Analyzer.
• Updated figures on Create Signal Tap File from Design Instance(s).
2015.05.04 15.0.0 Added content for Floating Point Display Format in table: SignalTap II Logic
Analyzer Features and Benefits.
2014.12.15 14.1.0 Updated location of Fitter Settings, Analysis & Synthesis Settings, and
Physical Synthesis Optimizations to Compiler Settings.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
101
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
November 2013 13.1.0 Removed HardCopy material. Added section on using cross-triggering with
DS-5 tool and added link to white paper 01198. Added section on remote
debugging an Altera SoC and added link to application note 693. Updated
support for MEX function.
May 2013 13.0.0 • Added recommendation to use the state-based flow for segmented
buffers with separate trigger conditions, information about Basic OR
trigger condition, and hard processor system (HPS) external triggers.
• Updated “Segmented Buffer” on page 13-17, Conditional Mode on page
13-21, Creating Basic Trigger Conditions on page 13-16, and Using
External Triggers on page 13-48.
June 2012 12.0.0 Updated Figure 13–5 on page 13–16 and “Adding Signals to the SignalTap
II File” on page 13–10.
May 2011 11.0.0 Updated the requirement for the standalone SignalTap II software.
July 2010 10.0.0 • Add new acquisition buffer content to the “View, Analyze, and Use
Captured Data” section.
• Added script sample for generating hexadecimal CRC values in
programmed devices.
• Created cross references to Quartus II Help for duplicated procedural
content.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
102
2. Design Debugging with the Signal Tap Logic Analyzer
UG-20139 | 2020.09.28
November 2008 8.1.0 Updated for the Quartus II software version 8.1 release:
• Added new section “Using the Storage Qualifier Feature” on page 14–
25
• Added description of start_store and stop_store commands in
section “Trigger Condition Flow Control” on page 14–36
• Added new section “Runtime Reconfigurable Options” on page 14–63
May 2008 8.0.0 Updated for the Quartus II software version 8.0:
• Added “Debugging Finite State machines” on page 14-24
• Documented various GUI usability enhancements, including
improvements to the resource estimator, the bus find feature, and the
dynamic display updates to the counter and flag resources in the State-
based trigger flow control tab
• Added “Capturing Data Using Segmented Buffers” on page 14–16
• Added hyperlinks to referenced documents throughout the chapter
• Minor editorial updates
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
103
UG-20139 | 2020.09.28
Send Feedback
The Signal Probe feature in the Intel Quartus Prime Pro Edition software allows you to
route an internal node to a top-level I/O. When you start with a fully routed design,
you can select and route debugging signals to I/O pins that you previously reserve or
are currently unused.
During Rapid Recompile, the Compiler reuses previous synthesis and fitting results
whenever possible, and does not reprocess unchanged design blocks. When you make
small design changes, using Rapid Recompile reduces timing variations and the total
recompilation time.
The Intel Quartus Prime Pro Edition Signal Probe feature supports the Intel Arria 10
and Intel Stratix 10 device families.
Related Information
System Debugging Tools Overview on page 6
Optionally, you can assign locations for the Signal Probe pins. If you do not assign a
location, the Fitter places the pins automatically.
Note: If from the onset of the debugging process you know which internal signals you want
to route, you can reserve pins and assign nodes before compilation. This early
assignment removes the recompilation step from the flow.
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
3. Quick Design Verification with Signal Probe
UG-20139 | 2020.09.28
Related Information
Constraining Designs with Tcl Scripts
In Intel Quartus Prime Pro Edition User Guide: Design Constraints
At this point in the design flow you determine the nodes you want to debug.
Related Information
Design Compilation
In Intel Quartus Prime Pro Edition User Guide: Compiler
You specify the node that connects to a Signal Probe pin with a Tcl command:
set_instance_assignment –name CONNECT_SIGNALPROBE_PIN <pin_name> –to <node_name>
pin_name Specifies the name of the Signal Probe pin that connects to the node.
node_name Specifies the full hierarchy path of the node you want to route.
You can run Rapid Recompile from the Intel Quartus Prime software, a command line
executable, or a Tcl script.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
105
3. Quick Design Verification with Signal Probe
UG-20139 | 2020.09.28
After recompilation, you are ready to program the device and debug the design.
Related Information
Using Rapid Recompile
In Intel Quartus Prime Pro Edition User Guide: Compiler
The Status column informs whether or not the routing attempt from the nodes to the
Signal Probe pins succeeded.
Alternatively, you can find the Signal Probe connection information in the Fitter report
file (<project_name>.fit.rpt).
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
106
3. Quick Design Verification with Signal Probe
UG-20139 | 2020.09.28
Status : Connected
Attempted Connection : sprobe_me2
Actual Connection : sprobe_me2
Details :
Related Information
• Signals Unavailable for Signal Tap Debugging on page 37
• Text-Based Report Files
In Intel Quartus Prime Pro Edition User Guide: Scripting
2018.05.07 18.0.0 Initial release for Intel Quartus Prime Pro Edition software.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
107
UG-20139 | 2020.09.28
Send Feedback
The LAI connects a large set of internal device signals to a small number of output
pins. You can connect these output pins to an external logic analyzer for debugging
purposes. In the Intel Quartus Prime LAI, the internal signals are grouped together,
distributed to a user-configurable multiplexer, and then output to available I/O pins on
your Intel-supported device. Instead of having a one-to-one relationship between
internal signals and output pins, the Intel Quartus Prime LAI enables you to map many
internal signals to a smaller number of output pins. The exact number of internal
signals that you can map to an output pin varies based on the multiplexer settings in
the Intel Quartus Prime LAI.
Note: The term “logic analyzer” when used in this document includes both logic analyzers
and oscilloscopes equipped with digital channels, commonly referred to as mixed
signal analyzers or MSOs.
The LAI does not support Hard Processor System (HPS) I/Os.
Related Information
Device Support Center
Table 24. Comparing the Signal Tap Logic Analyzer with the Logic Analyzer Interface
Feature Description Recommended Logic
Analyzer
Sample Depth You have access to a wider sample depth with an LAI
external logic analyzer. In the Signal Tap Logic
Analyzer, the maximum sample depth is set to
continued...
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
4. In-System Debugging Using External Logic Analyzers
UG-20139 | 2020.09.28
Debugging Timing Issues Using an external logic analyzer provides you with LAI
access to a “timing” mode, which enables you to
debug combined streams of data.
Triggering Capability The Signal Tap Logic Analyzer offers triggering LAI or Signal Tap
capabilities that are comparable to external logic
analyzers.
Use of Output Pins Using the Signal Tap Logic Analyzer, no additional Signal Tap
output pins are required. Using an external logic
analyzer requires the use of additional output pins.
Acquisition Speed With the Signal Tap Logic Analyzer, you can acquire Signal Tap
data at speeds of over 200 MHz. You can achieve the
same acquisition speeds with an external logic
analyzer; however, you must consider signal integrity
issues.
Related Information
System Debugging Tools Overview on page 6
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
109
4. In-System Debugging Using External Logic Analyzers
UG-20139 | 2020.09.28
Board
External Logic Analyzer (2)
FPGA
LAI
Connected to
Unused FPGA Pins
JTAG
FPGA Programming
Hardware (1) Quartus Prime Software
Notes to figure:
1. Configuration and control of the LAI using a computer loaded with the Intel
Quartus Prime software via the JTAG port.
2. Configuration and control of the LAI using a third-party vendor logic analyzer via
the JTAG port. Support varies by vendor.
Compile Project
Program Device
Debug Project
Notes to figure:
1. Configuration and control of the LAI using a computer loaded with the Intel
Quartus Prime software via the JTAG port.
2. Configuration and control of the LAI using a third-party vendor logic analyzer via
the JTAG port. Support varies by vendor.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
110
4. In-System Debugging Using External Logic Analyzers
UG-20139 | 2020.09.28
Related Information
LAI Core Parameters on page 114
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
111
4. In-System Debugging Using External Logic Analyzers
UG-20139 | 2020.09.28
2. Double-click the Location column next to the reserved pins in the Name column,
and select a pin from the list.
3. Right-click the selected pin and locate in the Pin Planner.
Related Information
Managing Device I/O Pins
In Intel Quartus Prime Pro Edition User Guide: Design Constraints
Related Information
Node Finder Command
In Intel Quartus Prime Help
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
112
4. In-System Debugging Using External Logic Analyzers
UG-20139 | 2020.09.28
To verify the Logic Analyzer Interface is properly compiled with your project, open the
Compilation Report tab and select Resource Utilization by Entity, nested under
Partition "auto_fab_0". The LAI IP instance appears in the Compilation Hierarchy Node
column, nested under the internal module of auto_fab_0
Logic Analyzer
Resource Utilization Interface
by Entity IP instance
You can use the LAI with multiple devices in your JTAG chain. Your JTAG chain can also
consist of devices that do not support the LAI or non-Intel, JTAG-compliant devices. To
use the LAI in more than one Intel-supported device, create an .lai file and
configure an .lai file for each Intel-supported device that you want to analyze.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
113
4. In-System Debugging Using External Logic Analyzers
UG-20139 | 2020.09.28
Pin Count 1 - 255 Number of pins dedicated to the LAI. You must connect the pins to a
debug header on the board.
Within the device, The Compiler maps each pin to a user-
configurable number of internal signals.
Bank Count 1 - 255 Number of internal signals that you want to map to each pin.
For example, a Bank Count of 8 implies that you connect eight
internal signals to each pin.
Output/Capture Mode Specifies the acquisition mode. The two options are:
• Combinational/Timing—This acquisition mode uses the
external logic analyzer’s internal clock to determine when to
sample data.
This acquisition mode requires you to manually determine the
sample frequency to debug and verify the system, because the
data sampling is asynchronous to the Intel-supported device.
This mode is effective if you want to measure timing information
such as channel-to-channel skew. For more information about the
sampling frequency and the speeds at which it can run, refer to
the external logic analyzer's data sheet.
• Registered/State—This acquisition mode determines when to
sample from a signal on the system under test. Consequently, the
data samples are synchronous with the Intel-supported device.
The Registered/State mode provides a functional view of the
Intel-supported device while it is running. This mode is effective
when you verify the functionality of the design.
Clock Specifies the sample clock. You can use any signal in the design as a
sample clock. However, for best results, use a clock with an
operating frequency fast enough to sample the data that you want to
acquire.
Note: The Clock parameter is available only when Output/
Capture Mode is set to Registered State.
Power-Up State Specifies the power-up state of the pins designated for use with the
LAI. You can select tri-stated for all pins, or selecting a particular
bank that you enable.
Related Information
Defining Parameters for the Logic Analyzer Interface on page 111
2018.05.07 18.0.0 • Moved list of LAI File Core Parameters from Configuring the File Core
Parameters to its own topic, and added links.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
114
4. In-System Debugging Using External Logic Analyzers
UG-20139 | 2020.09.28
July 2010 10.0.0 • Created links to the Intel Quartus Prime Help
• Editorial updates
• Removed Referenced Documents section
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
115
UG-20139 | 2020.09.28
Send Feedback
The ability to read data from memories and constants can help you identify the source
of problems, and the write capability allows you to bypass functional issues by writing
expected data.
When you use the In-System Memory Content Editor in conjunction with the Signal
Tap logic analyzer, you can view and debug your design in the hardware lab.
Related Information
• System Debugging Tools Overview on page 6
• Design Debugging with the Signal Tap Logic Analyzer on page 21
Note: To use the ISMCE tool with designs migrated from older devices to Intel Stratix 10
devices, replace instances of the altsyncram Intel FPGA IP with the altera_syncram
Intel FPGA IP.
Related Information
• Intel Stratix 10 Embedded Memory IP Core References
In Intel Stratix 10 Embedded Memory User Guide
• About Embedded Memory IP Cores
In Embedded Memory (RAM: 1-PORT, RAM: 2-PORT, ROM: 1-PORT, and ROM:
2-PORT) User Guide
• Intel FPGA IP Cores/LPM
In Intel Quartus Prime Help
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
5. In-System Modification of Memory and Constants
UG-20139 | 2020.09.28
When you specify that a memory or constant is run-time modifiable, the Intel Quartus
Prime software changes the default implementation to enable run-time modification
without changing the functionality of your design, by:
• Converting single-port RAMs to dual-port RAMs
• Adding logic to avoid memory write collision and maintain read write coherency in
device families that do not support true dual-port RAMs, such as Intel Stratix 10.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
117
5. In-System Modification of Memory and Constants
UG-20139 | 2020.09.28
Related Information
JTAG Chain Configuration Pane (In-System Memory Content Editor)
In Intel Quartus Prime Help
3.
Click an instance from the Instance manager, and then click to load the
contents of that instance.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
118
5. In-System Modification of Memory and Constants
UG-20139 | 2020.09.28
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
119
5. In-System Modification of Memory and Constants
UG-20139 | 2020.09.28
•
Click to synchronize the Hex Editor to the current instance's content.
The Hex Editor displays in red content that changed with respect to the last device
synchronization.
Note: (Intel Stratix 10 only) ISMCE logic can perform Read/Write operations only when the
design logic is idle. If the design logic attempts a write or an address change
operation, the design logic prevails, and the ISMCE operation times out. An error
message lets you know that the memory connected to the In-System Memory Content
Editor instance is in use, and memory content is not updated.
Related Information
• Read Information from In-System Memory Commands (Processing Menu)
In Intel Quartus Prime Help
• Stop In-System Memory Analysis Command (Processing Menu)
In Intel Quartus Prime Help
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
120
5. In-System Modification of Memory and Constants
UG-20139 | 2020.09.28
Black content on the Hex Editor pane means that the value read is the same as last
synchronization.
1. Type content on the pane.
The Hex Editor displays in blue changed content that has not been synchronized
to the device.
2.
Click to synchronize the content to the device.
Note: (Intel Stratix 10 only) ISMCE logic can perform Read/Write operations only when the
design logic is idle. If the design logic attempts a write or an address change
operation, the design logic prevails, and the ISMCE operation times out. An error
message lets you know that the memory connected to the In-System Memory Content
Editor instance is in use, and reports the number of successful writes before the
design logic requested access to the memory.
Related Information
• Custom Fill Dialog Box
In Intel Quartus Prime Help
• Write Information to In-System Memory Commands (Processing Menu)
In Intel Quartus Prime Help
• Go To Dialog Box
In Intel Quartus Prime Help
• Select Range Dialog Box
In Intel Quartus Prime Help
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
121
5. In-System Modification of Memory and Constants
UG-20139 | 2020.09.28
Related Information
• Import Data
In Intel Quartus Prime Help
• Export Data
In Intel Quartus Prime Help
• Hexadecimal (Intel-Format) File (.hex) Definition
In Intel Quartus Prime Help
• Memory Initialization File (.mif) Definition
In Intel Quartus Prime Help
You can enable memory and constant instances to be runtime modifiable from the HDL
code. Additionally, the In-System Memory Content Editor supports reading and writing
of memory contents via Tcl commands from the insystem_memory_edit package.
Related Information
• Tcl Scripting
In Intel Quartus Prime Pro Edition User Guide: Scripting
• Command Line Scripting
In Intel Quartus Prime Pro Edition User Guide: Scripting
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
122
5. In-System Modification of Memory and Constants
UG-20139 | 2020.09.28
Related Information
::quartus::insystem_memory_edit
In Intel Quartus Prime Help
You can also get information on the insystem_memory_edit package directly from
the command line:
• For general information about the package, type:
2018.05.07 18.0.0 • Added support for the Intel Stratix 10 device family.
• Removed obsolete example.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
123
5. In-System Modification of Memory and Constants
UG-20139 | 2020.09.28
May 2008 8.0.0 • Added reference to Section V. In-System Debugging in volume 3 of the
Intel Quartus Prime Handbook on page 16-1
• Removed references to the Mercury device, as it is now considered to
be a “Mature” device
• Added links to referenced documents throughout document
• Minor editorial updates
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
124
UG-20139 | 2020.09.28
Send Feedback
You can make the debugging cycle more efficient when you can drive any internal
signal manually within your design, which allows you to perform the following actions:
• Force the occurrence of trigger conditions set up in the Signal Tap Logic Analyzer
• Create simple test vectors to exercise your design without using external test
equipment
• Dynamically control run time control signals with the JTAG chain
The In-System Sources and Probes Editor in the Intel Quartus Prime software extends
the portfolio of verification tools, and allows you to easily control any internal signal
and provides you with a completely dynamic debugging environment. Coupled with
either the Signal Tap Logic Analyzer or Signal Probe, the In-System Sources and
Probes Editor gives you a powerful debugging environment in which to generate
stimuli and solicit responses from your logic design.
The Virtual JTAG IP core and the In-System Memory Content Editor also give you the
capability to drive virtual inputs into your design. The Intel Quartus Prime software
offers a variety of on-chip debugging tools.
The In-System Sources and Probes Editor consists of the ALTSOURCE_PROBE IP core
and an interface to control the ALTSOURCE_PROBE IP core instances during run time.
Each ALTSOURCE_PROBE IP core instance provides you with source output ports and
probe input ports, where source ports drive selected signals and probe ports sample
selected signals. When you compile your design, the ALTSOURCE_PROBE IP core sets
up a register chain to either drive or sample the selected nodes in your logic design.
During run time, the In-System Sources and Probes Editor uses a JTAG connection to
shift data to and from the ALTSOURCE_PROBE IP core instances. The figure shows a
block diagram of the components that make up the In-System Sources and Probes
Editor.
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
FPGA
Design Logic
Probes Sources
altsource_probe
Intel FPGA IP Core
D Q
D Q
FPGA Intel
JTAG
Programming Quartus Prime
Controller
Hardware Software
The ALTSOURCE_PROBE IP core hides the detailed transactions between the JTAG
controller and the registers instrumented in your design to give you a basic building
block for stimulating and probing your design. Additionally, the In-System Sources and
Probes Editor provides single-cycle samples and single-cycle writes to selected logic
nodes. You can use this feature to input simple virtual stimuli and to capture the
current value on instrumented nodes. Because the In-System Sources and Probes
Editor gives you access to logic nodes in your design, you can toggle the inputs of low-
level components during the debugging process. If used in conjunction with the Signal
Tap Logic Analyzer, you can force trigger conditions to help isolate your problem and
shorten your debugging process.
The In-System Sources and Probes Editor allows you to easily implement control
signals in your design as virtual stimuli. This feature can be especially helpful for
prototyping your design, such as in the following operations:
• Creating virtual push buttons
• Creating a virtual front panel to interface with your design
• Emulating external sensor data
• Monitoring and changing run time constants on the fly
The In-System Sources and Probes Editor supports Tcl commands that interface with
all your ALTSOURCE_PROBE IP core instances to increase the level of automation.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
126
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
Related Information
System Debugging Tools
For an overview and comparison of all the tools available in the Intel Quartus Prime
software on-chip debugging tool suite
or
• Intel Quartus Prime Lite Edition
• Download Cable (USB-BlasterTM download cable or ByteBlasterTM cable)
• Intel FPGA development kit or user design board with a JTAG connection to device
under test
The In-System Sources and Probes Editor supports the following device families:
• Arria series
• Stratix series
• Cyclone® series
• MAX® series
6.2. Design Flow Using the In-System Sources and Probes Editor
The In-System Sources and Probes Editor supports an RTL flow. Signals that you want
to view in the In-System Sources and Probes editor are connected to an instance of
the In-System Sources and Probes IP core.
After you compile the design, you can control each instance via the In-System
Sources and Probes Editor pane or via a Tcl interface.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
127
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
Figure 86. FPGA Design Flow Using the In-System Sources and Probes Editor
Start
Configure altsource_probe
Intel FPGA IP Core
Functionality No
Satisfied?
Yes
End
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
128
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
The IP core supports up to 512 bits for each source, and design can include up to
128 instances of this IP core.
5. Click Generate or Finish to generate IP core synthesis and simulation files
matching your specifications.
6. Using the generated template, instantiate the In-System Sources and Probes IP
core in your design.
Note: The In-System Sources and Probes Editor does not support simulation. Remove the
In-System Sources and Probes IP core before you create a simulation netlist.
source_clk No Input Source Data is written synchronously to this clock. This input is required
if you turn on Source Clock in the Advanced Options box in the
parameter editor.
source_ena No Input Clock enable signal for source_clk. This input is required if specified in
the Advanced Options box in the parameter editor.
You can include up to 128 instances of the in-system sources and probes IP core in
your design, if your device has available resources. Each instance of the IP core uses a
pair of registers per signal for the width of the widest port in the IP core. Additionally,
there is some fixed overhead logic to accommodate communication between the IP
core instances and the JTAG controller. You can also specify an additional pair of
registers per source port for synchronization.
You can modify the number of connections to your design by editing the In-System
Sources and Probes IP core. To open the design instance you want to modify in the
parameter editor, double-click the instance in the Project Navigator. You can then
modify the connections in the HDL source file. You must recompile your design after
you make changes.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
129
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
When you use the In-System Sources and Probes Editor, you do not need to open an
Intel Quartus Prime software project. The In-System Sources and Probes Editor
retrieves all instances of the ALTSOURCE_PROBE IP core by scanning the JTAG chain
and sending a query to the device selected in the JTAG Chain Configuration pane.
You can also use a previously saved configuration to run the In-System Sources and
Probes Editor.
Each In-System Sources and Probes Editor pane can access the
ALTSOURCE_PROBE IP core instances in a single device. If you have more than one
device containing IP core instances in a JTAG chain, you can launch multiple In-
System Sources and Probes Editor panes to access the IP core instances in each
device.
To configure a device to use with the In-System Sources and Probes Editor, perform
the following steps:
1. Open the In-System Sources and Probes Editor.
2. In the JTAG Chain Configuration pane, point to Hardware, and then select the
hardware communications device. You may be prompted to configure your
hardware; in this case, click Setup.
3. From the Device list, select the FPGA device to which you want to download the
design (the device may be automatically detected). You may need to click Scan
Chain to detect your target device.
4. In the JTAG Chain Configuration pane, click to browse for the SRAM Object File
(.sof) that includes the In-System Sources and Probes instance or instances.
(The .sof may be automatically detected).
5. Click Program Device to program the target device.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
130
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
The Instance Manager pane contains the following buttons and sub-panes:
• Read Probe Data—Samples the probe data in the selected instance and displays
the probe data in the In-System Sources and Probes Editor pane.
• Continuously Read Probe Data—Continuously samples the probe data of the
selected instance and displays the probe data in the In-System Sources and
Probes Editor pane; you can modify the sample rate via the Probe read
interval setting.
• Stop Continuously Reading Probe Data—Cancels continuous sampling of the
probe of the selected instance.
• Read Source Data—Reads the data of the sources in the selected instances.
• Probe Read Interval—Displays the sample interval of all the In-System Sources
and Probe instances in your design; you can modify the sample interval by clicking
Manual.
• Event Log—Controls the event log that appears in the In-System Sources and
Probes Editor pane.
• Write Source Data—Allows you to manually or continuously write data to the
system.
Beside each entry, the Instance Manager pane displays the instance status. The
possible instance statuses are Not running Offloading data, Updating data, and
Unexpected JTAG communication error.
The data is organized according to the index number of the instance. The editor
provides an easy way to manage your signals, and allows you to rename signals or
group them into buses. All data collected from in-system source and probe nodes is
recorded in the event log and you can view the data as a timing diagram.
This action produces a single sample of the probe data and updates the data column
of the selected index in the In-System Sources and Probes Editor pane. You can
save the data to an event log by turning on the Save data to event log option in the
Instance Manager pane.
If you want to sample data from your probe instance continuously, in the Instance
Manager pane, click the instance you want to read, and then click Continuously
read probe data. While reading, the status of the active instance shows Unloading.
You can read continuously from multiple instances.
You can access read data with the shortcut menus in the Instance Manager pane.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
131
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
To adjust the probe read interval, in the Instance Manager pane, turn on the
Manual option in the Probe read interval sub-pane, and specify the sample rate in
the text field next to the Manual option. The maximum sample rate depends on your
computer setup. The actual sample rate is shown in the Current interval box. You
can adjust the event log window buffer size in the Maximum Size box.
Modified values that are not written out to the ALTSOURCE_PROBE instances appear in
red. To update the ALTSOURCE_PROBE instance, highlight the instance in the
Instance Manager pane and click Write source data. The Write source data
function is also available via the shortcut menus in the Instance Manager pane.
The In-System Sources and Probes Editor provides the option to continuously update
each ALTSOURCE_PROBE instance. Continuous updating allows any modifications you
make to the source data buffer to also write immediately to the ALTSOURCE_PROBE
instances. To continuously update the ALTSOURCE_PROBE instances, change the
Write source data field from Manually to Continuously.
To create a group of signals, select the node names you want to group, right-click and
select Group. You can modify the display format in the Bus Display Format and the
Bus Bit order shortcut menus.
The In-System Sources and Probes Editor pane allows you to rename any signal.
To rename a signal, double-click the name of the signal and type the new name.
The event log contains a record of the most recent samples. The buffer size is
adjustable up to 128k samples. The time stamp for each sample is logged and is
displayed above the event log of the active instance as you move your pointer over
the data samples.
You can save the changes that you make and the recorded data to a Sources and
Probes File (.spf). To save changes, on the File menu, click Save. The file contains
all the modifications you made to the signal groups, as well as the current data event
log.
6.5. Tcl interface for the In-System Sources and Probes Editor
To support automation, the In-System Sources and Probes Editor supports the
procedures described in this chapter in the form of Tcl commands. The Tcl package for
the In-System Sources and Probes Editor is included by default when you run
quartus_stp.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
132
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
The Tcl interface for the In-System Sources and Probes Editor provides a powerful
platform to help you debug your design. The Tcl interface is especially helpful for
debugging designs that require toggling multiple sets of control inputs. You can
combine multiple commands with a Tcl script to define a custom command set.
The example shows an excerpt from a Tcl script with procedures that control the
ALTSOURCE_PROBE instances of the design as shown in the figure below. The
example design contains a DCFIFO with ALTSOURCE_PROBE instances to read from
and write to the DCFIFO. A set of control muxes are added to the design to control the
flow of data to the DCFIFO between the input pins and the ALTSOURCE_PROBE
instances. A pulse generator is added to the read request and write request control
lines to guarantee a single sample read or write. The ALTSOURCE_PROBE instances,
when used with the script in the example below, provide visibility into the contents of
the FIFO by performing single sample write and read operations and reporting the
state of the full and empty status flags.
Use the Tcl script in debugging situations to either empty or preload the FIFO in your
design. For example, you can use this feature to preload the FIFO to match a trigger
condition you have set up within the Signal Tap logic analyzer.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
133
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
altsource_probe
(Instance 0)
source_write_sel
s_write_req
D Q
Write_clock s_data[7..0]
wr_req_in
write_req wr_full
data_in[7..0]
data[7..0]
write_clock
data_out
read_req Q[7..0]
read_clock rd_empty
rd_req_in
altsource_probe
(Instance 1)
s_read_req
D Q
source_read_sel
read_clock
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
134
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
Related Information
• Tcl Scripting
• Intel Quartus Prime Settings File Manual
• Command Line Scripting
Stratix PLLs allow you to dynamically update PLL coefficients during run time. Each
enhanced PLL within the Stratix device contains a register chain that allows you to
modify the pre-scale counters (m and n values), output divide counters, and delay
counters. In addition, the ALTPLL_RECONFIG IP core provides an easy interface to
access the register chain counters. The ALTPLL_RECONFIG IP core provides a cache
that contains all modifiable PLL parameters. After you update all the PLL parameters in
the cache, the ALTPLL_RECONFIG IP core drives the PLL register chain to update the
PLL with the updated parameters. The figure shows a Stratix-enhanced PLL with
reconfigurable coefficients.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
135
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
scanaclr
LSB MSB
÷g3 Δtg3
LSB MSB
÷e3 Δte3
MSB
LSB
The following design example uses an ALTSOURCE_PROBE instance to update the PLL
parameters in the ALTPLL_RECONFIG IP core cache. The ALTPLL_RECONFIG IP core
connects to an enhanced PLL in a Stratix FPGA to drive the register chain containing
the PLL reconfigurable coefficients. This design example uses a Tcl/Tk script to
generate a GUI where you can enter in new m and n values for the enhanced PLL. The
Tcl script extracts the m and n values from the GUI, shifts the values out to the
ALTSOURCE_PROBE instances to update the values in the ALTPLL_RECONFIG IP core
cache, and asserts the reconfiguration signal on the ALTPLL_RECONFIG IP core. The
reconfiguration signal on the ALTPLL_RECONFIG IP core starts the register chain
transaction to update all PLL reconfigurable coefficients.
fref
E0
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
136
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
This design example was created using a Nios II Development Kit, Stratix Edition. The
file sourceprobe_DE_dynamic_pll.zip contains all the necessary files for running
this design example, including the following:
• Readme.txt—A text file that describes the files contained in the design example
and provides instructions about running the Tk GUI shown in the figure below.
• Interactive_Reconfig.qar—The archived Intel Quartus Prime project for this
design example.
Figure 90. Interactive PLL Reconfiguration GUI Created with Tk and In-System Sources
and Probes Tcl Package
Related Information
On-chip Debugging Design Examples
to download the In-System Sources and Probes Example
2018.05.07 18.0.0 Added details on finding the In-System Sources and Probes in the IP
Catalog.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
137
6. Design Debugging Using In-System Sources and Probes
UG-20139 | 2020.09.28
May 2008 8.0.0 • Documented that this feature does not support simulation on page 17–
5
• Updated Figure 17–8 for Interactive PLL reconfiguration manager
• Added hyperlinks to referenced documents throughout the chapter
• Minor editorial updates
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
138
UG-20139 | 2020.09.28
Send Feedback
Tools
System Console
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Related Information
• Application Note 624: Debugging with System Console over TCP/IP
• White Paper 01208: Hardware in the Loop from the MATLAB/Simulink Environment
• System Console Online Training
You can instantiate debug IP cores using the Intel Quartus Prime software IP Catalog
and parameter editor. Some IP cores are enabled for debug by default, while you can
enable debug for other IP cores through options in the parameter editor. Some debug
agents have multiple purposes.
When you include debug enabled IP cores in your design, you can access large
portions of the design running on hardware for debugging purposes. Debug agents
allow you to read and write to memory and alter peripheral registers from the host
computer.
Services associated with debug agents in the running design can open and close as
you need. System Console determines the communication protocol with the debug
agent. The communication protocol determines the best board connection to use for
command and data transmission.
The Programmable SRAM Object File (.sof) that the Intel Quartus Prime Assembler
generates for programming provides the System Console with channel communication
information. When you open System Console from the Intel Quartus Prime software
GUI, with a project open that includes a .sof, System Console automatically finds
and links to the device(s) it detects. When you open System Console without an open
project, or with an unrelated project open, you can manually load the .sof file that
you want, and then the design linking occurs automatically if the device(s) match.
Related Information
• Available System Debugging Toolkits on page 154
• WP-01170 System-Level Debugging and Monitoring of FPGA Designs
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
140
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
slave Allows the host to access a single slave without • Nios II with debug
needing to know the location of the slave in the • JTAG to Avalon Master Bridge
host's memory map. Any slave that is accessible
• USB Debug Master
to a System Console master can provide this
service. If an SRAM Object File (.sof) is loaded, then
slaves controlled by a debug master provide the
slave service.
JTAG UART The JTAG UART is an Avalon-MM slave device that JTAG UART
you can use in conjunction with System Console
to send and receive byte streams.
Note: The following IP cores in the IP Catalog do not support VHDL simulation generation in
the current version of the Intel Quartus Prime software:
• JTAG Debug Link
• JTAG Hub Controller System
• USB Debug Link
Related Information
Available System Debugging Toolkits on page 154
Related Information
• Starting System Console on page 142
• Launching a Toolkit in System Console on page 152
• System Console Services on page 156
• Running System Console in Command-Line Mode on page 170
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
141
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
On startup, System Console automatically runs the Tcl commands in these files. The
commands in the system_console_rc.tcl file run first, followed by the commands
in the rc_script.tcl file.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
142
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Toolkit Explorer
and System Explorer
Tcl Console
Messages
The System Console GUI also provides the Autosweep, Dashboard, and Eye
Viewer panes, that display as tabs in the Main View.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
143
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
The Main View GUI controls allow you to control or configure the IP on the hardware.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
144
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
If you are using a toolkit, you can add or remove columns from the table in the Main
View. Right-click on the table header and select Edit Columns in the right-click
menu. The Select column headers dialog box is displayed where you can choose to
include more columns, as shown in the following image:
Parameters Pane
The Main View provides the Parameters pane that has two tabs, one for global
parameters (those not associated with a given channel) and another for channel
parameters (those associated with channels). The Channel Parameters tab is filled
with per-channel parameter editors based on channel row selection in the Status
Table, as Figure 100 on page 151 shows.
The Status Table does not appear for toolkits that do not define channels. The
Status Table allows you to view status information across all channels of a collection
or a toolkit instance, as well as execute actions across multiple channels, as Figure
100 on page 151 shows. You can execute bulk actions spanning multiple channels by
selecting desired channels, and right-clicking and exploring the Actions sub-menu.
You can also use the Status Table to select which channel to display in the
Parameters Pane on page 145. The channels you select in the Status Table are shown
in the Parameters Pane. You can use the Pin setting for a channel to display the
channel, regardless of the current selection in the Status Table.
If you decide to develop your own toolkit, you can design the layout and GUI elements
in the Main View using the Toolkit Tcl API. You can also define how each GUI
elements interact with the hardware.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
145
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Related Information
Toolkit Tcl Commands on page 171
You can use the Main View to simultaneously display and control associated TX and
RX pairs:
1. Select both RX and TX channels in the Status Table.
2. Right-click to view the context-sensitive menu.
3. Navigate to the Actions menu.
In the Status Table, links are displayed like any other channel, with the exception
that its parameter list encompasses all parameters from the associated TX and RX
channels. If you create a group with a link and its associated TX and RX instance
channels, the link row in the Status Table populates in all columns. Whereas, for the
independent TX and RX channel rows, only parameters associated to that channel
populate the Status Table.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
146
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Configuring Link
The System Console Autosweep view allows you to define your own quality metrics
for a given Autosweep run.
To save a parameter set for future use, select the parameter set, and then click
Export Settings. To load a collection, click Import Settings.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
147
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Important: Any channel of a particular instance that has parameters currently being swept over in
one Autosweep view cannot have other (or the same) parameters swept over in a
different Autosweep view. For example, if one Autosweep view is currently
sweeping over parameters from InstA | Channel 0, and another Autosweep view
has parameters from InstA | Channel 0, an error is displayed if you attempt to
start the second sweep before the first has completed. This prevents you from
changing more things than are expected from a given run of autosweep.
The Autosweep view allows you to sweep a complex system with parameters spread
across multiple devices visible to System Console. You can select the quality metrics
from instances different from than those you sweep. You can even span levels of the
hardware stack from the PMA-level up to protocol-level signaling.
Results
The Results table is populated with one row per autosweep iteration. For every output
quality metric added in the Output Metrics section, a column for that metric is added
to the Results table, with new row entries added to the bottom. This format allows
sorting the results by quality metric of the system under test, across many
combinations of parameters, to determine which parameter settings achieve best real-
world results.
The Results table allows visualizing or copying the parameter settings associated with
a given case, and sorting by quality metrics. Sort the rows of the table by clicking on
the column headers.
Control
The Control pane of the Autosweep view allows starting an autosweep run, once you
define at least one input parameter and one quality metric. Starting a run, allowing all
combinations to complete, and then pressing the Start button re-runs the same test
case. Pressing the Stop button cancels a currently running autosweep.
The Dashboard provides a line chart, histogram, pie chart, bar graph, and data
history. There is no limit imposed on the number of instances of the Dashboard view
open at once. However, a performance penalty occurs if you update a high number of
parameters at a high frequency simultaneously.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
148
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
The Add Parameter dialog box opens when you click the Add parameter button.
Only those parameters that declare the allows_charting parameter property are
available for selection in the Add Parameter dialog box.
The System Console Eye Viewer allows you to configure, run, and render eye scans.
The Eye Viewer allows independent control of the eye for each different transceiver
instances. System Console allows you to open only one Eye Viewer per-instance
channel pair at any given time. Therefore, there is a one-to-one mapping of a given
Eye Viewer GUI to a given instance of the eye capture hardware on the FPGA. Click
Tools ➤ Eye Viewer to launch the Eye Viewer.
The Eye Viewer controls allows you to configure toolkit-specific settings for the
current Eye Viewer scan. The parameters in the Eye Viewer affect the behavior and
details of the eye scan run.
The Eye Viewer provides Start and Stop controls. The Start button starts the eye
scanning process while the Stop button cancels an incomplete scan
Note: The actual scanning controls, configurations, and metrics shown with the Eye Viewer
vary by toolkit.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
149
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
The eye diagram displays the transceiver eye captured from on-die instrumentation
(ODI) with a color gradient. a map of bit error rate (BER) range to color represents the
gradient, as shown in the legend on the left.
Figure 99. Eye Viewer (E-Tile Transceiver Native PHY Toolkit Example)
Eye Viewer Settings
Eye Diagram
Start/Stop Controls
Eye Parameters
Results Table
The Results table displays results and statistics of all eye scans. While an eye scan is
running, you cannot view any partial result. However, there is a progress bar showing
the current progress of the eye scan underway.
When an eye scan successfully completes, a new entry appears in the Results table,
and that entry automatically gains focus. When you select a given entry in the
Results table, the eye diagram renders the associated eye data. You can right-click in
the Results table to do the following:
• Apply the test case parameters to the device
• Delete an entry
If developing your own toolkit that includes the Eye Viewer, the BER gradient is
configurable, and the eye diagram GUI supports the following features:
• A BER tool-tip for each cell
• Ability to export the map as PNG
• Zoom
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
150
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
IP Instances
Parameters Pane
Note: If you close Toolkit Explorer, you can relaunch it by clicking View ➤ Toolkit
Explorer.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
151
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Additionally, the System Explorer also displays custom toolkit groups and links that
you create. System Explorer organizes the interactive instances according to the
available device connections. The System Explorer contains a Links instance, and
may contain a Files instance. The Links instance shows debug agents (and other
hardware) that System Console can access. The Files instance contains information
about the design files loaded from the Intel Quartus Prime project for the device.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
152
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Debug-Enabled IP
Save or Load Collections
Select Channels
and Open Toolkit
4. In the Toolkit Explorer, click Load Design, and then select the .sof file that
you create in step 2. When you load the design, Toolkit Explorer displays the
debug-enabled IP instances.
5. Select a debug-enabled IP instance. The Details pane displays the channels that
can launch toolkits.
6. To launch a toolkit, select the toolkit under Details. For toolkits with channels, you
can also multi-select, one or more channels from the Details pane. Then, click
Open Toolkit. The toolkit opens in the Main View, and the Collections pane
displays a collection of any channels that you select.
7. To save a collection for future use, right-click the collection, and then click Export
Collection. To load a collection, right-click in the Collections pane, and then click
Import Collection. By default, System Console creates a collection when you
launch a toolkit.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
153
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
EMIF Calibration Debug Toolkit Helps you to debug external memory interfaces by
accessing data during memory calibration. The analysis
tools can evaluate the stability of the calibrated interface • External Memory
and assess hardware conditions. Interfaces Intel Agilex™
FPGA IP User Guide
EMIF Traffic Generator Helps you to debug external memory interfaces by • External Memory
Configuration Toolkit sending sample traffic through the external memory Interfaces Intel Stratix
interface to the memory device. The generated EMIF 10 FPGA IP User Guide
design example includes a traffic generator block with
control and status registers.
EMIF Efficiency Monitor Toolkit Helps you to debug external memory interfaces by • External Memory
measuring efficiency on the Avalon interface in real time. Interfaces Intel Agilex
The generated EMIF design example can include the FPGA IP User Guide
Efficiency Monitor block. • External Memory
Interfaces Intel Stratix
10 FPGA IP User Guide
Ethernet Toolkit Helps you to interact with and debug an Ethernet Intel Ethernet Toolkit User Guide
FPGA IP interface in real time. You can verify the status of
the Ethernet link, assert and deassert IP resets, verifies
the IP error correction capability,
Intel Stratix 10 FPGA P-Tile Helps you to optimize the performance of large-size data Intel FPGA P-Tile Avalon
Toolkit (for PCIe) transfers with real-time control, monitoring, and Memory Mapped IP for PCI
debugging of the PCI Express* links at the Physical, Data Express* User Guide
Link, and Transaction layers.
Serial Lite IV IP Toolkit An inspection tool that monitors the status of a Serial Lite • Serial Lite IV Intel
IV IP link and provides a step-by-step guide for the IP link Agilex FPGA IP Design
initialization sequences. Example User Guide
• Serial Lite IV Intel
Stratix 10 FPGA IP
Design Example User
Guide
The following legacy toolkits remain available by clicking Tools ➤ Legacy Toolkits in
System Console:
Ethernet Link Inspector - Link The Ethernet Link Inspector is an inspection tool that can Ethernet Link
Monitor Toolkit continuously monitor an Ethernet link that contains an Ethernet Inspector User Guide
IP. The Link Monitor toolkit performs real-time status monitoring for Intel Stratix 10
of an Ethernet IP link. The link monitor continuously reads and Devices
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
154
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Ethernet Link Inspector - Link The Link Analysis toolkit displays a sequence of events on an
Analysis Toolkit Ethernet IP link, which occur in a finite duration of time. The
Link Analysis requires the Signal Tap logic analyzer to first
capture and store a database (.csv) of all required signals. The
Link Analysis toolkit then performs an analysis on the database
to extract all the required information and displays them in a
user-friendly graphical user interface (GUI).
S10 SDM Debug Toolkit Provides access to current status of the Intel Stratix 10 device. Intel Stratix 10
To use these commands you must have a valid design loaded Configuration User
that includes the module that you intend to access Guide
Note: Refer to the toolkit documentation for individual toolkit launch, setup, and use
information. The Transceiver Toolkit previously available in the Intel Quartus Prime
software Tools menu is replaced by the Intel Arria 10 and Intel Cyclone 10 GX
Transceiver Native PHY Toolkit.
Related Information
• External Memory Interfaces Intel Agilex FPGA IP User Guide
• External Memory Interfaces Intel Stratix 10 FPGA IP User Guide
• Ethernet Toolkit User Guide
• Intel FPGA P-Tile Avalon memory mapped IP for PCI Express* User Guide
• Ethernet Link Inspector User Guide for Intel Stratix 10 Devices
• Intel Stratix 10 Configuration User Guide
• Serial Lite IV Intel Agilex FPGA IP Design Example User Guide
• Serial Lite IV Intel Stratix 10 FPGA IP Design Example User Guide
System Console add the collections that you create to the Collections pane of the
Toolkit Explorer. You can perform one of the following actions:
• Double-click on a custom-created collection to launch the Main view containing all
of the group’s members.
• Right-click on an existing collection member and select Remove from Collection
to remove the member.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
155
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
To limit the information display, the Filter list allows filtering the display by toolkit
types currently available in the System Console. You can also create custom filters
using groups, for example, “Inst A, Inst F, and Inst Z”, or “E-Tile and L/H-Tile
Transceivers only".
To refine the list of toolkits, use the search field in the Toolkit Explorer to filter the
list further.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
156
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
System Console commands require service paths to identify the service instance you
want to access. The paths for different components can change between runs of
System Console and between versions. Use the get_service_paths command to
obtain service paths.
The string values of service paths change with different releases of the tool. Use the
marker_node_info command to get information from the path.
You can pass additional arguments to the claim_service command to direct System
Console to start accessing a particular portion of a service instance. For example, if
you use the master service to access memory, then use claim_service to only
access the address space between 0x0 and 0x1000. System Console then allows
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
157
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
other users to access other memory ranges, and denies access to the claimed memory
range. The claim_service command returns a newly created service path that you
can use to access your claimed resources.
You can access a service after you open it. When you finish accessing a service
instance, use the close_service command to direct System Console to make this
resource available to other users.
This code attempts to lock the selected SLD node. If it is already locked, sld_lock
waits for the specified timeout. Confirm the procedure returns non-zero before
proceeding. Set the instruction register and capture the previous one:
if {$lock_failed} {
return
}
set instr 7
set delay_us 1000
set capture [sld_access_ir $sld_service_path $instr $delay_us]
The 1000 microsecond delay guarantees that the following SLD command executes at
least 1000 microseconds later. Data register access works the same way.
set data_bit_length 32
set delay_us 1000
set data_bytes [list 0xEF 0xBE 0xAD 0xDE]
set capture [sld_access_dr $sld_service_path $data_bit_length $delay_us \
$data_bytes]
Shift count is specified in bits, but the data content is specified as a list of bytes. The
capture return value is also a list of bytes. Always unlock the SLD node once finished
with the SLD service.
sld_unlock $sld_service_path
Related Information
Virtual JTAG IP Core User Guide
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
158
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
sld_access_ir <claim-path> Shifts the instruction value into the instruction register of the specified
<ir-value> node. Returns the previous value of the instruction.
<delay> (in µs) If the <delay> parameter is non-zero, then the JTAG clock is paused for
this length of time after the access.
sld_access_dr <service-path> Shifts the byte values into the data register of the SLD node up to the size
<size_in_bits> in bits specified.
<delay-in-µs>, If the <delay> parameter is non-zero, then the JTAG clock is paused for at
least this length of time after the access.
<list_of_byte_values>
Returns the previous contents of the data register.
Before you use the ISSP service, ensure your design works in the In-System
Sources and Probes Editor. In System Console, open the service for an ISSP
instance:
set issp_index 0
set issp [lindex [get_service_paths issp] 0]
set claimed_issp [claim_service issp $issp mylib]
The Intel Quartus Prime software reads probe data as a single bitstring of length equal
to the probe width:
set all_probe_data [issp_read_probe_data $claimed_issp]
As an example, you can define the following procedure to extract an individual probe
line's data:
proc get_probe_line_data {all_probe_data index} {
set line_data [expr { ($all_probe_data >> $index) & 1 }]
return $line_data
}
set initial_all_probe_data [issp_read_probe_data $claim_issp]
set initial_line_0 [get_probe_line_data $initial_all_probe_data 0]
set initial_line_5 [get_probe_line_data $initial_all_probe_data 5]
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
159
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
# ...
set final_all_probe_data [issp_read_probe_data $claimed_issp]
set final_line_0 [get_probe_line_data $final_all_probe_data 0]
Similarly, the Intel Quartus Prime software writes source data as a single bitstring of
length equal to the source width:
set source_data 0xDEADBEEF
issp_write_source_data $claimed_issp $source_data
As an example, you can invert the data for a 32-bit wide source by doing the
following:
set current_source_data [issp_read_source_data $claimed_issp]
set inverted_source_data [expr { $current_source_data ^ 0xFFFFFFFF }]
issp_write_source_data $claimed_issp $inverted_source_data
Note: The valid values for ISSP claims include read_only, normal, and exclusive.
issp_get_instance_info <service-path> Returns a list of the configurations of the In-System Sources and Probes
instance, including:
instance_index
instance_name
source_width
probe_width
issp_read_probe_data <service-path> Retrieves the current value of the probe input. A hex string is returned
representing the probe port value.
issp_read_source_data <service-path> Retrieves the current value of the source output port. A hex string is
returned representing the source port value.
issp_write_source_data <service-path> Sets values for the source output port. The value can be either a hex
<source-value> string or a decimal value supported by the System Console Tcl
interpreter.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
160
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
With the first master, read 100 bytes starting at address 0x2000 every 100
milliseconds.
2. Open the monitor service:
set monitor [lindex [get_service_paths monitor] 0]
set claimed_monitor [claim_service monitor $monitor mylib]
Note: If this procedure takes longer than the interval period, the monitor service
may have to skip the next one or more calls to the procedure. In this case,
monitor_read_data returns the latest polled data.
6. Register this callback with the opened monitor service:
set callback [list store_data $claimed_monitor $master $address
$bytes_to_read]
monitor_set_callback $claimed_monitor $callback
7. Use the callback variable to call when the monitor finishes an interval. Start
monitoring:
monitor_set_enabled $claimed_monitor 1
Immediately, the monitor reads the specified ranges from the device and invokes
the callback at the specified interval. Check the contents of
monitor_data_buffer to verify this. To turn off the monitor, use 0 instead of 1
in the above command.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
161
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Under normal load, the monitor service reads the data after each interval and then
calls the callback. If the value you read is timing sensitive, you can use the
monitor_get_read_interval command to read the exact time between the
intervals at which the data was read.
Under heavy load, or with a callback that takes a long time to execute, the monitor
service skips some callbacks. If the registers you read do not have side effects (for
example, they read the total number of events since reset), skipping callbacks has no
effect on your code. The monitor_read_data command and
monitor_get_read_interval command are adequate for this scenario.
If the registers you read have side effects (for example, they return the number of
events since the last read), you must have access to the data that was read, but for
which the callback was skipped. The monitor_read_all_data and
monitor_get_all_read_intervals commands provide access to this data.
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
162
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
You can use the device service with Tcl scripting to perform device programming:
set device_index 0 ; #Device index for target
set device [lindex [get_service_paths device] $device_index]
set sof_path [file join project_path output_files project_name.sof]
device_download_sof $device $sof_path
To program, all you need are the device service path and the file system path to
a .sof. Ensure that no other service (e.g. master service) is open on the target
device or else the command fails. Afterwards, you may do the following to check that
the design linked to the device is the same one programmed:
device_get_design $device
device_download_sof <service_path> Loads the specified .sof to the device specified by the path.
<sof-file-path>
device_get_connections <service_path> Returns all connections which go to the device at the specified path.
device_get_design <device_path> Returns the design this device is currently linked to.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
163
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
When you open System Console from the Intel Quartus Prime software, the current
project's debug information is sourced automatically if the .sof file is present. In
other situations, you can load the .sof manually.
set sof_path [file join project_dir output_files project_name.sof]
set design [design_load $sof_path]
Once a .sof loads, System Console automatically links design information to the
connected device. The link persists and you can unlink or reuse the link on an
equivalent device with the same .sof.
Manually linking fails if the target device does not match the design service.
Linking fails even if the .sof programmed to the target is not the same as the
design .sof.
design_load <quartus- Loads a model of an Intel Quartus Prime design into System
project-path>, Console. Returns the design path.
<sof-file-path>, For example, if your Intel Quartus Prime Project File (.qpf) is in
or <qpf-file- c:/projects/loopback, type the following command:
path> design_load {c:\projects\loopback\}
design_link <design-path> Links an Intel Quartus Prime logical design with a physical device.
<device-service- For example, you can link an Intel Quartus Prime design called
path> 2c35_quartus_design to a 2c35 device. After you create this
link, System Console creates the appropriate correspondences
between the logical and physical submodules of the Intel Quartus
Prime project.
design_extract_debug_files <design-path> Extracts debug files from a .sof to a zip file which can be
<zip-file-name> emailed to Intel FPGA Support for analysis.
You can specify a design path of {} to unlink a device and to
disable auto linking for that device.
design_get_warnings <design-path> Gets the list of warnings for this design. If the design loads
correctly, then an empty list returns.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
164
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
The following code finds the bytestream service for your interface and opens it:
set bytestream_index 0
set bytestream [lindex [get_service_paths bytestream] $bytestream_index]
set claimed_bytestream [claim_service bytestream $bytestream mylib]
To specify the outgoing data as a list of bytes and send it through the opened service:
set payload [list 1 2 3 4 5 6 7 8]
bytestream_send $claimed_bytestream $payload
bytestream_send <service-path> Sends the list of bytes to the specified bytestream service. Values argument is
<values> the list of bytes to send.
bytestream_receive <service-path> Returns a list of bytes currently available in the specified services receive
<length> queue, up to the specified limit. Length argument is the maximum number of
bytes to receive.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
165
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
JTAG Debug commands help debug the JTAG Chain connected to a device.
jtag_debug_loop <service-path> Loops the specified list of bytes through a loopback of tdi
<list_of_byte_val and tdo of a system-level debug (SLD) node. Returns the
ues> list of byte values in the order that they were received. This
command blocks until all bytes are received. Byte values
have the 0x (hexadecimal) prefix and are delineated by
spaces.
jtag_debug_sample_clock <service-path> Returns the clock signal of the system clock that drives the
module's system interface. The clock value is sampled
asynchronously; consequently, you must sample the clock
several times to guarantee that it is switching.
jtag_debug_sample_reset <service-path> Returns the value of the reset_n signal of the Avalon-ST
JTAG Interface core. If reset_n is low (asserted), the value
is 0 and if reset_n is high (deasserted), the value is 1.
jtag_debug_sense_clock <service-path> Returns a sticky bit that monitors system clock activity. If
the clock switched at least once since the last execution of
this command, returns 1. Otherwise, returns 0.. The sticky
bit is reset to 0 on read.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
166
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Note: The DSP Builder for Intel FPGAs installation bundle includes the System Console
MATLAB API.
Related Information
Hardware in the Loop from the MATLAB Simulink Environment white paper
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
167
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Note: The instructions for these examples assume that you are familiar with the Intel
Quartus Prime software, Tcl commands, and Platform Designer.
Related Information
On-Chip Debugging Design Examples Website
Contains the design files for the example designs that you can download.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
168
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
6. Using Nios II Software Build Tools for Eclipse, create a new Nios II Application and
BSP from Template using the Count Binary template and targeting the Nios II
Ethernet Standard Design Example.
7. To build the executable and linkable format (ELF) file (.elf) for this application,
right-click the Count Binary project and select Build Project.
8. Download the .elf file to your board by right-clicking Count Binary project and
selecting Run As, Nios II Hardware.
• The LEDs on your board provide a new light show.
9. Type the following:
system-console; #Start System Console.
Related Information
• Nios II Ethernet Standard Design Example
• Nios II Gen2 Software Developer's Handbook
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
169
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
processor_download_elf <service-path> Downloads the given Executable and Linking Format File
<elf-file-path> (.elf) to memory using the master service associated with the
processor. Sets the processor's program counter to the .elf
entry point.
processor_get_register_names <service-path> Returns a list with the names of all of the processor's accessible
registers.
Related Information
Nios II Processor Example on page 168
System Console provides command completion if you type the beginning letters of a
command and then press the Tab key.
(1) If your system includes a Nios II/f core with a data cache, it may complicate the debugging
process. If you suspect the Nios II/f core writes to memory from the data cache at
nondeterministic intervals; thereby, overwriting data written by the System Console, you can
disable the cache of the Nios II/f core while debugging.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
170
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
171
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
boolean stop_requested
7.10.1.1. add_channel
Description
This adds a channel to your toolkit.
Usage
add_channel <channel-name> <channel-type>
ReturnType
Nothing
Returns
no return value
Arguments
Example
add_channel "Channel 0" OTHER
Related Information
• get_channel_property on page 179
• set_channel_property on page 184
7.10.1.2. add_display_item
Description
This command adds a display item to the toolkit.
Usage
add_display_item <parent-group> <id> <type> [<args>]
ReturnType
Nothing
Returns
no return value
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
172
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Arguments
type Type of this display item this can be ACTION, GROUP, ICON, PARAMETER, TEXT,
DIAL, or LED
Example
add_display_item "Timing" read_latency PARAMETER
add_display_item "Sounds" speaker_image_id ICON speaker.jpg
Related Information
• get_display_hint on page 180
• get_display_item_property on page 180
• set_display_hint on page 186
• set_display_item_property on page 186
7.10.1.3. add_parameter
Description
This command adds a new parameter to this toolkit.
Usage
add_parameter <name> <type> [<value> <description>]
ReturnType
Nothing
Returns
no return value
Arguments
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
173
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Example
add_parameter myparam INTEGER 1
Related Information
• get_parameter_value on page 182
• set_parameter_property on page 188
• set_parameter_value on page 190
7.10.1.4. add_requirement
Description
Define a requirement of a specific type.
Usage
add_requirement <req-id> <req-type>
ReturnType
Nothing
Returns
no return value
Arguments
Example
add_requirement req1 SYSTEM
Related Information
set_requirement_property on page 190
7.10.1.5. add_timed_callback
Description
Used to add a callback procedure that is called at a fixed timed interval (in
milliseconds). Interval has an allowed range of 500 - 60000. These callbacks execute
sequentially, and when added, are scheduled to execute at the next available time
slot.
Usage
add_timed_callback <proc> <interval>
ReturnType
Nothing
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
174
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Returns
no return value
Arguments
proc The name of the callback tcl proc that will be called when the timed callback
triggers.
interval The length of time between callback triggers. This time is in milliseconds.
Example
add_timed_callback my_timed_callback 500
Related Information
remove_timed_callback on page 183
7.10.1.6. get_accessible_module
Description
Retrieve the IP targeted by the specified requirement. There is always only one such
IP. Nothing is returned if the requirement is not an IP or OPTIONAL_IP requirement. To
retrieve IP(s) that matches under a SYSTEM requirement, see
get_accessible_modules.
Usage
get_accessible_module [-hpath <hpath>] [-module_name <module-name>] [-
version <version>] <req-id>
ReturnType
String
Returns
Module path
Arguments
req-id Requirement ID
Example
get_accessible_module req1
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
175
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Related Information
• get_accessible_modules on page 176
• get_accessible_service on page 177
• get_accessible_services on page 177
• get_accessible_system on page 178
7.10.1.7. get_accessible_modules
Description
For IP/OPTIONAL_IP requirement, retrieve the only IP targeted by the specified
requirement. For SYSTEM requirement, retrieve the IPs that match IPS/OPTIONAL_IPS
sub-requirement.
Usage
get_accessible_modules [-hpath <hpath>] [-module_name <module-name>] [-
version <version>] <req-id>
ReturnType
String[]
Returns
A list of module paths
Arguments
req-id Requirement ID
Example
get_accessible_modules req1
Related Information
• get_accessible_module on page 175
• get_accessible_service on page 177
• get_accessible_services on page 177
• get_accessible_system on page 178
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
176
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
7.10.1.8. get_accessible_service
Description
Retrieve the service targeted by the specified requirement. There is always only one
such service. Nothing is returned if the requirement is not a SERVICE requirement. To
retrieve service(s) that matches under a SYSTEM/IP/OPTIONAL_IP requirement or
IPS/OPTIONAL_IPS sub-requirement, see get_accessible_services.
Usage
get_accessible_service [-hpath <hpath>] [-type <type>] [-agent_type_name
<agent-type-name>] <req-id>
ReturnType
String
Returns
Service path
Arguments
req-id Requirement ID
Example
get_accessible_service req1
Related Information
• get_accessible_module on page 175
• get_accessible_modules on page 176
• get_accessible_services on page 177
• get_accessible_system on page 178
7.10.1.9. get_accessible_services
Description
For SERVICE requirement, retrieve the only service targeted by the specified
requirement. For IP/OPTIONAL_IP requirement, retrieve the services that match the
SERVICES/OPTIONAL_SERVICES sub-requirement. For SYSTEM requirement, retrieve
the services that match the SERVICES/OPTIONAL_SERVICES sub-requirement or
SERVICES/OPTIONAL_SERVICES sub-sub-requirement under the IPS/OPTIONAL_IPS
sub-requirement.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
177
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Usage
get_accessible_services [-hpath <hpath>] [-type <type>] [-agent_type_name
<agent-type-name>] <req-id>
ReturnType
String[]
Returns
A list of service paths
Arguments
req-id Requirement ID
Example
get_accessible_services req1
Related Information
• get_accessible_module on page 175
• get_accessible_modules on page 176
• get_accessible_service on page 177
• get_accessible_system on page 178
7.10.1.10. get_accessible_system
Description
Retrieve the system targeted by the specified requirement. There is always only one
such system. Nothing is returned if the requirement is not a SYSTEM requirement.
Usage
get_accessible_system [-hpath <hpath>] [-design_id <design-id>] <req-id>
ReturnType
String
Returns
System path
Arguments
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
178
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
req-id Requirement ID
Example
get_accessible_system req1
Related Information
• get_accessible_module on page 175
• get_accessible_modules on page 176
• get_accessible_service on page 177
• get_accessible_services on page 177
7.10.1.11. get_channel_display_group
Description
This command returns the associated display group for a given channel's display area.
Usage
get_channel_display_group <channel>
ReturnType
String
Returns
Associated channel display group name.
Arguments
Example
set my_chan_display_group [ get_channel_display_group "Channel 0" ]
7.10.1.12. get_channel_property
Description
Retrieves a property of the channel.
Usage
get_channel_property <channel-name> <property>
ReturnType
various
Returns
The channel property matching the specified channel property type.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
179
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Arguments
Example
get_channel_property "Channel_0" SUPPORTS_EYE
Related Information
• add_channel on page 172
• set_channel_property on page 184
7.10.1.13. get_display_hint
Description
Retrieve the value of a display hint from a specified display item.
Usage
get_display_hint <id> <display-hint>
ReturnType
String
Returns
Returns the value of the display hint.
Arguments
Example
set file_loc [ get_display_hint my_disp_item FILE ]
Related Information
• add_display_item on page 172
• get_display_item_property on page 180
• set_display_hint on page 186
• set_display_item_property on page 186
7.10.1.14. get_display_item_property
Description
Retrieves a property of a display item.
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
180
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Usage
get_display_item_property <id> <display-item-property>
ReturnType
various
Returns
Returns the value of the display item's property.
Arguments
Example
set my_label [get_display_item_property my_action DISPLAY_NAME]
Related Information
• add_display_item on page 172
• get_display_hint on page 180
• set_display_hint on page 186
• set_display_item_property on page 186
7.10.1.15. get_eye_viewer_display_group
Description
This command returns the associated display group for a given channel's eye viewer
display area.
Usage
get_eye_viewer_display_group <channel>
ReturnType
String
Returns
Associated eye view display group name.
Arguments
Example
set my_eye_display_group [ get_eye_viewer_display_group "Channel 0" ]
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
181
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
7.10.1.16. get_parameter_property
Description
This command returns the property value of a specific parameter.
Usage
get_parameter_property <name> <property>
ReturnType
various
Returns
The value of the property.
Arguments
Example
set param_default [ get_parameter_property myparam DEFAULT_VALUE ]
Related Information
• add_parameter on page 173
• get_parameter_value on page 182
• set_parameter_property on page 188
• set_parameter_value on page 190
7.10.1.17. get_parameter_value
Description
This command returns the current value of a parameter definedpreviously with the
add_parameter command.
Usage
get_parameter_value <name>
ReturnType
String
Returns
The value of the parameter.
Arguments
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
182
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Example
set myvar [ get_parameter_value myparam ]
Related Information
• add_parameter on page 173
• get_parameter_property on page 182
• set_parameter_property on page 188
• set_parameter_value on page 190
7.10.1.18. get_toolkit_property
Description
This command retrieves the value of a single toolkit property.
Usage
get_toolkit_property <prop>
ReturnType
String
Returns
Toolkit property value.
Arguments
Example
set tk_display_name [ get_toolkit_property DISPLAY_NAME ]
Related Information
set_toolkit_property on page 191
7.10.1.19. remove_timed_callback
Description
This command removes previously added timed callbacks. The removal of these timed
callbacks removes them from being scheduled.
Usage
remove_timed_callback <proc>
ReturnType
Nothing
Returns
no return value
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
183
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Arguments
Example
add_timed_callback my_timed_callback 500
remove_timed_callback my_timed_callback
Related Information
add_timed_callback on page 174
7.10.1.20. send_message
Description
Send a message that will be displayed in the message window.
Usage
send_message <level> <message>
ReturnType
Nothing
Returns
no return value
Arguments
level The following message levels are supported: * ERROR: Provides an error
message * WARNING: Provides a warning message * INFO: Provides an
informational message * DEBUG: Provides a debug message when debug mode
is enabled
Example
send_message ERROR "The system is down!"
7.10.1.21. set_channel_property
Description
This command sets a channel's property.
Usage
set_channel_property <channel-name> <property> <property-value>
ReturnType
Nothing
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
184
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Returns
no return value
Arguments
Example
set_channel_property "Channel 0" SUPPORTS_EYE true
Related Information
• add_channel on page 172
• get_channel_property on page 179
7.10.1.22. set_current_progress
Description
This command is used to set the current progress bar value. By default, this value is
set to 0 for 0%.
Usage
set_current_progress <progress>
ReturnType
Nothing
Returns
no return value
Arguments
Example
set_current_progress 0
set prog_max 100
set_current_progress $curr_prog
}
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
185
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
7.10.1.23. set_display_hint
Description
This command configures a display hint value for a specified display item.
Usage
set_display_hint <id> <display-hint> <value>
ReturnType
Nothing
Returns
no return value
Arguments
Example
set_display_hint blocking_action NON_BLOCKING false
Related Information
• add_display_item on page 172
• get_display_hint on page 180
• get_display_item_property on page 180
• set_display_item_property on page 186
7.10.1.24. set_display_item_property
Description
Set a property of a display item
Usage
set_display_item_property <id> <display-property> <display-property-value>
ReturnType
Nothing
Returns
no return value
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
186
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Arguments
Example
set_display_item_property my_action DISPLAY_NAME "Click Me"
Related Information
• add_display_item on page 172
• get_display_hint on page 180
• get_display_item_property on page 180
• set_display_hint on page 186
7.10.1.25. set_eye_data
Description
This command sets the eye data to plot in the eye viewer's heat map graph diagram.
Usage
set_eye_data <rows>
ReturnType
Nothing
Returns
no return value
Arguments
rows Eye data expressed as a list of lists. Each inner list corresponds to a displayed
row in the heat map. The number of elements inside each inner list define the
number of columns in the map. The value of these elements define the color
intensity of each cell in the heat map.
Example
# The following example draws a dummy eye
set eye_data_str {}
lappend eye_data_str [list 1 1 1 1 1 1 1 1 1 1 ]
lappend eye_data_str [list 1 0.9 0.03 0.004 0.0002 0.0002 0.004 0.03 0.9 1 ]
lappend eye_data_str [list 1 0.05 0.0003 0.000004 0.00000002 0.00000002
0.000004 0.0003 0.05 1 ]
lappend eye_data_str [list 1 0.0005 0.000003 0.00000002 0 0 0.00000002 0.000003
0.0005 1 ]
lappend eye_data_str [list 1 0.05 0.0003 0.000004 0.00000002 0.00000002
0.000004 0.0003 0.9 1 ]
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
187
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
lappend eye_data_str [list 1 0.9 0.03 0.004 0.0002 0.0002 0.004 0.03 0.9 1 ]
lappend eye_data_str [list 1 1 1 1 1 1 1 1 1 1 ]
set_eye_data $eye_data_str
7.10.1.26. set_eye_property
Description
This command sets a single property that controls the eye viewer layout.
Usage
set_eye_property <property> <value>
ReturnType
Nothing
Returns
no return value
Arguments
Example
set_eye_property x_step 2
7.10.1.27. set_parameter_property
Description
This command sets a single parameter property.
Usage
set_parameter_property <name> <property> <value>
ReturnType
Nothing
Returns
no return value
Arguments
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
188
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Example
set_parameter_value myparam 10
Related Information
• add_parameter on page 173
• get_parameter_property on page 182
• get_parameter_value on page 182
• set_parameter_value on page 190
7.10.1.28. set_parameter_update_callback
Description
This command sets a tcl callback procedure for a parameter.This callback is called
whenever the associated parameter value changes.The callback_proc will receive a
single argument. If <optional_argument> is specified,the value of the argument to the
callback <optional_argument> is used.Otherwise, the argument value will be the
name of the parameter that was changed.This command allows one callback
procedure to handle updates for multiple parameters.
Usage
set_parameter_update_callback <name> <callback> [<opt-arg>]
ReturnType
Nothing
Returns
no return value
Arguments
Example
set_parameter_update_callback p1 p1_ui_tweak
proc p1_ui_tweak {arg} {
set p1 [get_parameter_value $arg]
set_parameter_value p2 [ expr $p1 / 4 ]
}
set_parameter_update_callback p2 ui_tweak Context1
set_parameter_update_callback p3 ui_tweak Context2
set_parameter_update_callback p4 ui_tweak Context2
proc ui_tweak {arg} {
if {$arg eq "Context1"} {
set_parameter_value p1 0
}
if {$arg eq "Context2"} {
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
189
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
set_parameter_value p1 1
}
}
7.10.1.29. set_parameter_value
Description
This command sets a parameters value.
Usage
set_parameter_value <name> <value>
ReturnType
Nothing
Returns
no return value
Arguments
Example
set_parameter_value myparam 10
Related Information
• add_parameter on page 173
• get_parameter_property on page 182
• get_parameter_value on page 182
• set_parameter_property on page 188
7.10.1.30. set_requirement_property
Description
Set the property of a specific requirement.
Usage
set_requirement_property <req-id> <property-name> <property-values>
ReturnType
Nothing
Returns
no return value
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
190
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Arguments
req-id Requirement ID
Example
set_requirement_property req1 MODULE_NAME altera_xcvr_native_s10_etile
Related Information
add_requirement on page 174
7.10.1.31. set_toolkit_property
Description
This command set set one of the toolkit's properties.
Usage
set_toolkit_property <prop> <value>
ReturnType
Nothing
Returns
no return value
Arguments
Example
set_toolkit_property DISPLAY_NAME { My Toolkit }
Related Information
get_toolkit_property on page 183
7.10.1.32. stop_requested
Description
This command is used in defined callbacks to detect and respond to an early exit.
Altera Internal
This is for internal Altera use only.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
191
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
Usage
stop_requested
ReturnType
boolean
Returns
No return value.
Arguments
no arguments
Example
set early_exit_status [ stop_requested ]
2020.09.28 20.3 • Revised "Introduction to System Console" wording and block diagram.
• Revised "Starting System Console" to consolidate all methods.
• Revised "Toolkit Explorer Pane" to refer to launching toolkits.
• Revised "Autosweep View" to account for use with or without toolkit
and export and import of settings.
• Added new "Launching a Toolkit in System Console" topic.
• Added new "Available System Debugging Toolkits" topic.
• Added new Toolkit Tcl Commands section.
• Reordered some topics and updated outdated screenshots.
2019.09.30 19.3 Made the following updates in the Analyzing and Debugging Designs with
System Console chapter:
• Updated System Console GUI and System Explorer Pane topics to
describe the new framework.
• Added the following new topics to describe various panes and views
added to the System Console:
— System Console Default Panes
— Toolkit Explorer Pane
— Filtering and Searching Interactive Instances
— Creating Collections from the Toolkit Explorer
— System Console Views
— Main View
— Link Pair View
— Autosweep View
— Dashboard View
— Eye View
• Removed Working with Toolkit section completely since it was now
outdated due to the implementation of new System Console
framework.
2018.05.07 18.0.0 Removed obsolete section: Board Bring-Up with System Console Tutorial.
continued...
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
192
7. Analyzing and Debugging Designs with System Console
UG-20139 | 2020.09.28
2017.05.08 17.0.0 • Created topic Convert your Dashboard Scripts to Toolkit API.
• Removed Registering the Service Example from Toolkit API Script
Examples, and added corresponding code snippet to Registering a
Toolkit.
• Moved .toolkit Description File Example under Creating a Toolkit
Description File.
• Renamed Toolkit API GUI Example .toolkit File to .toolkit Description
File Example.
• Updated examples on Toolkit API to reflect current supported syntax.
May 2015 15.0.0 Added information about how to download and start System Console
stand-alone.
December 2014 14.1.0 • Added overview and procedures for using ADC Toolkit on MAX 10
devices.
• Added overview for using MATLAB/Simulink Environment with System
Console for system verification.
June 2014 14.0.0 Updated design examples for the following: board bring-up, dashboard
service, Nios II processor, design service, device service, monitor service,
bytestream service, SLD service, and ISSP service.
November 2013 13.1.0 Re-organization of sections. Added high-level information with block
diagram, workflow, SLD overview, use cases, and example Tcl scripts.
June 2013 13.0.0 Updated Tcl command tables. Added board bring-up design example.
Removed SOPC Builder content.
August 2012 12.0.1 Moved Transceiver Toolkit commands to Transceiver Toolkit chapter.
June 2012 12.0.0 Maintenance release. This chapter adds new System Console features.
November 2011 11.1.0 Maintenance release. This chapter adds new System Console features.
May 2011 11.0.0 Maintenance release. This chapter adds new System Console features.
December 2010 10.1.0 Maintenance release. This chapter adds new commands and references for
Qsys.
July 2010 10.0.0 Initial release. Previously released as the System Console User Guide,
which is being obsoleted. This new chapter adds new commands.
Send Feedback Intel Quartus Prime Pro Edition User Guide: Debug Tools
193
UG-20139 | 2020.09.28
Send Feedback
19.3 Intel Quartus Prime Pro Edition User Guide Debug Tools
18.1 Intel Quartus Prime Pro Edition User Guide Debug Tools
18.0 Intel Quartus Prime Pro Edition User Guide Debug Tools
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
UG-20139 | 2020.09.28
Send Feedback
Related Information
• Intel Quartus Prime Pro Edition User Guide: Getting Started
Introduces the basic features, files, and design flow of the Intel Quartus Prime
Pro Edition software, including managing Intel Quartus Prime Pro Edition
projects and IP, initial design planning considerations, and project migration
from previous software versions.
• Intel Quartus Prime Pro Edition User Guide: Platform Designer
Describes creating and optimizing systems using Platform Designer, a system
integration tool that simplifies integrating customized IP cores in your project.
Platform Designer automatically generates interconnect logic to connect
intellectual property (IP) functions and subsystems.
• Intel Quartus Prime Pro Edition User Guide: Design Recommendations
Describes best design practices for designing FPGAs with the Intel Quartus
Prime Pro Edition software. HDL coding styles and synchronous design
practices can significantly impact design performance. Following recommended
HDL coding styles ensures that Intel Quartus Prime Pro Edition synthesis
optimally implements your design in hardware.
• Intel Quartus Prime Pro Edition User Guide: Design Compilation
Describes set up, running, and optimization for all stages of the Intel Quartus
Prime Pro Edition Compiler. The Compiler synthesizes, places, and routes your
design before generating a device programming file.
• Intel Quartus Prime Pro Edition User Guide: Design Optimization
Describes Intel Quartus Prime Pro Edition settings, tools, and techniques that
you can use to achieve the highest design performance in Intel FPGAs.
Techniques include optimizing the design netlist, addressing critical chains that
limit retiming and timing closure, optimizing device resource usage, device
floorplanning, and implementing engineering change orders (ECOs).
• Intel Quartus Prime Pro Edition User Guide: Programmer
Describes operation of the Intel Quartus Prime Pro Edition Programmer, which
allows you to configure Intel FPGA devices, and program CPLD and
configuration devices, via connection with an Intel FPGA download cable.
• Intel Quartus Prime Pro Edition User Guide: Block-Based Design
Describes block-based design flows, also known as modular or hierarchical
design flows. These advanced flows enable preservation of design blocks (or
logic that comprises a hierarchical design instance) within a project, and reuse
of design blocks in other projects.
Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,
Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or
other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in ISO
accordance with Intel's standard warranty, but reserves the right to make changes to any products and services 9001:2015
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel
customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
A. Intel Quartus Prime Pro Edition User Guides
UG-20139 | 2020.09.28
Intel Quartus Prime Pro Edition User Guide: Debug Tools Send Feedback
196