Why do I unexpectedly observe intermittent DDM Errors?
Description Beginning January 10, 2026, executing commands in the terminal or GUI of Quartus® Prime Pro Edition software, Quartus Embedded Edition software or select standalone tools may cause the software or tool to crash with an error similar to the crash signature shown below. This error affects: Quartus Prime Pro Software versions v23.3 through v25.3.1 Standalone Quartus Prime Pro Programmer v23.3 through v25.3.1 Standalone Quartus Prime Pro Embedded Edition v25.3 and v25.3.1 Standalone Quartus Prime Pro Power Thermal Analyzer v25.3 through v25.3.1 This issue is not observed in Quartus Prime Pro Edition versions 23.2 or prior or Quartus Prime Standard Edition. Crash Signature: Error (22912): Unhandled exception: Fatal Error: Assertion failed tools/cpp/ddm/ddm_assessor.cpp:53: DDM_T::verify_token(token) : Cannot identify the client from function assertion_error in tools/cpp/ddm_report/ddm_report_msg.cpp@465 *** Fatal Error: Program termination requested *** *** Below is the stack trace at the time the error occurred. *** The lines beginning "Err Handler" represent frames relating *** to generating this report. *** The point at which the error occurred is somewhere after these lines. *** There may be a few frames representing standard/library code *** before the Quartus frames begin. *** The search for the error should begin with the Quartus frames. *** Unwinder: libunwind *** Stack depth: 15 Quartus 0x24e67: err_terminator() + 0x1bc (ccl_err) Quartus 0xb036a: __cxxabiv1::__terminate(void (*)()) + 0xa (stdc++) Quartus 0xb03d5: (stdc++) Quartus 0xb0628: (stdc++) Quartus 0x1680d: void ddm_throw<DDM_RUNTIME_ERROR>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0x26d (ddm_report) Quartus 0x13fae: DDM_REPORT::DDM_ASSERTION_HANDLER::assertion_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const + 0xde (ddm_report) Quartus 0x12a52: DDM_REPORT::ASSERTION_HANDLER::error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) + 0x72 (ddm_report) Quartus 0x13e64: DDM_REPORT::detail::assert_at_line(char const*, char const*, int, char const*, ...) + 0x1b4 (ddm_report) Quartus 0x205fb0: ddm_set_lassessor(DDM_T_ASSESSOR*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0x60 (ddm) Quartus 0xf4445: DMS_MANAGER::DMS_MANAGER() + 0x5c5 (dni_dms) Quartus 0xf45b2: DMS_MANAGER::get() + 0x7a (dni_dms) Quartus 0xf6db4: _GLOBAL__sub_I_dms_manager.cpp + 0x58 (dni_dms) Quartus 0x647e: (ld-linux-x86-64) Quartus 0x6568: (ld-linux-x86-64) Quartus 0x202ca: (ld-linux-x86-64) Resolution To work around this problem: For Windows machines Download and unzip the Quartus Prime Pro version zip file that matches your Quartus Prime Pro version from this KDB. Double click on the executable ending in “windows.exe”. When the GUI pops up, press Next. Note that the GUI may look slightly different depending on the version of Quartus you are using. Accept the license agreement Specify the directory where the patch needs to be applied which may be a different location than Quartus install if you have standalone tools in a different directory from your Quartus Prime Pro software installation. Keep “Allow Patch to be uninstalled” selected. Select the software in which to install the patch: The patch will install in the directory of the software or tool you have selected. You will see an uninstall directory for the patch in your software or tool folder where patch is installed; it will contain an executable to uninstall the patch if required for any reason. To confirm patch is installed, you can run quartus_sh -v or corresponding version command for your tool via command line. Alternatively, you can Open Quartus in the GUI and select Help → About Quartus Prime in the main menu. If you are opening up a standalone tool you will navigate to Help-> About <tool_name>. For the Command Line Implementation of the patch in Windows, use the following command: <patch_filename.exe> --mode unattended --installdir <your_install_directory> --accept_eula 1 --patch_to [quartus|qprogrammer|qemb|pta] # An example to patch Quartus Prime Pro Edition Software v25.3: quartus-25.3-0.27-windows.exe --mode unattended --installdir /tmp/altera_pro/25.3 --accept_eula 1 # An example to patch the Standalone Programmer for Quartus Prime Pro Software v25.3: quartus-25.3-0.27-windows.exe --mode unattended --installdir /tmp/altera_pro/25.3 --accept_eula 1 --patch_to qprogrammer For Linux machines: Download and unzip the Quartus Prime Pro version zip file that matches your Quartus Prime Pro version from this KDB. Ensure you run chmod +x on the file ending with linux.run. Run in the command line: ./<installation_patch_run_file>. When GUI pops up, press Next. Note that the GUI may look slightly different depending on the version of Quartus you are using. Accept the license agreement Specify the directory where the patch needs to be applied which may be a different location than Quartus install if you have standalone tools in a different directory from your Quartus Prime Pro software installation. Keep “Allow Patch to be uninstalled” selected. Select the software in which to install the patch: The patch will install in the directory of the software or tool you have selected. You will see an uninstall directory for the patch in your software or tool folder where patch installed; it will contain an executable to uninstall the patch if required for any reason. To confirm patch is installed, you can run ./quartus_sh -v or corresponding version command for your tool via command line. Alternatively, you can Open Quartus in the GUI and select Help → About Quartus Prime in the main menu. If you are opening up a standalone tool you will navigate to Help-> About <tool_name>. For the Command Line Implementation of the patch in Linux, use the following command: ./<patch_filename.run> --mode unattended --installdir <your_install_directory> --accept_eula 1 --patch_to [quartus|qprogrammer|qemb|pta] # An example to patch Quartus Prime Pro Edition v25.3: ./quartus-25.3-0.27-linux.run --mode unattended --installdir /tmp/altera_pro/25.3 --accept_eula 1 # An example to patch the Standalone Programmer for Quartus Prime Pro Software v25.3: ./quartus-25.3-0.27-linux.run --mode unattended --installdir /tmp/altera_pro/25.3 --accept_eula 1 --patch_to qprogrammer This issue is scheduled to be fixed in a future release of the Quartus Prime Pro Edition Software. The below table lists the patches that are available and the associated patch number. The patch zip files are attached to the KDB below: Quartus Prime Pro Edition Version Patch Number 23.3 0.52 23.4 0.70 23.4.1 1.01 24.1 0.52 24.2 0.64 24.3 0.35 24.3.1 1.29 25.1 0.36 25.1.1 1.31 25.3 0.27 25.3.1 1.027KViews5likes0CommentsHow can I improve the security of my Quartus® Prime Software installation?
Description You can improve the security of your Quartus® Prime Software installation by following these security recommendations: • Install the latest tools that support your design. • During installation, select only the minimum software components that you require. • Install the latest version of the Quartus® Prime Standard Edition Software or the Quartus® Prime Pro Edition Software backward-compatible components that require connection to network or FPGA hardware device (FPGA Software Download Center, Additional Software tab): • FLEXlm License Server Software • Quartus® Prime Programmer and Tools, which includes Quartus Programmer, JTAG utilities, and USB-Blaster Drivers • Turn off the following optional features that connect to the Internet: • Check for software updates: Tools menu > Options, Internet Connectivity tab; Disable options under Startup. • Crash reporter: Tools menu > Options, Internet Connectivity tab, Problem report; Disable Always send report to Altera when internal error occurs (command-line only) • Talkback: Tools menu > Options, Internet Connectivity tab, TalkBack Options; Disable Turn on the Quartus® II software TalkBack feature option if you were using Quartus® II software edition 16.0 and below • Install and run the Quartus® Prime Software or Quartus® II software under unprivileged system accounts (No root/administrator privileges). • Set your firewall rules to block network connectivity for any of the Quartus® II software, Quartus® Prime software, or ModelSim* component: • Allow traffic only to the FlexLM license server, or use a node-locked fixed license instead of a network floating license. • Use System Console and related on-chip debug tools in a secure environment by opening ports (assigned when installing the server) only for inter-process communication on local machine. • Only open Quartus® Prime projects and files from trusted sources. The Quartus® Prime Software incorporates scripting capabilities and supports automated script execution that can be exploited by a malicious actor that is able to control Quartus® Prime Software project files. • Ensure all directories under your PATH environment variables are trusted. The Quartus® Prime software relies on the system environment variables to locate the 3 rd party simulations tools. • If you are using JTAG server, use SSH tunneling as recommended in Application Note 939. Resolution NIL500Views0likes0CommentsWhy does the Intel® FPGA Download Cables drivers installation fail on Windows* operating system?
Description Due to the expiration of the digital signature certificate of the Intel® FPGA Download Cable I (formerly referred to as USB Blaster I download cable) and the Intel® FPGA Download Cable II (formerly referred to as USB Blaster II download cable) drivers for Windows* operating system, the installation process of the drivers may fail. Follow the next steps to verify if the digital signature certificate of your driver has expired: Go to '<Quartus Installation Path>\qprogrammer\quartus\drivers\usb-blaster-ii' folder Right-click on 'usbblasterii.cat' and select 'Properties, then select the 'Digital Signatures' tab Select the 'IFDLII Production Key1' signature from the 'Signature List' and click 'Details' Click on 'View Certificate' If the driver has expired, you will see the 'This certificate has expired or is not yet valid' message Resolution A patch is available to fix this problem for the Intel® Quartus® Prime Software. Download and install Patch 0.02i for the Intel® Quartus® Prime Pro Edition Software version 20.4 and the Intel® Quartus® Prime Standard Edition Software version 21.1. Download and install Patch 0.02i for the Intel® Quartus® Prime Pro Edition Programmer and Tools or Patch 0.02stdp for the Intel® Quartus® Prime Standard Edition Programmer and Tools from the appropriate link below. Download Intel® Quartus® Prime Pro Edition Software version 20.4 patch 0.02i for Windows (.exe) Download the Readme for Intel® Quartus® Prime Pro Edition Software version 20.4 patch 0.02i (.txt) Download Intel® Quartus® Prime Standard Edition Software version 21.1patch 0.02stdp for Windows (.exe) Download the Readme for Intel® Quartus® Prime Standard Edition Software version 21.1 patch 0.02stdp (.txt) After installing patch 0.02i or patch 0.02stdp for Windows, follow the next steps to update the driver on the operating system: Connect your Intel FPGA download cable or Intel FPGA download cable II Open Device Manager window of Windows* OS Choose Windows Settings from Start menu > Type “Device Manager” into the search area > Choose Device Manager Find Altera USB-Blaster II under JTAG cables or Altera USB-Blaster under Universal Serial Bus controllers Find USB-Blaster or USB-Blaster II under Other devices Choose Altera USB-Blaster or Altera USB-Blaster II Right-click and choose Update driver from the context menu Choose Browse my computer for driver software on the Update Drivers window Enter the following path for the driver and enable; include subfolders - <Intel Quartus Prime software install directory>\quartus\drivers or - <Intel Quartus Prime Programmer install directory>\qprogrammer\drivers or - <Intel Quartus Prime Programmer install directory>\qprogrammer\quartus\drivers Click Next This problem is fixed starting with the Intel® Quartus® Prime Pro Edition Software version 21.1.356Views0likes0CommentsError (XXXXX): Cannot generate Atom Netlist File because family Stratix® 10 FPGA is not installed
Description Due to a problem in the FPGA SDK for OpenCL version 21.1, this error may be seen when compiling a Stratix® 10 OpenCL kernel using the import flow. Resolution A patch is available to fix this problem for the Quartus® Prime Pro Edition software version 21.1. Download and install Patch 0.14cl from the files below. This problem is fixed starting with the Quartus® Prime Pro Edition software version 21.2.256Views0likes0CommentsUpdate Driver Software - USB-Blaster Windows encountered a problem installing the driver software for your device
Description Due to a problem in the Quartus® Prime Pro Edition Software version 17.0 and 17.1, you may see this dialog when you install the driver software for the FPGA Download Cable (formally the USB-Blaster). Resolution Install the driver from the drivers folder of version 17.0 or 17.1 of the Quartus Prime Standard Edition or Stand-alone Quartus® Prime Programmer and Tools Standard Edition instead. Install the Quartus® Prime Standard edition or stand-alone Quartus® Prime Programmer and Tools Standard edition. Open Device Manager of Windows OS. Select Altera USB-Blaster under Universal Serial Bus controllers or USB-Blaster under Other devices Choose Update Driver Software from Action menu Choose Browse my computer for driver software on Update Driver Software - USB-Blaster window Click Browse button, specify the following driver location and click Next button <Quartus Prime Standard edition install folder>\quartus\drivers or <Stand-alone Quartus Prime Programmer and Tools Standard edition install folder>\qprogrammer\drivers Click Close button when you see "Windows has successfully update your driver software" dialog. This problem is scheduled to be fixed in a future version of Quartus® Prime Pro Edition Software.202Views0likes0CommentsIs the Nios® II Software Build Tools (SBT) for Eclipse included in the full installation of the Intel® Quartus® Prime Pro Edition Software starting from version 19.1?
Description No, the Nios® II SBT for Eclipse is not included starting from Intel® Quartus® Prime Pro and Standard Edition Software version 19.1 onwards. Resolution To install the Nios® II SBT for Eclipse, follow the steps below: 1. Download CDT 8.8.1 which is Eclipse C/C IDE for Mars.2 CDT 8.8.1 for Windows CDT 8.8.1 for Linux Note: Try the mirror links if the main source link doesn't work. 2. Extract the downloaded file into <Intel Quartus installation directory>/nios2eds/bin. You should see the <Intel Quartus installation directory>/nios2eds/bin/eclipse folder after extraction is done. 3. Rename the <Intel Quartus installation directory>/nios2eds/bin/eclipse folder to <Intel Quartus installation directory>/nios2eds/bin/eclipse_nios2 4. Extract the <Intel Quartus installation directory>/nios2eds/bin/eclipse_nios2_plugins.zip (or tar.gz for Linux) to <Intel Quartus installation directory>/nios2eds/bin. The extraction will override files in <Intel Quartus installation directory>/nios2eds/bin/eclipse_nios2. 5. Verify the extraction is done correctly by making sure you see the <Intel Quartus installation directory>/nios2eds/bin/eclipse_nios2/plugin_customization.ini file 6. You can now launch Nios II SBT for Eclipse via eclipse-nios2.exe The instructions are included in the <Intel Quartus installation directory>/nios2eds/bin/README. This information will be included in the future release version of Intel® FPGA Software Installation and Licensing User Guide.200Views0likes0CommentsHow do I enable Micron's MT25Q device support in replacement to End Of Life (EOL) EPCQ(>=256Mb) and EPCQ-L devices?
Description As announced in PDN1802, EPCQ(>=256Mb) and EPCQ-L devices are being discontinued. The Micron* MT25Q devices can be use as replacement devices to support Active Serial configuration scheme in the Intel® Quartus® Prime software version 17.1 and later. To enable MT25Q support, add following variable into your quartus.ini file within the project directory: pgm_allow_mt25q=on If you do not have a quartus.ini file, use a text editor to create it, add the above variable and save this file as quartus.ini into your project directory or <Quartus Prime install directory>\bin64 (Windows) or <Quartus Prime install directory>/linux64 (Linux). When you open your project after adding the above variable, you should be able to see MT25Q devices in: Convert Programming File tool IPs accessing Active Serial Memory Interface (ASMI) port Remote System Update IP Since MT25Q devices are not listed in the Configuration Device setting under Configuration category of “Device and Pin Options” in the Quartus software, use the Convert Programming File tool to generate a programming file for Active Serial configuration with a MT25Q device. In Quartus® Prime Standard edition version 17.1, the MT25Q devices are not listed in the Remote System Update IP. You can work around this by choosing an equivalent size of EPCQ or EPCQL device. To enable MT25Q support in the standalone Quartus Prime Programmer, refer to the following steps: Place quartus.ini with the above variable into (a) the same directory where you will save a Programmer Object File (.pof) or a JTAG Indirect Configuration (.jic) file (b) <programmer install directory>\bin or bin64 Start your standalone Quartus Prime programmer and open Convert Programming File tool from File menu. When you place the quartus.ini file in step 1(b), you can skip step 3 and 4. Specify the path and the name in the File name column of the Convert Programming File tool. Close the Convert Programming File tool and restart it. You should be able to see MT25Q devices in the Convert Programming File tool. Additional Information : NVCR Programming MT25Q devices have a non-volatile configuration register (NVCR). The NVCR must be set to an appropriate value according to the MT25Q device and configuration mode in FPGA device families. When using a JTAG Indirect Configuration (.jic) programming file or AS programming mode in the Quartus Prime software version 17.1 and later, the NVCR is automatically set during programming of the MT25Q device. If you are using a 3rd party programmer tool or your own solution, you must set the non-volatile configuration registers accordingly. To set the non-volatile configuration register, follow these steps: Execute write enable operation: opcode b’0000 0110 Execute write non-volatile configuration register operation: opcode b’1011 0001 followed by 16-bit register value Set the 16-bit register value as b'1110 111y xxxx 1111 where y is the address byte (0 for 4-byte addressing and 1 for 3-byte addressing) and xxxx is the dummy clock value. When the xxxx value is from 0001 to 1110, the dummy clock value is from 1 to 14. When xxxx is 0000 or 1111, the dummy clock value is at the default value, which is 8 for standard fast read (ASx1) mode and 10 for extended quad input fast read (ASx4 mode). Due to the register being non-volatile, you only have to set this register once as long as you do not change the configuration mode. Refer to the following tables for respective FPGA family device dummy clock value and the 16-bit NVCR register operation bits definition. Table 1. Dummy Clock Cycles and Address Bytes for the Non-Volatile Configuration Register Operation FPGA Device Address Bytes Dummy Clock Cycles ASx1 ASx4 • Pre 28nm Intel® FPGA (1) • Intel® Cyclone® 10 LP 3-byte addressing 8 - • Arria V • Cyclone V • Stratix V 3-byte addressing 12 12 4-byte addressing 4 10 • Intel® Arria 10 • Intel® Cyclone 10 GX 4-byte addressing 10 10 • Intel® Stratix® 10 3-byte addressing - 10 Table 2. Non-Volatile Configuration Register Operation Bit Definition (5) Bit Description Default Value 15:12 Number of dummy cycles. When this number is from 0001 to 1110, the dummy cycles is from 1 to 14. 0000 or 1111 (2)(3) 11:5 Set these bits to 1111111. 1111111 4 Recommend setting this bit to 0 to disable RESET or HOLD function on DQ3 pin. (4) 1 3:1 Set these bits to 111. 111 0 Address byte setting. • 0 = 4-byte addressing • 1 = 3-byte addressing 1 Note 1: Devices prior to V-series device family such as Arria II, Cyclone IV and Stratix IV. Note 2: The default dummy clock cycles is 10 for extended quad input fast read and 8 for extended dual input fast and standard fast read. Note 3: For the Intel® Stratix® 10 device, use the default value 1111h to set 10 dummy clock cycles. Note 4: Quartus Prime Programmer and active serial configuration don't use RESET or HOLD function. Note 5: Non-volatile configuration register operation transfers the least significant byte (bit [7:0]) first, then transfers the most significant byte (bit[15:8]). Resolution MT25Q devices have been supported in the Active Serial configuration scheme, the IPs accessing ASMI port and the Remote System Update IP without the above variable since Intel® Quartus® Prime software version 18.1. You can find 3rd party flash ROM support infromation in the following page. Device Configuration - Support Center > Intel Supported Configuration Devices > Intel Supported Third Party Configuration Devices198Views0likes0CommentsWhy does the Intel® FPGA Download Cable II driver installation fail on Windows* operating system?
Description Due to the expiration of the digital signature certificate of the Intel® FPGA Download Cable II driver for Windows* operating system, the installation process of the driver may fail. Follow the next steps to verify if the digital signature certificate of your driver has expired: Go to '<Quartus Installation Path>\qprogrammer\quartus\drivers\usb-blaster-ii' folder Right click on 'usbblasterii.cat' and select 'Properties', then select the 'Digital Signatures' tab Select the 'IFDLII Production Key1' signature from the 'Signature List' and click 'Details' Click on 'View Certificate' If the driver has expired, you will see the 'This certificate has expired or is not yet valid' message Resolution To work around this problem, follow the next steps: Download an updated version of the driver from the following link Decompress the downloaded file and substitute 'usb-blaster-ii.inf' and 'usb-blaster-ii.cat' files in '<Quartus Installation Path>\qprogrammer\quartus\drivers\usb-blaster-ii' folder Launch the Windows* 'Device Manager' Locate 'Altera USB-Blaster II (JTAG interface)' node under 'JTAG cables' in the Windows* 'Device Manager', right click and select 'Update Driver' Choose ´'Browse my computer for driver software' then click on 'Search for drivers in this location' and point to the new 'usb-blaster-ii.inf' file This problem is fixed starting with the Intel® Quartus® Prime Pro Edition software version 21.1.168Views0likes0CommentsHow to install the Windows* Subsystem for Linux* (WSL) on Windows* OS?
Description Starting with the Nios® II EDS in the Intel® Quartus® Prime Pro Edition Software version 19.2 and Intel® Quartus® Prime Standard Edition Software version 19.1, the Cygwin component in the Windows* version of Nios II EDS has been removed and replaced with WSL. Resolution The procedure for installing WSL is: Follow standard instructions from Microsoft® to install Ubuntu* 18.04 LTS for WSL. Refer to https://docs.microsoft.com/en-us/windows/wsl/install-win10. The recommended OS would be Windows* 10 build version 16215.0 or higher. NIOS II currently does not support WSL 2. Remember: In Windows Features, ensure to turn on the Windows Subsystem for Linux option. After the installation is successful, launch the Ubuntu 18.04 app. Install the additional distro packages that are required for Nios® II EDS using the following commands: a. sudo apt update b. sudo apt install wsl c. sudo apt install dos2unix d. sudo apt install make e. sudo apt install build-essential Note: Ensure that all package dependencies, repositories lists, and Internet connections for WSL are set correctly. For Nios II Command Shell, launch the Windows executables of the command line tools by adding ".exe" (for example eclipse-nios2.exe or jtagconfig.exe). Nios II BSP and application projects from the previous Intel Quartus Prime release are not compatible with the WSL solution. You are required to regenerate your projects. This information now included in the Nios II Software Developer Handbook162Views0likes0CommentsError(19433): Transfer between periphery and DSP or RAM (signal name) through logic cell (signal name) will make timing transfer impossible
Description You might get this error message when compiling design connecting External Memory Interfaces Intel® Stratix® 10 FPGA IP to Block RAM directly by using the Intel® Quartus® Prime Pro Edition Software. Resolution You can avoid this error by adding one or more pipeline stages between the External Memory Interfaces Intel® Stratix® 10 FPGA IP and the Block RAM.138Views0likes0Comments