Device Design Guidelines: Agilex™ 5 FPGAs and SoCs

ID 813741
Date 4/01/2024
Public
Document Table of Contents

7.2. On-Chip Debugging Tools

The Quartus® Prime portfolio of verification tools include the in-system debugging features as summarized in the following table.

Table 77.  On-Chip Debugging Tools
Tool Description Typical Use Case
Signal Tap Embedded Logic Analyzer

Probes the state of internal and I/O signals without the use of external equipment or extra I/O pins, while the design is running at full speed in an FPGA device. Defining custom trigger-condition logic provides greater accuracy and improves the ability to isolate problems. It does not require external probes or changes to the design files to capture the state of the internal nodes or I/O pins in the design; all captured signal data is stored in the device memory until you are ready to read and analyze the data. The Signal Tap Embedded Logic Analyzer works best for synchronous interfaces. For debugging asynchronous interfaces, consider using Signal Probe or an external logic analyzer to view the signals more accurately. Signal Tap may affect routing of the original design.

You have spare on-chip memory and want functional verification of your design running in hardware.
Signal Probe Quickly routes internal signals to I/O pins without affecting the routing of the original design. Starting with a fully routed design, you can select and route signals for debugging to either previously reserved or currently unused I/O pins.

You have spare I/O pins and want to check the operation of a small set of control pins using either an external logic analyzer or an oscilloscope.

In-System Sources and Probes (ISSP) Sets up custom register chains to drive or sample the instrumented nodes in your logic design, providing an easy way to input simple virtual stimuli and capture the current value of instrumented nodes.

You want to prototype a front panel with virtual buttons for your FPGA design.

In-System Memory Content Editor Provides read and write access to in-system FPGA memories and constants through the JTAG interface, so you can test changes to memory content and constant values in the FPGA while the device is functioning in the system.

You want to view and edit the contents of either the instruction cache or data cache of a Nios® V processor application.

External Logic Analyzer Interface Enables you to connect and transmit internal FPGA signals to an external logic analyzer for analysis, allowing you to take advantage of advanced features in your external logic analyzer or mixed signal oscilloscope. You can use this feature to connect a large set of internal device signals to a small number of output pins for debugging purposes and it can multiplex signals with design I/O pins if required.

You have limited on-chip memory and have a large set of internal data buses that you want to verify using an external logic analyzer. Logic analyzer vendors, such as Tektronics* and Agilent*, provide integration with the tool to improve usability.

Virtual JTAG Intel® FPGA IP core Enables you to build your own system-level debugging infrastructure, including both processor-based debugging solutions and debugging tools in the software for system-level debugging. You can instantiate the SLD_VIRTUAL_JTAG Intel® FPGA IP core directly in your HDL code to provide one or more transparent communication channels to access parts of your FPGA design using the JTAG interface of the device. You want to generate a large set of test vectors and send them to your device over the JTAG port to functionally verify your design running in hardware.
EMIF Debug Toolkit

Tcl-based graphical user interface communicating through a JTAG connection to enable external memory interface on the circuit board to retrieve calibration status and debug information. The Driver Margining feature of the tool kit allows you to measure margins on your memory interface using a driver with arbitrary traffic patterns. Tcl-based graphical user interface that provides access to memory calibration data gathered by the Nios® processor sequencer, through a JTAG connection. The Toolkit allows you to mask ranks for calibration, and to request recalibration of the interface. The Driver Margining feature of the toolkit allows you to measure margins on the memory interface using a driver with arbitrary traffic patterns. The EMIF Toolkit can communicate with several different memory interfaces on the same device, but only one at a time.

None
Transceiver Toolkit Uses System Console technology to help FPGA and board designers validate transceiver link signal integrity real time in a system and improve board bring-up time. Test for bit-error rate (BER) while simultaneously running multiple links at your target data rate to validate your board design with Transceiver Toolkit. Tune transceiver analog settings for optimal link performance while using different test metrics to quantify results. Simultaneously test multiple devices across one or more boards using link tests in the Transceiver Toolkit GUI. None
Configuration Debugger The programmer debugger tool that assists in debugging the programming and configuration issues includes the following components:
  • Programming files information
  • Device information
  • QSPI flash
  • QSPI Controller Settings and SFDP Values
  • Remote system update (RSU)
  • Voltage sensor monitoring
  • Temperature sensor monitoring
  • Hardware Processor System (HPS) Cold Reset
  • Debug Log
  • SDM Mailbox Command
None
System Console

Provides visibility into your design and allows you to perform system-level debug on an FPGA at run-time. System Console performs tests on debug-enabled Intel® FPGA IP. A variety of debug services provide read and write access to elements in your design. System Console provides the hardware debugging infrastructure to support operation and customization of debugging tools as listed in this table.

None