Ug Qps Debug
Ug Qps Debug
Contents
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
2
Contents
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
3
Contents
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
4
Contents
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
5
Contents
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
6
UG-20182 | 2018.09.24
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 • Provides real-time in-system debugging You need to perform system-level debugging.
capabilities. For example, if you have an Avalon®-MM slave
• Allows you to read from and write to Memory or Avalon-ST interfaces, you can debug the
Mapped components in a system without a design at a transaction level.
processor or additional software
• Communicates with hardware modules in a
design through a Tcl interpreter.
• Allows you to take advantage of all the features
of the Tcl scripting language.
• Supports JTAG and TCP/IP connectivity.
Transceiver • Allows you to test and tune transceiver link You need to debug or optimize signal integrity
Toolkit signal quality through a combination of metrics. of a board layout even before finishing the
• Auto Sweeping of physical medium attachment design.
(PMA) settings help you find optimal parameter
values.
Signal Tap logic • Uses FPGA resources. You have spare on-chip memory and you want
analyzer • Samples test nodes, and outputs the information functional verification of a design running in
to the Intel Quartus Prime software for display hardware.
and analysis.
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-20182 | 2018.09.24
Signal Probe Incrementally routes internal signals to I/O pins You have spare I/O pins and you want to check
while preserving results from the last place-and- the operation of a small set of control pins
routed design. using either an external logic analyzer or an
oscilloscope.
Logic Analyzer • Multiplexes a larger set of signals to a smaller You have limited on-chip memory and a large
Interface (LAI) number of spare I/O pins. set of internal data buses to verify using an
• Allows you to select which signals switch onto external logic analyzer. Logic analyzer vendors,
the I/O pins over a JTAG connection. such as Tektronics* and Agilent*, provide
integration with the tool to improve usability.
In-System Provides an easy way to drive and sample logic You want to prototype the FPGA design using a
Sources and values to and from internal nodes using the JTAG front panel with virtual buttons.
Probes interface.
In-System Displays and allows you to edit on-chip memory. You want to view and edit the contents of on-
Memory Content chip memory that is not connected to a Nios®
Editor 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 interface You want to communicate with custom signals
Interface so that you can develop custom applications. in your design.
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...
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
8
1. System Debugging Tools Overview
UG-20182 | 2018.09.24
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 — X Signal Probe and Signal Tap do not require a host for
Required debugging purposes.
A FPGA design with the LAI requires 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.
2. Valid when you use incremental compilation.
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
Transceiver Toolkit
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
9
1. System Debugging Tools Overview
UG-20182 | 2018.09.24
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.
Signal Tap
Logic Analyzer Interface
Signal Probe
Related Information
• Design Debugging with the Signal Tap Logic Analyzer on page 145
• In-System Debugging Using External Logic Analyzers on page 221
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
10
1. System Debugging Tools Overview
UG-20182 | 2018.09.24
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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
11
1. System Debugging Tools Overview
UG-20182 | 2018.09.24
Both the LAI and Signal Tap logic analyzer support incremental compilation. With
incremental compilation, you can add a Signal Tap logic analyzer instance or an LAI
instance incrementally into your placed-and-routed design. This has the benefit of
both preserving your timing and area optimizations from your existing design, and
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
12
1. System Debugging Tools Overview
UG-20182 | 2018.09.24
decreasing the overall compilation time when any changes are necessary during the
debugging process. With incremental compilation, you can save up to 70% compile
time of a full compilation.
Related Information
• Application Note 624: Debugging with System Console over TCP/IP
• Application Note 693: Remote Debugging over TCP/IP for Intel FPGA SoC
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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
13
1. System Debugging Tools Overview
UG-20182 | 2018.09.24
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 233
Related Information
• Toolkit API on page 38
• Signal Tap Scripting Support on page 216
Related Information
In-System Modification of Memory and Constants on page 229
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
14
1. System Debugging Tools Overview
UG-20182 | 2018.09.24
Related Information
Analyzing and Debugging Designs with System Console on page 17
Related Information
• Virtual JTAG (altera_virtual_jtag) IP Core User Guide
• Virtual JTAG Interface (VJI) Intel FPGA IP
In Intel Quartus Prime Help
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
15
1. System Debugging Tools Overview
UG-20182 | 2018.09.24
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 System-Level Debugging Hub
manages the sharing of JTAG resources.
Note: For System Console, you explicitly insert debug IP cores into the design to enable
debugging.
2018.09.24 18.1.0 • Initial release in Intel Quartus Prime Standard Edition User Guide.
2018.05.07 18.0.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.0 • Combined Altera JTAG Interface and Required Arbitration Logic topics
into a new updated topic named System-Level Debugging
Infrastructure.
June 2014 14.0.0 Added information that System Console supports the Tk toolkit.
November 2013 13.1.0 Dita conversion. Added link to Remote Debugging over TCP/IP for Altera
SoC Application Note.
Related Information
Documentation Archive
For previous versions of the Intel Quartus Prime Handbook, search the
documentation archives.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
16
UG-20182 | 2018.09.24
Send Feedback
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. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Transceiver Tools
Tcl Console ADC Toolkit Bus Analyzer EMIF Toolkit Toolkit API
Debug Toolkit
System Console
Nios II with
JTAG Debug
Note: Use debug links to connect the host to the target you are debugging.
Related Information
• Introduction to Intel Memory Solution
In External Memory Interface Handbook Volume 1
• Debugging Transceiver Links on page 91
• Application Note 693: Remote Hardware Debugging over TCP/IP for Intel SoC
• 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
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
18
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
You instantiate debug IP cores using the Platform Designer (Standard) IP Catalog.
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 use IP cores with embedded debug in your design, you can make large
portions of the design accessible. 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
needed. 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) provides the System Console with
channel communication information. When System Console opens in the Intel Quartus
Prime software or Platform Designer (Standard) while your design is open, any
existing .sof is automatically found and linked to the detected running device. In a
complex system, you may need to link the design and device manually.
Related Information
WP-01170 System-Level Debugging and Monitoring of FPGA Designs
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.
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
19
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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
• SLD Hub Controller System
• USB Debug Link
Related Information
• System Console Examples and Tutorials on page 84
• System Console Commands on page 23
Related Information
Intel Download Center
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
20
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
21
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
22
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
The Devices folder contains a sub-folder for each device connected to the System
Console. Each device sub-folder contains a (link) folder, and may contain a (files)
folder. The (link) folder shows debug agents (and other hardware) that System
Console can access. The (files) folder contains information about the design files
loaded from the Intel Quartus Prime project for the device.
• Folders with a context menu display a context menu icon. Right-click these folders
to view the context menu. For example, the Connections folder above shows a
context menu icon.
• Folders that have messages display a message icon. Mouse-over these folders to
view the messages. For example, the Scripts folder in the example has a
message icon.
• Debug agents that sense the clock and reset state of the target show an
information or error message with a clock status icon. The icon indicates whether
the clock is running (information, green), stopped (error, red), or running but in
reset (error, red). For example, the trace_system_jtag_link.h2t folder in the
figure has a running clock.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
23
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Note: For all Tcl commands, the <format> argument must come first.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
24
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
add_service tcp • <instance name> Allows you to connect to a TCP/IP port that
• <ip_addr> provides a debug link over ethernet. See AN693
(Remote Hardware Debugging over TCP/IP for
• <port_number>
Intel FPGA SoC) for more information.
Related Information
Remote Hardware Debugging over TCP/IP for SoC Devices
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
25
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
System Console provides command completion if you type the beginning letters of a
command and then press the Tab key.
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
26
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Example 2. Marker_node_info
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
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
}
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
27
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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
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
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]
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
28
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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]
# ...
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
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
29
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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.
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]
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
30
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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.
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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
31
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Example 8. Programming
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
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
32
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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.
Example 9. Load
When you open System Console from the Intel Quartus Prime software or Platform
Designer (Standard), the current project's debug information is sourced automatically
if the .sof has been built. In other situations, you can load manually.
set sof_path [file join project_dir output_files project_name.sof]
set design [design_load $sof_path]
System Console is now aware that this particular .sof has been loaded.
Once a .sof is loaded, System Console automatically links design information to the
connected device. The resultant link persists and you can choose to 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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
33
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
design_load <quartus- Loads a model of a 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 a Intel Quartus Prime logical design with a physical device.
<device-service- For example, you can link a 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.
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
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
34
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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.
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.
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
35
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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.
Toolkits you create with the Toolkit API require the following files:
• XML file that describes the toolkit (.toolkit file).
• Tcl file that implements the toolkit GUI.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
36
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
addMenuItem Whether the System Console Tools ➤ Toolkits menu displays the toolkit.
icon Path to icon to display as the toolkit launcher button in System Console
Note: The .png 64x64 format is preferred. If the icon does not take up the whole
space, ensure that the background is transparent.
requirement If the toolkit works with a particular type of hardware, this attribute specifies the
debug type name of the hardware. This attribute enables automatic discovery of the
toolkit.
The syntax of a toolkit's debug type name is:
• Name of the hw.tcl component.
• dot.
• Name of the interface within that component which the toolkit uses.
For example: <hw.tcl name>.<interface name>.
Related Information
Matching Toolkits with IP Cores on page 38
toolkit_register <toolkit_file>
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
37
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
toolkit_open <.toolkit_file_name>
You can launch a toolkit in the context of a hardware resource associated with a toolkit
type. If you use the command:
toolkit_open <toolkit_name> <context>
the toolkit Tcl can retrieve the context by typing
set context [toolkit_get_context]
Related Information
toolkit_get_context on page 49
• Create debug assignments in the hw.tcl for an IP core. hw.tcl files are
available when you load the design in System Console.
• System Console discovers debug markers from identifiers in the hardware and
associates with IP, without direct knowledge of the design.
Properties
Widget properties can push and pull information to the user interface. Widgets have
properties specific to their type. For example, when you click a button, the button
property onClick performs an action. A label widget does not have the same
property, because the widget does not perform an action on click operation. However,
both the button and label widgets have the text property to display text strings.
Layout
The Toolkit API service creates a widget hierarchy where the toolkit is at the top-level.
The service implements group-type widgets that contain child widgets. Layout
properties dictate layout actions that a parent performs on its children. For example,
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
38
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
the expandableX property when set as True, expands the widget horizontally to
encompass all of the available space. The visible property when set as True allows
a widget to display in the GUI.
User Input
Some widgets allow user interaction. For example, the textField widget is a text
box that allows user entries. Access the contents of the box with the text property. A
Tcl script can either get or set the contents of the textField widget with the text
property.
Callbacks
The following commands add a label widget my_label to the root toolkit. In the GUI,
the label appears as Widget Label.
set name "my_label"
set content "Widget Label"
toolkit_add $name label all
toolkit_set_property $name text $content
In the GUI, the displayed text changes to the new value. Add one more label:
toolkit_add my_label_2 label all
toolkit_set_property my_label_2 text "Another label"
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
39
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
To place the new label under the first, use the following command:
toolkit_set_property self itemsPerRow 1
2. The widget size is very small. To make the widget fill the horizontal space, use the
following command:
toolkit_set_property my_text_field expandableX true
3. Now, the text field is fully visible. You can type text into the field, on clicking. To
retrieve the contents of the field, use the following command:
set content [toolkit_get_property my_text_field text]
puts $content
When you use callbacks, the Toolkit API can also perform actions without interactive
typing:
1. Start by defining a procedure that updates the first label with the text field
contents:
proc update_my_label_with_my_text_field{
set content [toolkit_get_property my_text_field text]
toolkit_set_property my_label text $content
}
The Toolkit executes the onChange property each time the text field changes. The
execution of this property changes the first field to match what you type.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
40
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
The property itemsPerRow dictates the laying out of widgets in a group. For more
complicated layouts where the number of widgets per row is different, use nested
groups. To add a new group with more widgets per row:
toolkit_add my_inner_group group all
toolkit_set_property my_inner_group itemsPerRow 2
toolkit_add inner_button_1 button my_inner_group
toolkit_add inner_button_2 button my_inner_group
These commands create a row with a group of two buttons. To make the nested group
more seamless, remove the border with the group name using the following
commands:
toolkit_set_property my_inner_group title ""
You can set the title property to any other string to ensure the display of the border
and title text.
These commands add a set of two tabs, each with a group containing a label. Clicking
on the tabs changes the displayed group/label.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
41
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
42
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Generated GUI
When you insert text in the Send Data field and click Launch, the text appears in
the Receive Data field.
Related Information
Creating a Toolkit Description File on page 36
variable ledValue 0
variable dashboardActive 0
variable Switch_off 1
proc sendText {} {
set sendText [toolkit_get_property sendTextText text]
toolkit_set_property receiveTextText text $sendText
}
proc dashBoard {} {
if { ${::Test::dashboardActive} == 1 } {
return -code ok "dashboard already active"
}
set ::Test::dashboardActive 1
#
# top group widget
#
toolkit_add topGroup group self
toolkit_set_property topGroup expandableX false
toolkit_set_property topGroup expandableY false
toolkit_set_property topGroup itemsPerRow 1
toolkit_set_property topGroup title ""
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
43
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
#
# leds group widget
#
toolkit_add ledsGroup group topGroup
toolkit_set_property ledsGroup expandableX false
toolkit_set_property ledsGroup expandableY false
toolkit_set_property ledsGroup itemsPerRow 2
toolkit_set_property ledsGroup title "LED State"
#
# leds widgets
#
toolkit_add led0Button button ledsGroup
toolkit_set_property led0Button enabled true
toolkit_set_property led0Button expandableX false
toolkit_set_property led0Button expandableY false
toolkit_set_property led0Button text "Toggle"
toolkit_set_property led0Button onClick {::Test::toggle 1}
#
# sendText widgets
#
toolkit_add sendTextGroup group topGroup
toolkit_set_property sendTextGroup expandableX false
toolkit_set_property sendTextGroup expandableY false
toolkit_set_property sendTextGroup itemsPerRow 1
toolkit_set_property sendTextGroup title "Send Data"
#
# receiveText widgets
#
toolkit_add receiveTextGroup group topGroup
toolkit_set_property receiveTextGroup expandableX false
toolkit_set_property receiveTextGroup expandableY false
toolkit_set_property receiveTextGroup itemsPerRow 1
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
44
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
return -code ok
}
proc updateDashboard {} {
if { ${::Test::dashboardActive} > 0 } {
toolkit_register on page 46
toolkit_open on page 47
get_quartus_ini on page 48
toolkit_get_context on page 49
toolkit_get_types on page 50
toolkit_get_properties on page 51
toolkit_add on page 52
toolkit_get_property on page 53
toolkit_set_property on page 54
toolkit_remove on page 55
toolkit_get_widget_dimensions on page 56
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
45
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.1. toolkit_register
Description
Point to the XML file that describes the plugin (.toolkit file) .
Usage
toolkit_register <toolkit_file>
Returns
No return value.
Arguments
Example
toolkit_register /path/to/toolkit_example.toolkit
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
46
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.2. toolkit_open
Description
Opens an instance of a toolkit in System Console.
Usage
toolkit_open <toolkit_id> [<context>]
Returns
No return value.
Arguments
<context> An optional context, such as a service path for a hardware resource that
is associated with the toolkit that opens.
Example
toolkit_open my_toolkit_id
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
47
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.3. get_quartus_ini
Description
Returns the value of an ini setting from the Intel Quartus Prime software .ini file.
Usage
get_quartus_ini <ini> <type>
Returns
Value of ini setting.
Arguments
<type> (Optional) Type of .ini setting. The known types are string and
enabled. If the type is enabled, the value of the .ini setting returns 1, or
0 if not enabled.
Example
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
48
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.4. toolkit_get_context
Description
Returns the context that was specified when the toolkit was opened. If no context was
specified, returns an empty string.
Usage
toolkit_get_context
Returns
Context.
Arguments
No arguments.
Example
set context [toolkit_get_context]
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
49
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.5. toolkit_get_types
Description
Returns a list of widget types.
Usage
toolkit_get_types
Returns
List of widget types.
Arguments
No arguments.
Example
set widget_names [toolkit_get_types]
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
50
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.6. toolkit_get_properties
Description
Returns a list of toolkit properties for a type of widget.
Usage
toolkit_get_properties <widgetType>
Returns
List of toolkit properties.
Arguments
Example
set widget_properties [toolkit_get_properties xyChart]
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
51
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.7. toolkit_add
Description
Adds a widget to the current toolkit.
Usage
toolkit_add <id> <type><groupid>
Returns
No return value.
Arguments
<groupid> The ID for the parent group that contains the new widget. Use self for
the toolkit base group.
Example
toolkit_add my_button button parentGroup
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
52
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.8. toolkit_get_property
Description
Returns the property value for a specific widget.
Usage
toolkit_get_property <id> <propertyName>
Returns
The property value.
Arguments
Example
set enabled [toolkit_get_property my_button enabled]
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
53
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.9. toolkit_set_property
Description
Sets the property value for a specific widget.
Usage
toolkit_set_property <id><propertyName> <value>
Returns
No return value.
Arguments
Example
toolkit_set_property my_button enabled 0
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
54
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.10. toolkit_remove
Description
Removes a widget from the specified toolkit.
Usage
toolkit_remove <id>
Returns
No return value.
Arguments
Example
toolkit_remove my_button
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
55
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
2.9.6.4.11. toolkit_get_widget_dimensions
Description
Returns the width and height of the specified widget.
Usage
toolkit_get_widget_dimensions <id>
Returns
Width and height of specified widget.
Arguments
Example
set dimensions [toolkit_get_widget_dimensions my_button]
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
56
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
57
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
58
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
59
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
onClick Specifies the Tcl command to run every time you click the
button. Usually the command is a proc.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
60
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
onClick Specifies the Tcl command to run every time you click the
checkbox. The command is usually a proc.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
61
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
onChange A Tcl callback to run when the value of the combo box
changes.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
62
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
ticksize The space between the different tick marks of the dial.
value The value that the dial's needle marks. It must be between
min and max.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
63
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
onChoose A Tcl command that runs every time you click the button.
The command is usually a proc.
chooserButtonText The text of the dialog box approval button. Default value is
Open.
filter The file filter, based on extension. The filter supports only
one extension. By default, the filter allows all file names.
Specify the filter using the syntax [list
filter_description file_extension], for example:
[list "Text Document (.txt)" "txt"].
mode Specifies what kind of files or directories you can select. The
default is files_only. Possible options are files_only
and directories_only.
multiSelectionEnabled Controls whether you can select multiple files. Default value
is false.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
64
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
itemsPerRow The number of widgets the group can position in one row,
from left to right, before moving to the next row.
title The title of the group. Groups with a title can have a border
around them, and setting an empty title removes the
border.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
65
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
66
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
color The color of the LED. The options are: red_off, red,
yellow_off, yellow, green_off, green, blue_off,
blue, and black.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
67
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
itemValue Item value. Specify the value using a Tcl list, for example:
[list bar_category_str numerical_value].
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
68
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
onChange A Tcl callback to run when the selected item in the list
changes.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
69
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
70
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
headerResizingAllowed Controls whether you can resize all column widths. (false,
by default).
Note: You can resize each column individually with the
columnWidthResizable property.
rowSorterEnabled Controls whether you can sort the cell values in a column
(false, by default).
cellText Specifies the text inside the cell given by the current
rowIndex and columnIndex (Empty, by default).
contents The contents of the table as a list. For a table with columns
A, B, and C, the format of the list is {A1 B1 C1 A2 B2 C2
etc}.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
71
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
72
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
onChange A Tcl callback to run when you change the content of the
text box.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
73
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
range Sets the range for the chart. The range has the form {low,
high}. The low/high values are doubles.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
74
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
range Sets the range for the chart. The range is of the form
{low, high}. The low/high values are doubles.
series Adds a series of data to the chart. The first value in the
spec is the identifier for the series. If the same identifier is
set twice, the Toolkit API selects the most recent series. If
the identifier does not contain series data, that series is
removed from the chart. Specify the series in a Tcl list:
{identifier, x-1 y-1, x-2 y-2}.
showLegend Sets whether a legend for the series appears in the graph.
The ADC Toolkit needs a sine wave signal to be fed to the analog inputs. You need the
capability to precisely set the level and frequency of the reference signal. A high-
precision sine wave is needed for accurate test results; however, there are useful
things that can be read in Scope mode with any input signal.
To achieve the best testing results, ensure that the reference signal has less distortion
than the device ADC is able to resolve. Otherwise, you are adding distortions from the
source into the resulting ADC distortion measurements. The limiting factor is based on
hardware precision.
Note: When applying a sine wave, the ADC should sample at 2x the fundamental sine wave
frequency. There should be a low-pass filter, 3dB point set to the fundamental
frequency.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
75
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
The Modular ADC IP core needs to be included in the design. You can instantiate this
IP core from the IP Catalog. When you configure this IP core in the Parameter
Editor, you need to enable the Debug Path option located under Core
Configuration.
There are two limitations in the Intel Quartus Prime software v14.1 for the Modular
ADC IP core. The ADC Toolkit does not support the ADC control core only option
under Core Configuration. You must select a core variant that uses the standard
sequencer in order for the Modular ADC IP core to work with ADC Toolkit. Also, if an
Avalon Master is not connected to the sequencer, you must manually start the
sequencer before the ADC Toolkit.
You can launch the ADC Toolkit from System Console. Before starting the ADC toolkit,
you need to verify that the board is programmed. You can then load the .sof by
clicking File ➤ Load Design. If System Console was started with an active project,
the design is auto-loaded when you start System Console.
There are two methods to start the ADC Toolkit. Both methods require you to have a
Intel MAX 10 device connected, programmed with a project, and linked to this project.
However, the Launch command only shows up if these requirements are met. You can
always start the ADC Toolkit from the Tools menu, but a successful connection still
depends on meeting the above requirements.
• Click Tools ➤ ADC Toolkit
• Alternatively, click Launch from the Toolkits tab. The path for the device is
displayed above the Launch button.
Note: Only one ADC Toolkit enabled device can be connected at a time.
Upon starting the ADC Toolkit, an identifier path on the ADC Toolkit tab shows you
which ADC on the device is being used for this instance of the ADC Toolkit.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
76
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
The ADC Toolkit GUI consists of four panels: Frequency Selection, Scope, Signal
Quality, and Linearity.
1. Use the Frequency Selection panel to calculate the required sine wave frequency
for proper signal quality testing. The ADC Toolkit provides the nearest ideal
frequency based on the desired reference signal frequency.
2. Use the Scope panel to tune the signal generator or inspect input signal
characteristics.
3. Use the Signal Quality panel to test the performance of the ADC using industry
standard metrics.
4. Use the Linearity panel to test the linearity performance of the ADC and display
differential and integral non-linearity results.
Related Information
• Using the ADC Toolkit in Intel MAX 10 Devices online training
• Intel MAX 10 FPGA Device Overview
• Intel MAX 10 FPGA Device Datasheet
• Intel MAX 10 FPGA Design Guidelines
• Intel MAX 10 Analog to Digital Converter User Guide
• Additional information about sampling frequency
Nyquist sampling theorem and how it relates to the nominal sampling interval
required to avoid aliasing.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
77
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
SNR The ratio of the output signal voltage level to the output
noise level.
SINAD The ratio of the RMS value of the signal amplitude to the
RMS value of all other spectral components, including
harmonics, but excluding DC.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
78
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
The tool populates the Sample Size and Sample Frequency fields.
2. In Desired Frequency, enter the target frequency for testing.
3. Click Calculate.
• The closest frequency for valid testing near your desired frequency appears
under both Signal Quality Test and Linearity Test.
• The nearest required sine wave frequencies are different for the signal quality
test and linearity test.
4. Set your signal generator to the precise frequency given by the tool based on the
type of test you want to run.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
79
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Related Information
Additional information about coherent sampling vs window sampling
The signal quality parameters are measurements relative to the carrier signal and not
the full scale of the ADC.
Before running a signal quality test, ensure that you have set up the frequency of the
reference signal using Scope mode.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
80
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
For signal quality tests, the signal must be coherently sampled. Based on the sampling
rate and number of samples to test, specific input frequencies are required for
coherent sampling.The sample frequency for each channel is calculated based on the
ADC sequencer configuration.
Related Information
Additional information about dynamic parameters such as SNR, THD, etc
When using Linearity test mode, the reference signal must meet specific
requirements:
• The signal source covers the full code range of the ADC. Results improve if the
time spent at code end is equivalent, by tuning the reference signal in Scope
mode.
• If you use code ends, ensure that you are not clipping the signal. Look at the
signal in Scope mode to see that it does not look flat at the top or bottom. A good
practice is to back away from code ends and test a smaller range within the
desired operating range of the ADC input signal.
• Choosing a frequency that is not an integer multiple of the sample rate and buffer
size helps to ensure all code bins are filled relatively evenly to the probability
density function of a sine wave. If an integer multiple is selected, some bins may
be skipped entirely while others are over populated. This makes the tests results
invalid. Use the frequency calculator feature to determine a good signal frequency
near your desired frequency.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
81
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
The Histogram view shows how often each code appears. The graph updates every
few seconds as it collects data. You can use the Histogram view to quickly check if
your test signal is set up appropriately.
If your reference signal is not a relatively smooth line, but has jagged edges with
some bins having a value of 0, and adjacent bins with a much higher value, then the
test signal frequency is not adequate. Use Scope mode to help choose a good
frequency for linearity testing.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
82
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Figure 16. Examples of (Left) Poor Frequency Choice vs (Right) Good Frequency Choice
The DNL view shows the currently collected data. Ideally, you want your data to look like a straight line
through the 0 on the x-axis. When there are not enough samples of data, the line appears rough. The line
improves as more data is collected and averaged.
Each point in the graph represents how many LSB values a particular code differs from the ideal step size of 1
LSB. The Results box shows the highest positive and negative DNL values.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
83
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
The INL view shows currently collected data. Ideally, with a perfect ADC and enough samples, the graph
appears as a straight line through 0 on the x-axis.
Each point in the graph represents how many LSB values a particular code differs from its expected point in the
voltage slope. The Results box shows the highest positive and negative INL values.
Note: The instructions for these examples assume that you are familiar with the Intel
Quartus Prime software, Tcl commands, and Platform Designer (Standard).
Related Information
On-Chip Debugging Design Examples Website
Contains the design files for the example designs that you can download.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
84
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
variable is displayed on the LEDs on your board. After programming the Nios II
processor, you use System Console processor commands to start and stop the
processor.
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 Standard Edition User Guide: Debug Tools
85
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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 84
Not all Stratix® V boards support the On-Board Intel FPGA Download Cable II. For
example, the transceiver signal integrity board does not support the On-Board Intel
FPGA Download Cable II.
(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 Standard Edition User Guide: Debug Tools Send Feedback
86
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
control over the integration process as you tune and validate the system. When the
full system is integrated, the HIL approach allows you to provide stimuli via software
to test the system under a variety of scenarios.
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 Standard Edition User Guide: Debug Tools
87
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
88
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
open_service <service_type> Opens the specified service type at the specified path.
<service_path> Calls to open_service may be replaced with calls to claim_service providing that
the return value from claim_service is stored and used to access and close the
service.
2019.06.11 18.1.0 Rebranded Altera Modular ADC IP core to Modular ADC IP core.
2018.09.24 18.1.0 Initial release in Intel Quartus Prime Standard Edition User Guide.
2018.05.07 18.0.0 Removed obsolete section: Board Bring-Up with System Console Tutorial.
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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
89
2. Analyzing and Debugging Designs with System Console
UG-20182 | 2018.09.24
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.
Related Information
Documentation Archive
For previous versions of the Intel Quartus Prime Handbook, search the
documentation archives.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
90
UG-20182 | 2018.09.24
Send Feedback
Note: The Transceiver Toolkit runs from the System Console framework.
For an online demonstration using the Transceiver Toolkit to run a high-speed link test
with one of the design examples, refer to the Transceiver Toolkit Online Demo on the
Intel website.
Related Information
• On-Chip Debugging Design Examples
• Transceiver Toolkit Online Demo
• Transceiver Toolkit for Intel Arria® 10 Devices (OTCVRKITA10)
26 Minutes Online Course
• Transceiver Toolkit for 28-nm Devices (OTCVR1100)
39 Minutes Online Course
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. Debugging Transceiver Links
UG-20182 | 2018.09.24
The Channel Manager consists of three tabs that display components in a spreadsheet
format:
• Transmitter Channels
• Receiver Channels
• Transceiver Links
Related Information
• System Explorer Pane on page 22
• System Console GUI on page 21
• User Interface Settings Reference on page 118
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
92
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Note: The Transmitter Channels tab only shows the Current display mode. The
Transceiver Toolkit requires a receiver channel to perform auto sweep tests.
Option Description
Same development board and same Directly program the device with the programming file included in
device the example.
Same board, different device Choose the appropriate device and recompile the design.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
93
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Option Description
Different board Edit the necessary pin assignments and recompile the design
example.
4. To recompile the design, you must make your modifications to the system
configuration in Platform Designer (Standard), regenerate in Platform Designer
(Standard), and recompile the design in the Intel Quartus Prime software to
generate a new programming file.
To modify a Stratix V design example PHY block to match your design, follow these
steps:
1. Determine the number of channels your design requires.
2. Open the <project name>.qpf for the design example in the Intel Quartus Prime
software.
3. Click Tools ➤ Platform Designer (Standard).
4. On the System Contents tab, right-click the PHY block and click Edit. Specify
options for the PHY block to match your design requirement for number of lanes,
data rate, PCS-PMA width, FPGA-fabric interface width, and input reference clock
frequency.
5. Specify a multiple of the FPGA-fabric interface data width for Avalon Data
Symbol Size. The available values are 8 or 10. Click Finish.
6. Delete any timing adapter from the design. The timing adaptors are not required.
7. From the IP Catalog, add one Data Pattern Generator and Data Pattern
Checker for each transmitter and receiver lane.
8. Right-click Data Pattern Generator and click Edit. Specify a value for
ST_DATA_W that matches the FPGA-fabric interface width.
9. Right-click Data Pattern Checker and click Edit. Specify a value for
ST_DATA_W that matches the FPGA-fabric interface width.
10. From the IP Catalog, add a Transceiver Reconfiguration Controller.
11. Right-click Transceiver Reconfiguration Controller and click Edit. Specify 2*
number of lanes for the number of reconfigurations interfaces. Click finish.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
94
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
12. Create connections for the data pattern generator and data pattern checker
components. Right-click the net name in the System Contents tab and specify
the following connections.
From To
17. From the Intel Quartus Prime software, click Assignments ➤ Pin Planner and
update pin assignments to match your board.
18. Edit the design’s Synopsys Design Constraints (.sdc) to reflect the reference
clock change. Ignore the reset warning messages.
19. Click Start ➤ Start Compilation to recompile the design.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
95
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
You can use an internal PLL to generate the reconfig_clk, by changing the Platform
Designer (Standard) connections to delay offset cancellation until the generated clock
is stable.
• If there is no free running clock within the required frequency range of the
reconfiguration clock, add a PLL to the top-level of the design example. The
frequency range varies depending on the device family. Refer to the device family
data sheet for your device.
• When using an internal PLL, hold off offset cancellation until the generated clock is
stable. You do this by connecting the pll_locked signal of the internal PLL to
the .clk_clk_in_reset_n port of the Platform Designer (Standard) system,
instead of the system_reset signal.
• Implement the filter logic, inverter, and synchronization to the reconfig_clk
outside of the Platform Designer (Standard) system with your own logic.
You can find the support solution in the Intel FPGA Knowledge Base. The solution
applies to only Arria® V, Cyclone® V, Stratix IV GX/GT, and Stratix V devices.
Transceiver Native Supports all • If Enable 10G PCS is enabled, 10G PCS • Avalon-ST Data
PHY debugging functions protocol mode must be set to basic on the Pattern Checker
10G PCS tab. • Avalon-ST Data
Pattern Generator
• JTAG to Avalon
Master Bridge
• Reconfiguration
controller
Custom PHY Test all possible • Set lanes, group size, serialization factor, data • Avalon-ST Data
transceiver parallel rate, and input clock frequency to match your Pattern Checker
data widths application. • Avalon-ST Data
• Turn on Avalon data interfaces. Pattern Generator
• Disable 8B/10B. • JTAG to Avalon
• Set Word alignment mode to manual. Master Bridge
• Disable rate match FIFO. • Reconfiguration
controller
• Disable byte ordering block.
Low Latency PHY Test at more than • Set Phase compensation FIFO mode to • Avalon-ST Data
8.5 Gbps in GT EMBEDDED above certain data rates and set Pattern Checker
devices or use of to NONE for PMA direct mode. • Avalon-ST Data
PMA direct mode • Turn on Avalon data interfaces. Pattern Generator
(such as when using
• Set serial loopback mode to enable serial • JTAG to Avalon
six channels in one
loopback controls in the toolkit. Master Bridge
quad)
• Reconfiguration
controller
continued...
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
96
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Intel-Avalon Data Generates standard • Select PRBS7, PRBS15, PRBS23, PRBS31, • PHY input port
Pattern Generator data test patterns at high frequency, or low frequency patterns. • JTAG to Avalon
Avalon-ST source • Turn on Enable Bypass interface for Master Bridge
ports connection to design logic. • Your design logic
Intel-Avalon Data Validates incoming Specify a value for ST_DATA_W that matches the • PHY output port
Pattern Checker data stream against FPGA-fabric interface width. • JTAG to Avalon
test patterns Master Bridge
accepted on Avalon
streaming sink ports
Reconfiguration Supports PMA control • Connect the reconfiguration controller to • PHY input port
Controller and other transceiver • Connect reconfig_from_xcvr to • JTAG to Avalon
settings reconfig_to_xcvr. Master Bridge
• Enable Analog controls.
• Turn on Enable Eye Viewerblock to enable
signal eye analysis (Stratix V only)
• Turn on Enable Bit Error Rate Block for BER
testing
• Turn on Enable decision feedback equalizer
(DFE) block for link optimization
• Enable DFE block
Avalon-ST Data
Pattern Checker
XCVR Reconfig
Controller
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
97
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
JTAG to Avalon Master Bridge Intel FPGA Avalon Data Pattern Generator
JTAG to Avalon Master Bridge Intel FPGA Avalon Data Pattern Checker
Related Information
Running BER Tests on page 110
Avalon-ST Data
Pattern Checker
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
98
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
From To
Related Information
Running PRBS Signal Eye Tests (Stratix V only) on page 111
To enable this mode for Stratix V devices, you must enable the following debugging
component options when configuring the debugging system:
Transceiver Reconfiguration Controller Turn on Enable Eye Viewer block and Enable Bit Error Rate Block
Serial bit comparator mode is less accurate than Data pattern checker mode for
single bit error checking. Do not use Serial bit comparator mode if you require an
exact error rate. Use the Serial bit comparator mode for checking a large window of
error. The toolkit does not read the bit error counter in real-time because it reads
through the memory-mapped interface. Serial bit comparator mode has the following
hardware limitations for Stratix V devices:
• Toolkit uses serial bit checker only on a single channel per reconfiguration
controller at a time.
• When the serial bit checker is running on channel n, you can change only the VOD,
pre-emphasis, DC gain, and Eye Viewer settings on that channel. Changing or
enabling DFE or CTLE can cause corruption of the serial bit checker results.
• When the serial bit checker is running on a channel, you cannot change settings
on any other channel on the same reconfiguration controller.
• When the serial bit checker is running on a channel, you cannot open any other
channel in the Transceiver Toolkit.
• When the serial bit checker is running on a channel, you cannot copy PMA settings
from any channel on the same reconfiguration controller.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
99
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Figure 23. System Configuration: Custom Traffic Signal Eye Tests (Stratix V)
Table 40. System Connections: Custom Traffic Signal Eye Tests (Stratix V)
From To
Related Information
Running Custom Traffic Tests (Stratix V only) on page 112
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
100
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Avalon-ST Data
Pattern Checker
From To
Related Information
Running the Auto Sweep Test on page 113
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
101
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Related Information
Controlling PMA Analog Settings on page 114
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
102
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Figure 26. Intel Arria 10 Transceiver Native PHY IP Core in the Parameter Editor
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
103
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Figure 27. Intel Arria 10 Transceiver ATX PLL Core in the Parameter Editor
After enabling parameters for all IPs in the design, recompile your project.
The table describes the settings that you turn on when preparing your transceiver for
debug:
Enable Dynamic Reconfiguration Allows you to change the behavior of the transceiver channels and PLLs without
powering down the device
Enable Native PHY Debug Master Allows you to access the transceiver and PLL registers through System Console.
Endpoint When you recompile your design, Intel Quartus Prime software inserts the ADME,
debug fabric, and embedded logic during synthesis.
Enable capability registers Capability registers provide high level information about the configuration of the
transceiver channel
Enable control and status Enables soft registers to read status signals and write control signals on the PHY
registers interface through the embedded debug.
Enable PRBS Soft Accumulators Enables soft logic for performing PRBS bit and error accumulation when you use
the hard PRBS generator and checker.
Related Information
Dynamic Reconfiguration Parameters
Related Information
Programming Intel FPGA Devices
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
104
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Before loading the device, ensure that you connect the hardware. The device and JTAG
connections appear in the Device and Connections folders of the System Explorer
pane.
After loading the project, the designs and design instances folders in the System
Explorer pane display information about the design, such as the design name and the
blocks in the design that can communicate to the System Console.
Related Information
System Explorer Pane on page 22
If you are using more than one Intel FPGA board, you can set up a test with multiple
devices linked to the same design. This setup is useful if you want to perform a link
test between a transmitter and receiver on two separate devices. You can also load
multiple Intel Quartus Prime projects and link between different systems. You can
perform tests on separate and unrelated systems in a single Intel Quartus Prime
instance.
Custom PHY
XCVR
Transceiver Toolkit JTAG-to-Avalon IP Core
Reconfiguration
host computer Master Bridge or
Controller Loopback
Low-Latency
on board
PHY IP Core
Avalon-ST Data
Pattern Generator
Avalon-ST Data
Pattern Checker
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
105
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Figure 29. One Channel Loopback Mode for Intel Arria 10devices
XCVR
Transceiver Toolkit JTAG-to-Avalon
Reconfiguration
host computer Master Bridge
Controller
Avalon-ST Data
Pattern Generator
Loopback
on board
Avalon-ST Data
Pattern Checker
Avalon-ST Data
Pattern Generator
Loopback
on board
Avalon-ST Data
Pattern Checker
Avalon-ST Data
Pattern Generator
Loopback
on board
Avalon-ST Data
Pattern Checker
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
106
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Figure 31. Four Channel Loopback Mode for Intel Arria 10devices
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
107
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
1. In the Transceiver Toolkit, open the .sof you are using on both devices.
2. Link the first device to this design instance.
3. Link the second device to the design.
4. Create a link between the channels on the devices you want to test.
Use the toolkit to send data patterns and receive them correctly:
1. In the Receiver tab, verify that RX CDR locked to Data is set to Locked.
After you verify communication between transmitter and receiver, you can create a
link between the two transceivers and perform Auto Sweep and Eye Viewer(4) tests
with the pair.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
108
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
The Transceiver Toolkit identifies and displays transmitter and receiver channels on the
Transmitter Channels and Receiver Channels tabs of the Channel Manager. You
can also manually identify the transmitter and receiver in a transceiver channel, and
then create a link between the two for testing.
For example, you can transmit a data pattern across the transceiver link, and then
report the signal quality of the data you receive.
The Transceiver Toolkit generates an automatic name for the link, but you can use a
shorter, more meaningful name by typing in the Link Alias cell.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
109
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
When you run link tests, channel color highlights indicate the test status:
Red Channel is closed or generator clock is not Channel is closed or checker clock is not running.
running.
Green Generator is sending a pattern. Checker is checking and data pattern is locked.
Neutral (same color Channel is open, generator clock is running, Channel is open, checker clock is running, and
as background) and generator is not sending a pattern. checker is not checking.
Related Information
• Bit Error Rate Test Configuration (Stratix V) on page 97
• User Interface Settings Reference on page 118
The Eye Viewer graph can display a bathtub curve, eye diagram representing eye
margin, or heat map display. The run list displays the statistics of each Eye Viewer
test. When PMA settings are suitable, the bathtub curve is wide, with sharp slopes
near the edges. The curve is up to 30 units wide. If the bathtub is narrow, then the
signal quality is poor. The wider the bathtub curve, the wider the eye. The smaller the
bathtub curve, the smaller the eye. The eye contour shows the estimated horizontal
and vertical eye opening at the receiver.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
110
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
You can right-click any of the test runs in the list, and then click Apply Settings to
Device to quickly apply that PMA setting to your device. You can also click Export,
Import, or Create Report.
Figure 33. Eye Viewer Settings and Status Showing Results of Two Test Runs
Figure 34. Heat Map Display and Bathtub Curve Through Eye
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
111
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Related Information
• PRBS Signal Eye Test Configuration (Stratix V) on page 98
• AN 678: High-Speed Link Tuning Using Signal Conditioning Circuitry
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
112
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
8. Specify Run length and Eye Viewer settings to control the test coverage and
type of Eye Viewer results displayed, respectively.
9. Click Start to run the pattern with your settings. Eye Viewer uses the current
channel settings to start a phase sweep of the channel. The phase sweep runs 32
iterations. As the run progresses, view the status under Eye Viewer status.
10. When the run completes, the chart displays the characteristics of each run. Click
Stop to halt the test, change the PMA settings, and re-start the test. Click Create
Report to export data to a table format for further viewing.
Related Information
Custom Traffic Signal Eye Test Configuration (Stratix V) on page 99
Related Information
• Link Optimization Test Configuration (Stratix V) on page 100
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
113
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
To determine the best tap settings using decision feedback equalization (DFE):
1. Use Auto Sweep to find optimal PMA settings, while leaving the DFE mode set to
Off.
Option Description
If BER > 0 Use this PMA setting, and set the minimum and maximum values auto sweep reports to
match this setting. Set the maximum DFE range to limits for each of the three DFE settings.
2. Click Create Report to view the results and determine which DFE setting has the
best BER. Use these settings in conjunction with the PMA settings for the best
results.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
114
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
115
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
116
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Related Information
• Instantiating and Parameterizing Intel Arria 10 Debug IP cores on page 102
• PMA Analog Setting Control Configuration (Stratix V) on page 101
• PMA Parameters
In Intel Arria 10 Transceiver PHY User Guide
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
117
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Alias Name you choose for the channel. All supported device Transmitter
families pane
Receiver pane
Auto Sweep status Reports the current and best tested bits, errors, All supported device Receiver pane
bit error rate, and case count for the current Auto families
Sweep test.
Bit error rate (BER) Reports the number of errors divided by bits All supported device Receiver pane
tested since the last reset of the checker. families
Channel address Logical address number of the transceiver channel. All supported device Transmitter
families pane
Receiver pane
Data rate Data rate of the channel that appears in the All supported device Transmitter
project file, or data rate the frequency detector families pane
measures. Receiver pane
To use the frequency detector, turn on Enable
Frequency Counter in the Data Pattern Checker
IP core or Data Pattern Generator IP core,
regenerate the IP cores, and recompile the design.
The measured data rate depends on the Avalon
management clock frequency that appears in the
project file.
If you make changes to your settings and want to
sample the data rate again, click the Refresh
button next to the Data rate
DC gain Provides an equal boost to the incoming signal All supported device Receiver pane
across the frequency spectrum. families
DFE mode Decision feedback equalization (DFE) for improving Stratix V Receiver pane
signal quality. Intel Arria 10
Device Value
Stratix V 1-5
Enable word aligner Forces the transceiver channel to align to the word Stratix V Receiver pane
you specify.
continued...
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
118
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Equalization control Boosts the high-frequency gain of the incoming All supported device Receiver pane
signal to compensate for the low-pass filter effects families
of the physical medium. When you use this option
with DFE, use DFE in Manual or Adaptation
Enabled mode.
In Stratix V devices, auto sweep supports AEQ
one-time adaptation.
Equalization mode For Intel Arria 10 devices, you can set All supported device Receiver pane
Equalization Mode to Manual or Triggered. families
In Stratix V devices, Adaptive equalization (AEQ)
automatically evaluates and selects the best
combination of equalizer settings, and turns off
Equalization Control. The one-time selection
determines the best setting and stops searching.
You can use AEQ for multiple, independently
controlled receiver channels.
Error rate limit Turns on or off error rate limits. Start checking All supported device Receiver pane
after specifies the number of bits the toolkit waits families
before looking at the bit error rate (BER) for the
next two checks.
Bit error rate achieves below sets upper bit
error rate limits. If the error rate is better than the
set error rate, the test ends.
Bit error rate exceeds sets lower bit error rate
limits. If the error rate is worse than the set error
rate, the test ends.
Generator/Checker Specifies Data pattern checker or Serial bit All supported device Transmitter
mode comparator for BER tests. families pane
If you enable Serial bit comparator the Data Receiver pane
Pattern Generator sends the PRBS pattern, but the
serial bit comparator checks the pattern.
In Bypass mode, clicking Start begins counting
on the Serial bit comparator.
For BER testing:
• Intel Arria 10 devices support the Data Pattern
Checker and the Hard PRBS.
• Stratix V devices support the Data Pattern
Checker and the Serial Bit Checker.
Horizontal phase step Specifies the number of horizontal steps to Stratix V Transmitter
interval increment when performing a sweep. Increasing pane
the value increases the speed of the test but at a Receiver pane
lower resolution. This option only applies to eye
contour.
Increase test range For the selected set of controls, increases the span All supported device Receiver pane
of tests by one unit down for the minimum, and families
one unit up for the maximum.
You can span either PMA Analog controls (non-DFE
controls), or the DFE controls. You can quickly set
up a test to check if any PMA setting combinations
near your current best yields better results.
To use, right-click the Advanced panel
Inject Error Flips one bit to the output of the data pattern Stratix V Transmitter
generator to introduce an artificial error. pane
Maximum tested bits Sets the maximum number of bits tested for each All supported device Receiver pane
test iteration. families
Number of bits tested Specifies the number of bits tested since the last All supported device Receiver pane
reset of the checker. families
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
119
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Number of error bits Specifies the number of error bits encountered All supported device Receiver pane
since the last reset of the checker. families
Number of preamble Number of clock cycles to which the preamble Stratix V Transmitter
beats word is sent before the test pattern begins. pane
PLL refclk freq Channel reference clock frequency that appears in All supported device Transmitter
the project file, or reference clock frequency families pane
calculated from the measured data rate. Receiver pane
Populate with Right-click the Advanced panel to load current All supported device Receiver pane
values on the device as a starting point, or initially families
load the best settings auto sweep determines. The
Intel Quartus Prime software automatically applies
the values you specify in the drop-down lists for
the Transmitter settings and Receiver settings.
Preamble word Word to send out if you use the preamble mode All supported device Transmitter
(only if you use soft PRBS Data Pattern Generator families pane
and Checker).
Pre-emphasis This programmable module boosts high All supported device Transmitter
frequencies in the transmit data for each transmit families pane
buffer signal. This action counteracts possible
attenuation in the transmission media.
(Stratix V only) Using pre-emphasis can maximize
the data eye opening at the far-end receiver.
Receiver channel Specifies the name of the selected receiver All supported device Receiver pane
channel. families
Refresh Button After loading the .pof file, loads fresh settings All supported device Transmitter
from the registers after running dynamic families pane
reconfiguration. Receiver pane
Reset Resets the current test. All supported device Receiver pane
families
Rules Based Displays in red any invalid combination of settings All supported device Receiver pane
Configuration (RBC) for each list under Transmitter settings and families
validity checking Receiver settings, based on previous settings.
When you enable this option, the settings appear
in red to indicate the current combination is
invalid. This action avoids manually testing invalid
settings that you cannot compile for your design,
and prevents setting the device into an invalid
mode for extended periods of time and potentially
damaging the circuits.
Run length Sets coverage parameters for test runs. All supported device Transmitter
families pane
Receiver pane
RX CDR PLL status(5) Shows the receiver in lock-to-reference (LTR) All supported device Receiver pane
mode. When in auto-mode, if data cannot be families
locked, this signal alternates in LTD mode if the
CDR is locked to data.
continued...
(5) For Stratix V devices, the Phase Frequency Detector (PFD) is inactive in LTD mode. The
rx_is_lockedtoref status signal turns on and off randomly, and is not significant in LTD
mode.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
120
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
RX CDR data status Shows the receiver in lock-to-data (LTD) mode. All supported device Receiver pane
When in auto-mode, if data cannot be locked, the families
signal stays high when locked to data and never
switches.
Serial loopback Inserts a serial loopback before the buffers, All supported device Transmitter
enabled allowing you to form a link on a transmitter and families pane
receiver pair on the same physical channel of the Receiver pane
device.
Start Starts the pattern generator or checker on the All supported device Transmitter
channel to verify incoming data. families pane
Receiver pane
Stop Stops generating patterns and testing the channel. All supported device Transmitter
families pane
Receiver pane
Target bit error rate Finds the contour edge of the bit error rate that Stratix V Transmitter
you select. This option only applies to eye contour pane
mode. Receiver pane
Test pattern Test pattern sent by the transmitter channel. All supported device Transmitter
The Data Pattern Checker self-aligns both high and families pane
low frequency patterns. Use Bypass mode to Receiver pane
send user-design data.
Time limit Specifies the time limit unit and value to have a All supported device Receiver
maximum bounds time limit for each test iteration. families
Transmitter channel Specifies the name of the selected transmitter All supported device Transmitter
channel. families pane
TX/CMU PLL status Specifies whether the transmitter channel PLL is All supported device Transmitter
locked to the reference clock. families pane
Use preamble upon If turned on, sends the preamble word before the All supported device Transmitter
start test pattern. If turned off, starts sending the test families pane
pattern immediately.
Vertical phase step Specify the number of vertical steps to increment Stratix V Transmitter
interval when performing a sweep. Increasing the value pane
increases the speed of the test but at a lower Receiver pane
resolution. This option only applies to the eye
contour.
VOD control Programmable transmitter differential output All supported device Transmitter
voltage. families pane
Related Information
Channel Manager on page 91
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
121
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Check the pin connections to identify high-speed links (tx_p/n and rx_p/n) are
missing. When porting an older design to the latest version of the Intel Quartus Prime
software, make sure that these connections exist after porting.
Reset Issues:
Ensure that the reset input to the Transceiver Native PHY, Transceiver Reset Controller,
and ATX PLL Intel FPGA IPs is not held active (1'b1). The Transceiver Toolkit
highlights in red all the Transceiver Native PHY channels that you are setting up.
Unconnected reconfig_clk
You must connect and drive the reconfig_clk input to the Transceiver Native PHY
and ATX PLL Intel FPGA IPs. Otherwise, the toolkit does not display the transceiver
link channel.
To save the project setup in a Tcl script for use in subsequent testing sessions:
1. Set up and define links that describe the entire physical system.
2. Click Save Tcl Script to save the setup for future use.
To run the scripts, double-click the script name in the System Explorer scripts folder.
To view a list of the available Tcl command descriptions from the Tcl Console window,
including example usage:
1. In the Tcl console, type help help. The Console displays all Transceiver Toolkit
Tcl commands.
2. Type help <command name>. The Console displays the command description.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
122
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Value Description
0 off
1 adaptive
2 one-time adaptive
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
123
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
124
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
125
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
126
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
transceiver_reconfig_analog_set_tx_vo <service-path> <vodctrl value> Sets the VOD control value on the
dctrl transmitter channel specified by the
current logic channel address.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
127
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
128
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
get_channel_type <service-path> <logical- Reports the detected type (GX/GT) of channel <logical-channel-num
channel-num> > for the reconfiguration block located at <service-path>.
set_channel_type <service-path> <logical- Overrides the detected channel type of channel <logical-channel-
channel-num> <channel- num> for the reconfiguration block located at <service-path> to the
type> type specified (0:GX, 1:GT).
loopback_get <service-path> Returns the value of a setting or result on the loopback channel. Available results
include:
• Status—running or stopped.
• Bytes—number of bytes sent through the loopback channel.
• Errors—number of errors reported by the loopback channel.
• Seconds—number of seconds since the loopback channel was started.
loopback_set <service-path> Sets the value of a setting controlling the loopback channel. Some settings are only
supported by particular channel types. Available settings include:
• Timer—number of seconds for the test run.
• Size—size of the test data.
• Mode—mode of the test.
Value Description
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
129
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Value Description
data_pattern_generator_fcnter_start <service- Sets the max cycle count and starts the
path><max- frequency counter.
cycles>
Value Description
0 Enabled
1 Bypass enabled
2 Avalon
3 Sink ready
4 Source valid
continued...
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
130
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
Value Description
Value Description
0 Generating
1 Otherwise
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
131
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
data_pattern_checker_fcnter_start <service- Sets the max cycle count and starts the
path><max- frequency counter.
cycles>
Value Status
0 Enabled
1 Locked
2 Bypass enabled
3 Avalon
4 Sink ready
5 Source valid
hard_prbs_checker_get_data <service-path> Returns the current bit and error count data
from the specified hard PRBS checker.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
132
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
2019.06.11 18.1.0 • Rebranded Altera Debug Master Endpoint (ADME) to Native PHY Debug
Master Endpoint (NPDME).
• Rebranded Altera Avalon Data Pattern Generator to Avalon Data Pattern
Generator.
• Rebranded Altera Avalon Data Pattern Checker to Avalon Data Pattern
Checker.
2018.09.24 18.1.0 Initial release in Intel Quartus Prime Standard Edition User Guide.
2018.07.03 18.0.0 • Added Device Family column to table: Transceiver Toolkit Control Pane
Settings
May 2015 15.0.0 • Added section about Implementation Differences Between Stratix V and
Arria 10.
• Added section about Recommended Flow for Arria 10 Transceiver
Toolkit Design with the Quartus II Software.
• Added section about Transceiver Toolkit Troubleshooting
• Updated the following sections with information about using the
Transceiver Toolkit with Arria 10 devices:
— Serial Bit Comparator Mode
— Arria 10 Support and Limitations
— Configuring BER Tests
— Configuring PRBS Signal Eye Tests
— Adapting Altera Design Examples
— Modifying Design Examples
— Configuring Custom Traffic Signal Eye Tests
— Configuring Link Optimization Tests
— Configuring PMA Analog Setting Control
— Running BER Tests
— Toolkit GUI Setting Reference
• Reworked Table: Transceiver Toolkit IP Core Configuration
• Replaced Figure: EyeQ Settings and Status Showing Results of Two Test
Runs with Figure: EyeQ Settings and Status Showing Results of Three
Test Runs.
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
133
3. Debugging Transceiver Links
UG-20182 | 2018.09.24
December, 2014 14.1.0 • Added section about Arria 10 support and limitations.
June, 2014 14.0.0 • Updated GUI changes for Channel Manager with popup menus, IP
Catalog, Quartus II, and Qsys.
• Added ADME and JTAG debug link info for Arria 10.
• Added instructions to run Tcl script from command line.
• Added heat map display option.
• Added procedure to use internal PLL to generate reconfig_clk.
• Added note stating RX CDR PLL status can toggle in LTD mode.
May, 2013 13.0.0 • Added Conduit Mode Support, Serial Bit Comparator, Required Files and
Tcl command tables.
November, 2012 12.1.0 • Minor editorial updates. Added Tcl help information and removed Tcl
command tables. Added 28-Gbps Transceiver support section.
August, 2012 12.0.1 • General reorganization and revised steps in modifying Altera example
designs.
June, 2012 12.0.0 • Maintenance release for update of Transceiver Toolkit features.
November, 2011 11.1.0 • Maintenance release for update of Transceiver Toolkit features.
December, 2010 10.1.0 • Changed to new document template. Added new 10.1 release features.
Related Information
Documentation Archive
For previous versions of the Intel Quartus Prime Handbook, search the
documentation archives.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
134
UG-20182 | 2018.09.24
Send Feedback
The Signal Probe feature supports the Arria series, Cyclone series, MAX II, and Stratix
series device families.
Related Information
System Debugging Tools Overview on page 7
You can reserve pins for Signal Probe and assign I/O standards after a full compilation.
Each Signal Probe-source to Signal Probe-pin connection is implemented as an
engineering change order (ECO) that is applied to your netlist after a full compilation.
To route the internal signals to the device’s reserved pins for Signal Probe, perform
the following tasks:
1. Perform a full compilation.
2. Reserve Signal Probe Pins.
3. Assign Signal Probe sources.
4. Add registers between pipeline paths and Signal Probe pins.
5. Perform a Signal Probe compilation.
6. Analyze the results of a Signal Probe compilation.
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. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
Note: Although you can reserve Signal Probe pins using many features within the Intel
Quartus Prime software, including the Pin Planner and the Tcl interface, you should
use the Signal Probe Pins dialog box to create and edit your Signal Probe pins.
Because Signal Probe pins are implemented and routed as ECOs, turning the Signal
Probe enable option on or off is the same as selecting Apply Selected Change or
Restore Selected Change in the Change Manager window. If the Change Manager
window is not visible at the bottom of your screen, on the View menu, point to Utility
Windows and click Change Manager.
4.1.4. Add Registers Between Pipeline Paths and Signal Probe Pins
You can specify the number of registers placed between a Signal Probe source and a
Signal Probe pin. The registers synchronize data to a clock and control the latency of
the Signal Probe outputs. The Signal Probe feature automatically inserts the number
of registers specified into the Signal Probe path.
The figure shows a single register between the Signal Probe source Reg_b_1 and
Signal Probe Signal Probe_Output_2 output pin added to synchronize the data
between the two Signal Probe output pins.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
136
4. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
Note: When you add a register to a Signal Probe pin, the Signal Probe compilation attempts
to place the register to best meet timing requirements. You can place Signal Probe
registers either near the Signal Probe source to meet fMAX requirements, or near the
I/O to meet tCO requirements.
Figure 38. Synchronizing Signal Probe Outputs with a Signal Probe Register
Reg_a_1 Reg_a_2
DFF DFF
Logic D Q D Q Logic
Reg_b_1 Reg_b_2
DFF DFF
Logic D Q D Q Logic
SignalProbe_Output_1
D Q SignalProbe_Output_2
SignalProbe
Pipeline
Register
In addition to clock input for pipeline registers, you can also specify a reset signal pin
for pipeline registers. To specify a reset pin for pipeline registers, use the Tcl command
make_sp.
To perform a Signal Probe compilation, on the Processing menu, point to Start and
click Start Signal Probe Compilation.
The status of each Signal Probe pin appears in the Change Manager window. If the
Change Manager window is not visible at the bottom of your GUI, from the View
menu, point to Utility Windows and click Change Manager.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
137
4. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
To view the timing results of each successfully routed Signal Probe pin, on the
Processing menu, point to Start and click Start Timing Analysis.
Related Information
Engineering Change Management with the Chip Planner
In Intel Quartus Prime Standard Edition User Guide: Design Optimization
To run the Signal Probe compilation immediately after a full compilation, on the Tools
menu, click Signal Probe Pins. In the Signal Probe Pins dialog box, click Start
Check & Save All Netlist Changes.
To run a Signal Probe compilation manually after a full compilation, on the Processing
menu, point to Start and click Start Signal Probe Compilation.
Note: You must run the Fitter before a Signal Probe compilation. The Fitter generates a list
of all internal nodes that can serve as Signal Probe sources.
Turn the Signal Probe enable option on or off in the Signal Probe Pins dialog box
to enable or disable each Signal Probe pin.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
138
4. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
Figure 40. Signal Probe Fitting Results Page in the Compilation Report Window
The Signal Probe source to output delays screen in the Timing Analysis section of
the Compilation Report displays the timing results of each successfully routed Signal
Probe pin.
Figure 41. Signal Probe Source to Output Delays Page in the Compilation Report Window
Note: After a Signal Probe compilation, the processing screen of the Messages window also
provides the results for each Signal Probe pin and displays slack information for each
successfully routed Signal Probe pin.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
139
4. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
• Route unavailable—the Signal Probe compilation failed to find a route from the
Signal Probe source to the Signal Probe pin because of routing congestion.
• Invalid or nonexistent Signal Probe source—you entered a Signal Probe
source that does not exist or is invalid.
• Unusable output pin—the output pin selected is found to be unusable.
Routing failures can occur if the Signal Probe pin’s I/O standard conflicts with other
I/O standards in the same I/O bank.
If routing congestion prevents a successful Signal Probe compilation, you can allow
the compiler to modify routing to the specified Signal Probe source. On the Tools
menu, click Signal Probe Pins and turn on Modify latest fitting results during
Signal Probe compilation. This setting allows the Fitter to modify existing routing
channels used by your design.
Note: Turning on Modify latest fitting results during Signal Probe compilation can
change the performance of your design.
Note: The Tcl commands in this section are part of the ::quartus::chip_planner Intel
Quartus Prime Tcl API. Source or include the ::quartus::chip_planner Tcl
package in your scripts to make these commands available.
Related Information
• Tcl Scripting
In Intel Quartus Prime Standard Edition User Guide: Scripting
• Command Line Scripting
In Intel Quartus Prime Standard Edition User Guide: Scripting
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
140
4. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
The example shows a script that creates a Signal Probe pin called sp1 and connects
the sp1 pin to source node reg1 in a project that was already compiled.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
141
4. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
• To turn off individual Signal Probe pins, specify OFF instead of ON with the
following command:
Related Information
I/O Standards Definition
In Intel Quartus Prime Help
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
142
4. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
execute_flow -signalprobe
2018.09.24 18.1.0 Initial release in Intel Quartus Prime Standard Edition User Guide.
May 2013 13.0.0 Changed sequence of flow to clarify that you need to perform a full
compilation before reserving Signal Probe pins. Affected sections are
“Debugging Using the Signal Probe Feature” on page 12–1 and “Reserving
Signal Probe Pins” on page 12–2. Moved “Performing a Full Compilation”
on page 12–2 before “Reserving Signal Probe Pins” on page 12–2.
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
143
4. Quick Design Debugging Using Signal Probe
UG-20182 | 2018.09.24
November 2009 9.1.0 • Removed all references and procedures for APEX devices.
• Style changes.
March 2009 9.0.0 • Removed the “Generate the Programming File” section
• Removed unnecessary screenshots
• Minor editorial updates
November 2008 8.1.0 • Modified description for preserving Signal Probe connections when
using Incremental Compilation
• Added plausible scenarios where Signal Probe connections are not
reserved in the design
May 2008 8.0.0 • Added “Arria GX” to the list of supported devices
• Removed the “On-Chip Debugging Tool Comparison” and replaced with
a reference to the Section V Overview on page 13–1
• Added hyperlinks to referenced documents throughout the chapter
• Minor editorial updates
Related Information
Documentation Archive
For previous versions of the Intel Quartus Prime Handbook, search the
documentation archives.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
144
UG-20182 | 2018.09.24
Send Feedback
To facilitate the debugging process, you can save the captured data in device memory
for later analysis. You can also filter data that is not relevant for debug by defining
custom trigger-condition logic. The Signal Tap logic analyzer supports the highest
number of channels, largest sample depth, and fastest clock speeds of any logic
analyzer in the programmable logic market.
Design Logic
Signal Tap
0 1 2 3
Instances
Note to figure:
1. This diagram assumes that you compiled the Signal Tap logic analyzer with the
design as a separate design partition using the Intel Quartus Prime incremental
compilation feature. If you do not use incremental compilation, the Compiler
integrates the Signal Tap logic with the design.
The Signal Tap logic analyzer is available as a stand-alone package or with a software
subscription.
To take advantage of faster compile times when making changes to the Signal Tap
logic analyzer, knowledge of the Intel Quartus Prime incremental compilation feature is
helpful.
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. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Note: The Intel Quartus Prime Lite Edition software does not support incremental
compilation integration with the Signal Tap logic analyzer.
During data acquisition, the memory blocks in the device store the captured data, and
then transfer the data to the logic analyzer over a JTAG communication cable, such as
Intel FPGA Ethernet Cable or Intel FPGA Download Cable.
quartus_stpw <stp_file.stp>
Feature Benefit
Quick access toolbar Provides single-click operation of commonly-used menu items. You
can hover over the icons to see tool tips.
Multiple logic analyzers in a single device Allows you to capture data from multiple clock domains in a design at
the same time.
Multiple logic analyzers in multiple devices in a Allows you to capture data simultaneously from multiple devices in a
single JTAG chain JTAG chain.
Nios II plug-in support Allows you to specify nodes, triggers, and signal mnemonics for IP,
such as the Nios II processor.
Up to 10 basic, comparison, or advanced trigger Allows you to send complex data capture commands to the logic
conditions for each analyzer instance analyzer, providing greater accuracy and problem isolation.
Power-up trigger Captures signal data for triggers that occur after device programming,
but before manually starting the logic analyzer.
Custom trigger HDL object You can code your own trigger in Verilog HDL or VHDL and tap specific
instances of modules located anywhere in the hierarchy of your
design, without needing to manually route all the necessary
connections. This simplifies the process of tapping nodes spread out
across your design.
State-based triggering flow Enables you to organize your triggering conditions to precisely define
what your logic analyzer captures.
continued...
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
146
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Feature Benefit
Incremental compilation Allows you to modify the signals and triggers that the Signal Tap logic
analyzer monitors without performing a full compilation, saving time.
Incremental route with rapid recompile Allows you to manually allocate trigger input, data input, storage
qualifier input, and node count, and perform a full compilation to
include the Signal Tap logic analyzer in your design. Then, you can
selectively connect, disconnect, and swap to different nodes in your
design. Use Rapid Recompile to perform incremental routing and gain
a 2-4x speedup over the initial full compilation.
Flexible buffer acquisition modes The buffer acquisition control allows you to precisely control the data
that is written into the acquisition buffer. Both segmented buffers and
non-segmented buffers with storage qualification allow you to discard
data samples that are not relevant to the debugging of your design.
MATLAB integration with included MEX function Collects the data the Signal Tap logic analyzer captures into a MATLAB
integer matrix.
Up to 2,048 channels per logic analyzer instance Samples many signals and wide bus structures.
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.
No additional cost Intel Quartus Prime subscription and the Intel Quartus Prime Lite
Edition include the Signal Tap logic analyzer.
Compatibility with other on-chip debugging You can use the Signal Tap logic analyzer in tandem with any JTAG-
utilities based on-chip debugging tool, such as an In-System Memory Content
editor, allowing you to change signal values in real-time while you are
running an analysis with the Signal Tap logic analyzer.
Floating-Point Display Format To enable, click Edit ➤ Bus Display Format ➤ Floating-point
Supports:
• Single-precision floating-point format IEEE754 Single (32-bit).
• Double-precision floating-point format IEEE754 Double (64-bit).
Related Information
System Debugging Tools Overview on page 7
If you have a Intel Quartus Prime project file from a previous version of the software,
you may have to update the .stp configuration file to recompile the project. You can
update the configuration file by opening the Signal Tap logic analyzer. If you need to
update your configuration, a prompt appears asking if you want to update the .stp to
match the current version of the Intel Quartus Prime software.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
147
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Configure
Signal Tap Logic Analyzer
Define Triggers
Yes Recompilation
Compile DesignNo
Necessary?
Program Target No
Device or Devices
Adjust Options,
Run Signal Tap Triggers, or Both
Logic Analyzer
Continue Debugging
View, Analyze, and
Use Captured Data
Functionality No
Satisfied or Bug
Fixed?
Yes
End
You can add signals manually or use a plug-in, such as the Nios II processor plug-in,
to add entire sets of associated signals for a particular IP.
Specify settings for the data capture buffer, such as its size, the method in which the
Signal Tap logic analyzer captures and stores the data. If your device supports
memory type selection, you can specify the memory type to use for the buffer.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
148
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
Configuring the Signal Tap Logic Analyzer on page 150
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. Power-Up Triggers allow you to
capture data from trigger events occurring immediately after the device enters user-
mode after configuration.
Related Information
Defining Triggers on page 169
Note: Because you may need to change monitored signal nodes or adjust trigger settings
frequently during debugging, Intel FPGA recommends that you use the incremental
compilation feature built into the Signal Tap logic analyzer, along with Intel Quartus
Prime incremental compilation, to reduce recompile times. You can also use
Incremental Route with Rapid Recompile to reduce recompile times.
Related Information
Compiling the Design on page 194
Related Information
• Program the Target Device or Devices on page 199
• Manage Multiple Signal Tap Files and Configurations on page 167
Related Information
Running the Signal Tap Logic Analyzer on page 200
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
149
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
View, Analyze, and Use Captured Data on page 204
You can use any signal in your design as the acquisition clock. However, for best
results in data acquisition, use a global, non-gated clock that is synchronous to the
signals under test. Using a gated clock as your acquisition clock can result in
unexpected data that does not accurately reflect the behavior of your design. The Intel
Quartus Prime static timing analysis tools show the maximum acquisition clock
frequency at which you can run your design. To find the maximum frequency of the
logic analyzer clock, refer to the Timing Analysis section of the Compilation Report.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
150
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Caution: Be careful when using a recovered clock from a transceiver as an acquisition clock for
the Signal Tap Logic Analyzer. A recovered clock can cause incorrect or unexpected
behavior, particularly when the transceiver recovered clock is the acquisition clock with
the power-up trigger feature.
If you do not assign an acquisition clock in the Signal Tap Logic Analyzer Editor, Intel
Quartus Prime software automatically creates a clock pin called
auto_stp_external_clk. You must make a pin assignment to this pin, and make
sure that a clock signal in your design drives the acquisition clock.
Related Information
• Adding Signals with a Plug-In on page 154
• Managing Device I/O Pins
In Intel Quartus Prime Standard Edition Handbook Volume 2
Note: If you are not using incremental compilation, add only pre-synthesis signals to
the .stp. Using pre-synthesis helps when you want to add a new node after you
change a design. After you perform Analysis and Elaboration, the source file changes
appear in the Node Finder.
Intel Quartus Prime software does not limit 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 tap signals if a routing resource (row or column interconnects) exists to route
the connection to the Signal Tap instance. For example, you cannot tap 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 tap the signal that is
driving a logic array block (LAB) from an IOE, or, for output pins, you can tap the
signal from the LAB that is driving an IOE.
Related Information
• Faster Compilations with Intel Quartus Prime Incremental Compilation on page
194
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
151
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
When you add pre-synthesis signals, 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.
When you tap post-fit signals, you are connecting to actual atoms in the post-fit
netlist. You can only tap signals that exist in the post-fit netlist, and existing routing
resources must be available.
In the case of post-fit output signals, tap 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 tap, the signal from the
atom may be inverted. You can check this by locating the signal in either the Resource
Property Editor or the Technology Map Viewer. You can also use the Technology Map
viewer and the Resource Property Editor to find post-fit node names.
Related Information
Design Flow with the Netlist Viewers
In Intel Quartus Prime Standard Edition Handbook Volume 1
The Intel Quartus Prime software optimizes the RTL signals during synthesis and
place-and-route. RTL signal names may not appear in the post-fit netlist after
optimizations.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
152
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Note: These processing results can cause problems with the incremental compilation flow in
Signal Tap logic analyzer. Because you can only add post-fitting signals to the Signal
Tap logic analyzer in partitions of type post-fit, RTL signals that you want to monitor
may not be available, preventing their use. To avoid this issue, add synthesis
attributes that preserve signals during synthesis and place-and-route.
Preserving nodes is often necessary when you add groups of signals for an IP with a
plug-in. If you are debugging an encrypted IP core, such as the Nios II CPU, you
might need to preserve nodes from the core to keep available for debugging with the
Signal Tap logic analyzer.
To prevent a signal from triggering the analysis, disable the signal's Trigger Enable
option in the .stp file. This option is useful when you only want to see the signal's
captured data.
You can turn off the ability to view data for a signal by disabling the Data Enable
column in the .stp file. This option is useful when you want to trigger on a signal, but
have no interest in viewing that signal's data.
Related Information
Defining Triggers on page 169
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
153
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
The Nios II plug-in, for example, 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 signals to the .stp file using a plug-in, perform the following steps after
running Analysis and Elaboration on your design:
1. To ensure that all the required signals are available, in the Intel Quartus Prime
software, click Assignments ➤ Settings ➤ Compiler Settings ➤ Advanced
Settings (Synthesis). Turn on Create debugging nodes for IP cores.
All the signals included in the plug-in are added to the node list.
2. Right-click the node list. On the Add Nodes with Plug-In submenu, select the
plug-in you want to use, such as the included plug-in named Nios II.
The Select Hierarchy Level dialog box appears showing the IP hierarchy of your
design. If the IP for the selected plug-in does not exist in your design, a message
informs you that you cannot use the selected plug-in.
3. 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.
4. 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.
Related Information
• Defining Triggers on page 169
• View, Analyze, and Use Captured Data on page 150
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
154
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
The Signal Tap logic analyzer can detect FSMs in your compiled design. The
configuration automatically tracks the FSM state signals as well as state encoding
through the compilation process.
To add all the FSM state signals to your logic analyzer with a single command Shortcut
menu commands allow you .
For each FSM added to your Signal Tap configuration, the FSM debugging feature adds
a mnemonic table to map the signal values to the state enumeration that you provided
in your source code. The mnemonic tables enable you to visualize state machine
transitions in the waveform viewer. The FSM debugging feature supports adding FSM
signals from both the pre-synthesis and post-fit netlists.
Related Information
State Machine HDL Guidelines
In Intel Quartus Prime Standard Edition Handbook Volume 1
If you want to restore a mnemonic table that was modified, right-click anywhere in the
node list window and select Recreate State Machine Mnemonics. By default,
restoring a mnemonic table overwrites the existing mnemonic table that you modified.
To restore a FSM mnemonic table to a new record, turn off Overwrite existing
mnemonic table in the Recreate State Machine Mnemonics dialog box.
Note: If you have added or deleted a signal from the FSM state signal group from within the
setup tab, delete the modified register group and add the FSM signals back again.
Related Information
Creating Mnemonics for Bit Patterns on page 207
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
155
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
Enabling Physical Synthesis Optimization
In Intel Quartus Prime Standard Edition Handbook Volume 1
In cases with limited device memory resources, the design may not be able to compile
due to the selected sample buffer size. Try reducing the sample depth to reduce
resource usage.
Related Information
Signal Configuration Pane (View Menu) (Signal Tap Logic Analyzer)
In Intel Quartus Prime Help
RAM selection allows you to preserve a specific memory block for your design, and
allocate another portion of memory for Signal Tap logic analyzer 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, you can use MLAB, M512, or M4k
blocks for data acquisition and leave M9k blocks for the rest of your design.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
156
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
To specify the RAM type to use for the Signal Tap logic analyzer buffer, go to the
Signal Configuration pane in the Signal Tap window, and select one Ram type
from the drop-down menu.
Use this feature only when the acquired data is smaller than the available memory of
the RAM type that you selected. The amount of data appears in the Signal Tap
resource estimator.
Related Information
Signal Configuration Pane (View Menu) (Signal Tap Logic Analyzer)
In Intel Quartus Prime Help
There are two types of acquisition buffer within the Signal Tap logic analyzer—a non-
segmented (or circular) buffer and a segmented buffer.
• With a non-segmented buffer, the Signal Tap logic analyzer treats entire memory
space as a single FIFO, continuously filling the buffer until the logic analyzer
reaches a defined set of trigger conditions.
• With a 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.
Figure 46. Buffer Type Comparison in the Signal Tap Logic Analyzer
The figure illustrates the differences between the two buffer types.
Post-Trigger Center Trigger Pre-Trigger
Newly
Captured Oldest Data
Data Removed
(a) Circular Buffer 1 1 0 0 1 1 0 0 1 0 1
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. Refer to Specify Trigger Position for
more details.
Related Information
• Specify Trigger Position on page 190
• Filtering Relevant Samples on page 159
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
157
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
Related Information
Specify Trigger Position on page 190
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.
K, Kn
INCLK
K_FB_OUT C, Cn
K_FB_IN
With the buffer acquisition feature. you can monitor multiple read transactions from
the SRAM device without running the Signal Tap logic analyzer again, because you
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
158
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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 sixty-four 64-sample segments allows you to capture 64 read cycles.
Related Information
Capturing Data Using Segmented Buffers on page 204
Note: Setting the pipeline factor does not guarantee an increase in fMAX, as the pipeline
registers may not be in the critical paths.
To specify the pipeline factor when you instantiate the Signal Tap logic analyzer
component from the Platform Designer (Standard) system:
1. Double-click Signal Tap Logic Analyzer component in the IP Catalog.
2. Specify the Pipeline Factor, along with other parameter values
Figure 48. Specifying the Pipeline Factor from Platform Designer (Standard)
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
159
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
The Signal Tap logic analyzer offers a snapshot in time of the data stored in the
acquisition buffers. 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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
160
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Figure 49. Data Acquisition Using Different Modes of Controlling the Acquisition Buffer
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
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
161
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
Related Information
Define Trigger Conditions on page 149
If you are creating a Signal Tap logic analyzer instance through an .stp file, specify
the storage qualifier signal using the input port field located on the Setup tab. You
must specify this port for your project to compile.
If you use the IP parameter editor, the storage qualification input port, if specified,
appears in the generated instantiation template. You can then connect this port to a
signal in your RTL. If you enable the input port storage qualifier, it accepts a signal
and predicates when signals are recorded into the acquisition buffer before or after the
specified trigger condition has occurred. 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 used as 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).
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
162
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Figure 51. Comparing Continuous and Input Port Capture Mode in Data Acquisition of a
Recurring Data Pattern
• Continuous Mode:
Figure 53. Comparing Continuous and Transitional Capture Mode in Data Acquisition of a
Recurring Data Pattern
• Continuous:
• Transitional mode:
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
163
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
164
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Figure 55. Comparing Continuous and Conditional Capture Mode in Data Acquisition of a
Recurring Data Pattern
Related Information
• Basic Trigger Conditions on page 169
• Comparison Trigger Conditions on page 170
• Advanced Trigger Conditions on page 172
Note: You can force a trigger by pressing the Stop button if the buffer fails to fill to
completion due to a stop condition.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
165
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Figure 57. Comparing Continuous and Start/Stop Acquisition Modes for a Recurring Data
Pattern
• Continuous Mode:
5.3.9.5. State-Based
The State-based storage qualification mode is part of the State-based triggering flow.
The state based triggering flow evaluates a conditional language to define how the
Signal Tap logic analyzer writes data into the buffer. With the State-based trigger flow,
you have command over boolean and relational operators to guide the execution flow
for the target acquisition buffer.
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 183
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
166
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
Runtime Reconfigurable Options on page 201
Signal Tap logic analyzer allows you to save debug configurations in more than
one .stp file. Alternatively, you can embed multiple configurations within the
same .stp file, and use the Data Log as a managing tool.
Note: Each .stp file is associated with a programming (.sof) file. To function correctly, the
settings in the .stp file you use at runtime must match Signal Tap settings in
the .sof file you use to program the device.
Related Information
Ensure Setting Compatibility Between .stp and .sof Files on page 200
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
The name on each entry displays the wall-clock time when Signal Tap logic analyzer
triggered, and the time elapsed from start acquisition to trigger activation. You can
rename entries so they make sense to you.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
167
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
On this example, the Data Log displays one instance with three signal set
configurations.
With the SOF Manager you can embed multiple SOFs into one .stp file. This action
lets you move the .stp file to a different location, either on the same computer or
across a network, without including the associated .sof separately. To embed 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 167
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
168
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
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.
Related Information
View, Analyze, and Use Captured Data on page 204
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
169
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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. To create a
nested trigger condition:
1. Select Basic OR under Trigger Conditions.
2. In the Setup tab, select several nodes. Include groups in your selection.
3. Right-click the Setup tab and select Group.
4. Select the nested group and right-click to set a group trigger condition that applies
the reduction AND, OR, NAND, NOR, XOR, XNOR, or logical TRUE or FALSE.
Note: You can only select OR and AND group trigger conditions for bottom-level
groups (groups with no groups as children).
Signal Tap Logic Analyzer supports the following types of Comparison trigger
conditions:
• Single-value comparison—compares a bus node’s value to a numeric value that
you specify. Use one of these operands for comparison: >, >=, ==, <=, <.
Returns 1 when the bus node matches the specified numeric value.
• Interval check—verifies whether a bus node’s value confines to an interval that
you define. Returns 1 when the bus node's value lies within the specified bounded
interval.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
170
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
171
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
4. Click OK. The trigger editor displays the resulting comparison expression in the
group node condition text box.
Note: You can modify the comparison condition in the text box with a valid
expression.
Open the Advanced Trigger tab by selecting Advanced in the Trigger Conditions
drop-down menu.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
172
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
To configure the operators’ settings, double-click or right-click the operators that you
placed and click Properties.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
173
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Category Name
Right Shift
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 Standard Edition User Guide: Debug Tools Send Feedback
174
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
The Custom Trigger HDL object appears in the Object Library pane of the Advanced
Trigger editor.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
175
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
4. Implement the inputs and outputs that your Custom Trigger HDL module requires.
5. Drag in your Custom Trigger HDL object and connect the object’s data input bus
and result output bit to the final trigger result.
6. Right-click your Custom Trigger HDL object and configure the object’s properties.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
176
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Table 61. Custom Trigger HDL Module Required Inputs and Outputs
Name Description Input/Output Required/ Optional
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 Standard Edition User Guide: Debug Tools
177
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
178
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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
Notes to figure:
1. The acquisition buffer starts capture when all n triggering levels are satisfied,
where n<10.
The Signal Tap logic analyzer considers external triggers as level 0, evaluating
external triggers before any other trigger condition.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
179
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Example 23. 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 75. Capture of Data Transaction with Trigger Flow Description Applied
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
180
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Figure 76. Storage Qualification with Post-Fill Count Value Less than m (Acquisition
Successfully Completes)
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 Standard Edition User Guide: Debug Tools
181
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Figure 77. Storage Qualification with Post-Fill Count Value Greater than m (Acquisition
Indefinitely Paused)
The logic analyzer pauses indefinitely, even after a trigger condition occurs due to a stop_store condition.
This scenario uses a sample depth of 64, with m = n = 10 and post-fill count = 15.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
182
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
To help you describe the relationship between triggering conditions, the state-based
triggering flow provides tooltips within the flow GUI. Additionally, you can use the
Signal Tap Trigger Flow Description Language, which is based upon conditional
expressions.
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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
183
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
184
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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 186
Resources Pane
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 198
• Runtime Reconfigurable Options on page 201
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
185
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
Incremental Route lock-mode restricts the GUI to only allow changes that require an
Incremental Route compilation using Rapid Recompile. Use Rapid Recompile to
perform incremental routing and gain a 2-4x speedup over the initial full compilation.
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 the Logic Analyzer evaluates when a state is reached, you
follow this syntax:
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
186
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
Custom Triggering Flow Application Examples on page 215
5.4.5.3.1. <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.
5.4.5.3.2. <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.
Notes to table:
1. <identifier> indicates a counter or status flag.
2. <numerical_value> indicates an integer.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
187
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
5.4.5.3.3. <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.
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
188
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
Post-fill Count on page 191
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 happen 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;
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
189
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Figure 82. 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
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.
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
190
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
State-Based Triggering on page 183
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 188
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 is fully
powered 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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
191
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Figure 83. Enabling Power-Up Trigger in Signal Tap Logic Analyzer Editor
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.
Related Information
Design Debugging Using In-System Sources and Probes on page 233
5.4.7.3. Managing Signal Tap Instances with Run-Time and Power-Up Trigger
Conditions
On instances that have two both 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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
192
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
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.
Related Information
• FPGA-Adaptive Software Debug and Performance Analysis white paper
• Signal Configuration Pane
In Intel Quartus Prime Help
5.4.8.1. Using the Trigger Out of One Analyzer as the Trigger In of Another
Analyzer
An advanced feature of the Signal Tap Logic Analyzer is the ability to use the
Trigger out of one analyzer as the Trigger in to another analyzer. This feature allows
you to synchronize and debug events that occur across multiple clock domains.
To perform this operation, first turn on Trigger out for the source logic analyzer
instance. On the Instance list of the Trigger out trigger, select the targeted logic
analyzer instance. For example, if the instance named auto_signaltap_0 should
trigger auto_signaltap_1, select auto_signaltap_1|trigger_in .
Turning on Trigger out automatically enables the Trigger in of the targeted logic
analyzer instance and fills in the Instance field of the Trigger in trigger with the
Trigger out signal from the source logic analyzer instance. In this example,
auto_signaltap_0 is targeting auto_signaltap_1. The Trigger In Instance field
of auto_signaltap_1 is automatically filled in with auto_signaltap_0|
trigger_out.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
193
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Note: Because these adjustments require that you recompile your design when using the
Signal Tap Logic Analyzer, use the Signal Tap Logic Analyzer feature along with
incremental compilation in the Intel Quartus Prime software to reduce recompilation
time.
When you compile your design including a .stp file, Intel Quartus Prime software
automatically adds the sld_signaltap and sld_hub entities to the compilation
hierarchy. These two entities are the main components of the Signal Tap Logic
Analyzer, providing the trigger logic and JTAG interface required for operation.
Incremental compilation is also useful when you want to modify the configuration of
the .stp file. For example, you can change the buffer sample depth or memory type
without performing a full compilation. Instead, you only recompile the Signal Tap Logic
Analyzer, configured as its own design partition.
The netlist type for the top-level partition defaults to source. To take advantage of
incremental compilation, specify the Netlist types for the partitions you want to tap as
Post-fit.
Related Information
Intel Quartus Prime Incremental Compilation for Hierarchical and Team-Based Design
documentation
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
194
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
5.5.1.2. Using Incremental Compilation with the Signal Tap Logic Analyzer
The Signal Tap logic analyzer uses the incremental compilation flow by default. For all
signals that you want to connect to the Signal Tap logic analyzer from the post-fit
netlist:
1. In the Design Partitions window, set the netlist type of the partition that contains
the signals to Post-Fit, with a Fitter Preservation Level of Placement and
Routing.
2. In the Node Finder, use the Signal Tap: post-fitting filter to add the signals of
interest to your Signal Tap configuration file.
3. If you want to add signals from the pre-synthesis netlist, set the netlist type to
Source File and use the Signal Tap: pre-synthesis filter in the Node Finder.
Do not use the netlist type Post-Synthesis with the Signal Tap logic analyzer.
Node names can differ between a pre-synthesis netlist and a post-fit netlist. In
general, registers and user input signals share common names between the two
netlists. During compilation, certain optimizations change the names of combinational
signals in your RTL. If the type of node name chosen does not match the netlist type,
the compiler may not be able to find the signal to connect to your Signal Tap logic
analyzer instance for analysis. The compiler issues a critical warning to alert you of
this scenario. The signal that is not connected is tied to ground in the Signal Tap
data tab.
If you do use incremental compilation flow with the Signal Tap logic analyzer and
source file changes are necessary, be aware that you may have to remove compiler-
generated post-fit net names. Source code changes force the affected partition to go
through resynthesis. During synthesis, the compiler cannot find compiler-generated
net names from a previous compilation.
Note: Intel FPGA recommends using only registered and user-input signals as debugging
taps in your .stp whenever possible.
Both registered and user-supplied input signals share common node names in the pre-
synthesis and post-fit netlist. As a result, using only registered and user-supplied
input signals in your .stp limits the changes you need to make to your Signal Tap
logic analyzer configuration.
You can check the nodes that are connected to each Signal Tap instance using the In-
System Debugging compilation reports. These reports list each node name you
selected to connect to a Signal Tap instance, the netlist type used for the particular
connection, and the actual node name used after compilation. If the incremental
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
195
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
compilation flow is not used, the In-System Debugging reports are located in the
Analysis & Synthesis folder. If the incremental compilation flow is used, this report is
located in the Partition Merge folder.
To verify that your original design was not modified, examine the messages in the
Partition Merge section of the Compilation Report.
Unless you make changes to your design partitions that require recompilation, only
the Signal Tap design partition is recompiled. If you make subsequent changes to only
the .stp, only the Signal Tap design partition must be recompiled, reducing your
recompilation time.
Related Information
Verify Whether You Need to Recompile Your Project on page 196
To verify whether a change you made requires recompiling the project, check the
Signal Tap status display at the top of the Instance Manager pane. This feature
allows you to undo the change, so that you do not need to recompile your project.
Related Information
Prevent Changes Requiring Recompilation on page 196
Intel Quartus Prime Standard Edition software supports Incremental Route with Rapid
Recompile for Arria V, Cyclone V, and Stratix V devices.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
196
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
1. Open your design and run Analysis & Elaboration (or a full compilation) to give
node visibility in Signal Tap.
2. Add Signal Tap to your design.
3. In the Signal Tap Signal Configuration pane, specify Manual in the Nodes
Allocated field for Trigger and Data nodes (and Storage Qualifier, if used).
Manual node allocation allows you to control the number of nodes compiled into
the design, which is critical for the Incremental Route flow.
When you select Auto allocation, the number of nodes compiled into the design
matches the number of nodes in the Setup tab. If you add a node later, you
create a mismatch between the amount of nodes the device requires and the
amount of compiled nodes, and you must perform a full compilation.
4. Specify the number of nodes that you estimate necessary for the debugging
process. You can increase the number of nodes later, but this requires more
compilation time.
5. Add the nodes that you want to tap.
6. If you have not fully compiled your project, run a full compilation. Otherwise, start
incremental compile using Rapid Recompile.
7. Debug and determine additional signals of interest.
8. (Optional) Select Allow incremental route changes only lock-mode.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
197
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Note: When you compile a project with a Signal Tap logic analyzer without the use of
incremental compilation, you must add IP to the existing design. This addition often
impacts the existing placement, routing, and timing of the design. To minimize the
effect that the Signal Tap logic analyzer has on the design, use incremental
compilation for the project. Incremental compilation is the default setting in new
designs. You can easily enable incremental compilation in existing designs. When the
Signal Tap logic analyzer is in a design partition, it has little to no affect on the design.
For Intel Arria 10 devices, the Intel Quartus Prime Standard Edition software does not
support timing preservation for post-fit taps with Rapid Recompile.
Related Information
Timing Closure and Optimization
>In Intel Quartus Prime Standard Edition User Guide: Design Optimization
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
198
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
The Signal Tap Logic Analyzer allows you to select runtime configurable parameters to
balance the need for runtime flexibility, speed, and area.
If Signal Tap logic is part of your critical path, follow these tips to speed up the
performance of the Signal Tap Logic Analyzer:
• Disable runtime configurable options—Certain resources are allocated to
accommodate for runtime flexibility. If you use either advanced triggers or State-
based triggering flow, disable runtime configurable parameters for a boost in fMAX
of the Signal Tap logic.
— If you are using State-based triggering flow, try disabling 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, as compared to the other runtime configurable
options.
• Minimize the number of signals that have Trigger Enable selected—By
default, Signal Tap Logic Analyzer enable 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 is resource constrained, follow these tips to reduce the logic or memory
the Signal Tap Logic Analyzer uses:
• 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 uses if you limit the
segments in your sampling buffer
• Disable the Data Enable for signals that you use only for triggering—By
default, 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
on memory resources.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
199
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
If you want to debug multiple designs simultaneously, configure the device from
the .stp instead of the Intel Quartus Prime Programmer. This allows you to open
more than one .stp file and program multiple devices.
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.
As a best practice, use the .stp file with a Intel Quartus Prime project. The project
database contains information about the integrity of the current Signal Tap logic
analyzer session. Without the project database, there is no way to verify that the
current .stp file matches the .sof file in the device. If you have an .stp file that
does not match the .sof file, the Signal Tap logic analyzer can capture incorrect data.
Related Information
Manage Multiple Signal Tap Files and Configurations on page 167
You can also perform the equivalent of a force trigger instruction that lets you view
the captured data currently in the buffer without a trigger event occurring.
The flowchart shows how you operate the Signal Tap logic analyzer. Indicates where
Power-Up and Runtime Trigger events occur and when captured data from these
events is available for analysis.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
200
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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
End
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.
Related Information
Design Debugging Using In-System Sources and Probes on page 233
Basic Trigger Conditions and Basic Storage You can change without recompiling all signals that have the Trigger
Qualifier Conditions condition 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
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
201
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Runtime Reconfigurable options can save time during the debugging cycle by allowing
you to cover a wider possible scenario of events without the need to recompile the
design. 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.
In Incremental Route lock mode, Allow incremental route changes only, limits to
changes that only require an Incremental Route compilation, and not a full compile.
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 88. 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
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
202
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
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.
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
203
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Acquiring (Power-Up) pre-trigger data (1) The trigger condition has not been evaluated yet.
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.
Trigger In conditions met Trigger In condition has occurred. 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 figure shows a segmented acquisition buffer with four segments
represented as four separate non-segmented buffers.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
204
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 1 1 1 1 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
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.
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 158
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
205
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
If you perform a Stop Analysis, Signal Tap prevents the buffer from being dumped
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.
5.8.2.1. Example
The figures for continuous data capture and conditional data capture show the
difference between a non-segmented buffer in continuous mode and a non-segmented
buffer using a storage qualifier. The configuration of the logic analyzer waveforms is a
base trigger condition, sample depth of 64 bits, and Post trigger position.
In the continuous data capture, Trig1 occurs several times in the data buffer before
the Signal Tap logic analyzer trigger activates. The buffer needs to 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).
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
206
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Note to figure:
1. Conditional capture, storage always enabled, post-fill count.
2. 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.
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
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
207
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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 analysis is set to Auto-run mode, the logic analyzer creates a separate entry
in the Data Log to store the data captured each time the trigger occurred. This allows
you to review the captured data for each trigger event.
The default name for a log is based time stamp when the logic analyzer acquired the
data. As a best practice, rename the data log with a more meaningful name.
The organization of logs is hierarchical; the logic analyzer groups similar logs of
captured data in trigger sets.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
208
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
Data Log Pane on page 167
To export the captured data from Signal Tap Logic Analyzer, on the File menu, click
Export and specify the File Name, Export Format, and Clock Period.
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.
The .stp 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 .stp list file in the Intel Quartus Prime software, click File ➤ Create/
Update ➤ Create Signal Tap List File.
Related Information
Adding Signals with a Plug-In on page 154
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
209
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
To generate a .stp file from parameterized HDL instances within your design:
1. Open or create an Intel Quartus Prime project that includes one or more HDL
instances of the Signal Tap logic analyzer.
2. Click Processing ➤ Start ➤ Start Analysis & Synthesis.
3. Click File ➤ Create/Update ➤ Create Signal Tap File from Design
Instance(s).
4. Specify a location for the .stp file that generates, and click Save.
Figure 94. Create Signal Tap File from Design Instances Dialog Box
Note: If your project contains partial reconfiguration partitions, the Create Signal
Tap File from Design Instance(s) dialog box displays a tree view of the
PR partitions in the project. Select a partition from the view, and click
Create Signal Tap file. The resultant .stp file that generates contains all
HDL instances in the corresponding PR partition. The resultant .stp file
does not include the instances in any nested partial reconfiguration
partition.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
210
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
After successful .stp file creation, the Signal Tap Logic Analyzer appears. All the
fields are read-only, except runtime-configurable trigger conditions.
Related Information
• Create Signal Tap File from Design Instances
In Intel Quartus Prime Help
• Custom Trigger HDL Object on page 175
5.9.2. Using the Signal Tap MATLAB MEX Function to Capture Data
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 by calling the MATLAB MEX
function alt_signaltap_run, built into the Intel Quartus Prime software. If you use
the MATLAB MEX function in a loop, you can perform as many acquisitions in the same
amount of time as you can when using Signal Tap in the Intel Quartus Prime software
environment.
Note: The Signal Tap MATLAB MEX function 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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
211
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
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. Other MATLAB MEX function options
are described in the table:
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');
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
212
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
Related Information
Remote Hardware Debugging over TCP/IP
To perform a remote debugging session, you must have the following setup:
• The Intel Quartus Prime software installed on the local PC
• Stand-alone Signal Tap Logic Analyzer or the full version of the Intel Quartus
Prime software installed on the remote PC
• Programming hardware connected to the device on the PCB at the remote location
• TCP/IP protocol connection
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
213
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
5.9.5. Using the Signal Tap Logic Analyzer in Devices with Configuration
Bitstream Security
Certain device families support bitstream decryption during configuration using an on-
device AES decryption engine. You can still use the Signal Tap Logic Analyzer to
analyze functional data within the FPGA. However, note that JTAG configuration is not
possible after the security key has been programmed into the device.
Intel FPGA recommends that you use an unencrypted bitstream during the prototype
and debugging phases of the design. Using an unencrypted bitstream allows you to
generate new programming files and reconfigure the device over the JTAG connection
during the debugging cycle.
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 the FPGA is
configured with a Signal Tap Logic Analyzer instance in the design, when you open the
Signal Tap Logic Analyzer in the Intel Quartus Prime software, you then scan the chain
and are ready to acquire data with the JTAG connection.
5.9.6. Monitor FPGA Resources Used by the Signal Tap Logic Analyzer
The Signal Tap logic analyzer has a built-in resource estimator that calculates the logic
resources and amount of memory that each logic analyzer instance uses.
Furthermore, because the most demanding on-chip resource for the logic analyzer is
memory usage, the resource estimator reports the ratio of total RAM usage in your
design to the total amount of RAM available, given the results of the last compilation.
The resource estimator provides a warning if a potential for a “no-fit” occurs.
You can see resource usage (by instance and total) in the columns of the Instance
Manager pane of the Signal Tap logic analyzer Editor. Use this feature when you know
that your design is running low on resources.
The logic element value that the resource usage estimator reports may vary by as
much as 10% from the actual resource usage.
Related Information
AN 446: Debugging Nios II Systems with the Signal Tap Embedded Logic Analyzer
application note
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
214
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
On-chip Debugging Design Examples website
The 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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
215
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Post Count
0 1 1 0
1 1
1 0
0 1
1 1
Sample #1
0 0
1 1
0 1
1 0
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;
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
216
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
Related Information
• Tcl Scripting
In Intel Quartus Prime Standard Edition User Guide: Scripting
• Command Line Scripting
In Intel Quartus Prime Standard 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.
Writes subsequent Signal Tap assignments to the .stp that appears in
the .qsf file. If the .qsf file does not specify a .stp file, you must use
the --stp_file option.
--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.
-- Optional Creates an .stp file representing the Signal Tap instance. You must use
create_signaltap_hdl_file the --stp_file option to create an .stp.
Equivalent to the Create Signal Tap File from Design Instances
command in the Intel Quartus Prime software
.
Examples
The first example illustrates how to compile a design with the Signal Tap logic analyzer
at the command line.
quartus_stp filtref --stp_file stp1.stp --enable
quartus_map filtref --source=filtref.bdf --family=CYCLONE
quartus_fit filtref --part=EP1C12Q240C6 --fmax=80MHz --tsu=8ns
quartus_asm filtref
The following example creates a new .stp after building the Signal Tap logic analyzer
instance with the IP Catalog.
quartus_stp filtref --create_signaltap_hdl_file --stp_file stp1.stp
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
217
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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
5.13. 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
2019.06.11 18.1.0 Added more explanation to Figure 51 on page 163 about continuous and
input mode.
2018.09.24 18.1.0 • Initial release in Intel Quartus Prime Standard Edition User Guide.
• Renamed topic: Untappable Signals to Signals Unavailable for Signal
Tap Debugging.
2017.05.08 17.0.0 • Added: Open Standalone Signal Tap Logic Analyzer GUI.
• Updated figures on Create Signal Tap File from Design Instance(s).
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
218
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
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.
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.
November 2008 8.1.0 Updated for the Quartus II software version 8.1 release:
continued...
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
219
5. Design Debugging with the Signal Tap Logic Analyzer
UG-20182 | 2018.09.24
• 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
Related Information
Documentation Archive
For previous versions of the Intel Quartus Prime Handbook, search the
documentation archives.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
220
UG-20182 | 2018.09.24
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 72. 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.
6. In-System Debugging Using External Logic Analyzers
UG-20182 | 2018.09.24
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 7
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
222
6. In-System Debugging Using External Logic Analyzers
UG-20182 | 2018.09.24
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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
223
6. In-System Debugging Using External Logic Analyzers
UG-20182 | 2018.09.24
Related Information
LAI Core Parameters on page 227
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
224
6. In-System Debugging Using External Logic Analyzers
UG-20182 | 2018.09.24
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 Standard Edition Handbook Volume 2
Related Information
Node Finder Command
In Intel Quartus Prime Help
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
225
6. In-System Debugging Using External Logic Analyzers
UG-20182 | 2018.09.24
To verify the Logic Analyzer Interface is properly compiled with your project, expand
the entity hierarchy in the Project Navigator. If the LAI is compiled with your design,
the sld_hub and sld_multitap entities are shown in the Project Navigator.
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
226
6. In-System Debugging Using External Logic Analyzers
UG-20182 | 2018.09.24
Because LAI consists of only a small portion of your design, incremental compilation
helps minimizing compilation time. Incremental compilation works best when you are
only changing a small portion of your design. Incremental compilation yields an
accurate representation of your design behavior when changing the .lai file through
multiple compilations.
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 224
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
227
6. In-System Debugging Using External Logic Analyzers
UG-20182 | 2018.09.24
2018.09.24 18.1.0 Initial release in Intel Quartus Prime Standard Edition User Guide.
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.
July 2010 10.0.0 • Created links to the Intel Quartus Prime Help
• Editorial updates
• Removed Referenced Documents section
Related Information
Documentation Archive
For previous versions of the Intel Quartus Prime Handbook, search the
documentation archives.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
228
UG-20182 | 2018.09.24
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 7
• Design Debugging with the Signal Tap Logic Analyzer on page 145
• Megafunctions/LPM
List of the types of memories and constants currently supported by the Intel
Quartus Prime software
If you instantiate a memory or constant IP core directly with ports and parameters in
VHDL or Verilog HDL, add or modify the lpm_hint parameter as follows:
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. In-System Modification of Memory and Constants
UG-20182 | 2018.09.24
The Instance Manager pane displays all available run-time modifiable memories and
constants in your FPGA device. The JTAG Chain Configuration pane allows you to
program your FPGA and select the Intel FPGA device in the chain to update.
Using the In-System Memory Content Editor does not require that you open a project.
The In-System Memory Content Editor retrieves all instances of run-time configurable
memories and constants by scanning the JTAG chain and sending a query to the
specific device selected in the JTAG Chain Configuration pane.
If you have more than one device with in-system configurable memories or constants
in a JTAG chain, you can launch multiple In-System Memory Content Editors within the
Intel Quartus Prime software to access the memories and constants in each of the
devices. Each In-System Memory Content Editor can access the in-system memories
and constants in a single device.
Note: In addition to the buttons available in the Instance Manager pane, you can read and
write data by selecting commands from the Processing menu, or the right-click menu
in the Instance Manager pane or Hex Editor pane.
The status of each instance is also displayed beside each entry in the Instance
Manager pane. The status indicates if the instance is Not running, Offloading data,
or Updating data. The health monitor provides information about the status of the
editor.
The Intel Quartus Prime software assigns a different index number to each in-system
memory and constant to distinguish between multiple instances of the same memory
or constant function. View the In-System Memory Content Editor Settings section
of the Compilation Report to match an index number with the corresponding instance
ID.
Related Information
Instance Manager Pane
In Intel Quartus Prime Help
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
230
7. In-System Modification of Memory and Constants
UG-20182 | 2018.09.24
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 Standard Edition Handbook Volume 2
• Command Line Scripting
In Intel Quartus Prime Standard Edition Handbook Volume 2
• API Functions for Tcl
In Intel Quartus Prime Help
7.2.6. Example: Using the In-System Memory Content Editor with the
Signal Tap Logic Analyzer
The following scenario describes how you can use the In-System Updating of Memory
and Constants feature with the Signal Tap Logic Analyzer to efficiently debug your
design. You can use the In-System Memory Content Editor and the Signal Tap Logic
Analyzer simultaneously with the JTAG interface.
Scenario: After completing your FPGA design, you find that the characteristics of your
FIR filter design are not as expected.
1. To locate the source of the problem, change all your FIR filter coefficients to be in-
system modifiable and instantiate the Signal Tap Logic Analyzer.
2. Using the Signal Tap Logic Analyzer to tap and trigger on internal design nodes,
you find the FIR filter to be functioning outside of the expected cutoff frequency.
3. Using the In-System Memory Content Editor, you check the correctness of the
FIR filter coefficients. Upon reading each coefficient, you discover that one of the
coefficients is incorrect.
4. Because your coefficients are in-system modifiable, you update the coefficients
with the correct data with the In-System Memory Content Editor.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
231
7. In-System Modification of Memory and Constants
UG-20182 | 2018.09.24
In this scenario, you can quickly locate the source of the problem using both the
In-System Memory Content Editor and the Signal Tap Logic Analyzer. You can also
verify the functionality of your device by changing the coefficient values before
modifying the design source files.
You can also modify the coefficients with the In-System Memory Content Editor to
vary the characteristics of the FIR filter, for example, filter attenuation, transition
bandwidth, cut-off frequency, and windowing function.
2018.09.24 18.1.0 Initial release in Intel Quartus Prime Standard Edition User Guide.
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
Related Information
Documentation Archive
For previous versions of the Intel Quartus Prime Handbook, search the
documentation archives.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
232
UG-20182 | 2018.09.24
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.
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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 Standard Edition User Guide: Debug Tools Send Feedback
234
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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
8.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 Standard Edition User Guide: Debug Tools
235
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
Figure 105. 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 Standard Edition User Guide: Debug Tools Send Feedback
236
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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 use the Intel Quartus Prime incremental compilation feature to reduce
compilation time. Incremental compilation allows you to organize your design into
logical partitions. During recompilation of a design, incremental compilation preserves
the compilation results and performance of unchanged partitions and reduces design
iteration time by compiling only modified design partitions.
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 Standard Edition User Guide: Debug Tools
237
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
You can use the Intel Quartus Prime incremental compilation feature to reduce
compilation design into logical partitions. During recompilation of a design,
incremental compilation preserves the compilation results and performance of
unchanged partitions and reduces design iteration time by compiling only modified
design partitions.
When you use the In-System Sources and Probes Editor, you do not need to open a
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
238
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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.
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.
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
239
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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.
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.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
240
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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.
8.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.
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.
start_insystem_source_prob -device_name <device name> Opens a handle to a device with the specified
e -hardware_name <hardware name> hardware.
Call this command before starting any
transactions.
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
Send Feedback Intel Quartus Prime Standard Edition User Guide: Debug Tools
241
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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.
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 Standard Edition User Guide: Debug Tools Send Feedback
242
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
end_insystem_source_probe
}
proc read {} {
global device_name usb
variable empty
start_insystem_source_probe -device_name $device_name -hardware_name $usb
##read empty flag : probe port[7:0] reads FIFO output; bit 8 reads empty_flag
set empty [read_probe_data -instance_index 1]
if {[regexp {1........} $empty]} { end_insystem_source_probe
return "FIFO empty" }
## toggle select line for read transaction
## Source_read_sel = bit 0; s_read_reg = bit 1
## pulse read enable on DC FIFO
write_source_data -instance_index 1 -value 0x1 -value_in_hex
write_source_data -instance_index 1 -value 0x3 -value_in_hex
set x [read_probe_data -instance_index 1 ]
end_insystem_source_probe
return $x
}
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 Standard Edition User Guide: Debug Tools
243
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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 Standard Edition User Guide: Debug Tools Send Feedback
244
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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 109. 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.09.24 18.1.0 Initial release in Intel Quartus Prime Standard Edition User Guide.
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 Standard Edition User Guide: Debug Tools
245
8. Design Debugging Using In-System Sources and Probes
UG-20182 | 2018.09.24
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
Related Information
Documentation Archive
For previous versions of the Intel Quartus Prime Handbook, search the
documentation archives.
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
246
UG-20182 | 2018.09.24
Send Feedback
Related Information
• Intel Quartus Prime Standard Edition User Guide: Getting Started
Introduces the basic features, files, and design flow of the Intel Quartus Prime
Standard Edition software, including managing Intel Quartus Prime Standard
Edition projects and IP, initial design planning considerations, and project
migration from previous software versions.
• Intel Quartus Prime Standard Edition User Guide: Platform Designer
Describes creating and optimizing systems using Platform Designer (Standard),
a system integration tool that simplifies integrating customized IP cores in your
project. Platform Designer (Standard) automatically generates interconnect
logic to connect intellectual property (IP) functions and subsystems.
• Intel Quartus Prime Standard Edition User Guide: Design Recommendations
Describes best design practices for designing FPGAs with the Intel Quartus
Prime Standard Edition software. HDL coding styles and synchronous design
practices can significantly impact design performance. Following recommended
HDL coding styles ensures that Intel Quartus Prime Standard Edition synthesis
optimally implements your design in hardware.
• Intel Quartus Prime Standard Edition User Guide: Design Compilation
Describes set up, running, and optimization for all stages of the Intel Quartus
Prime Standard Edition Compiler. The Compiler synthesizes, places, and routes
your design before generating a device programming file.
• Intel Quartus Prime Standard Edition User Guide: Design Optimization
Describes Intel Quartus Prime Standard 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, and optimization of device resource usage.
• Intel Quartus Prime Standard Edition User Guide: Programmer
Describes operation of the Intel Quartus Prime Standard 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 Standard Edition User Guide: Partial Reconfiguration
Describes Partial Reconfiguration, an advanced design flow that allows you to
reconfigure a portion of the FPGA dynamically, while the remaining FPGA
design continues to function. Define multiple personas for a particular design
region, without impacting operation in other areas.
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 Standard Edition User Guides
UG-20182 | 2018.09.24
Intel Quartus Prime Standard Edition User Guide: Debug Tools Send Feedback
248