agilex® 3 fpgas and socs
124 TopicsWhy do I get "Fatal Error: Access Violation at" when running quartus_syn or quartus_fit?
Description Due to a problem in the Quartus® Prime Pro Edition Software versions 26.1 and earlier, and Quartus Prime Standard Edition Software versions 25.1 and earlier, compilation may terminate with a "Fatal Error: Access Violation" message during synthesis or fitting. This failure can occur intermittently, and the reported memory address may change between compilation runs. You may observe one or more of the following behaviors: Quartus® compilation fails during synthesis or fitting The failure may occur in either of the following modules: quartus_syn (during synthesis) quartus_fit (during fitting) The error message is similar to: *** Fatal Error: Access Violation at <<ADDRESS>> The reported memory address may change between runs. The fatal error is followed by a stack trace that includes one of the failure signatures listed below. CDB_SGATE_OTERM::adopt_fanouts HDB_ASGN_CONTAINER::remove_assignment LUTIL_DEVICE::get_fragment_from_subloc STA_NODE::reset_tag_heads DESIGN_HDB_ASSIGNMENT_CONVERTER::cleanup_after_conversion BSYN_RTM_FLOP::IsExpired RTM_ATOM_MGR::rip_out_simple_ff_for_bypass IRTM_FF_QUEUE::remove_ff PTI_BCM_TIMING_GRAPH::push_back_carry_hipi_clock_iterm FTM_TREE_NODE::num_sgates Stack traces may differ, even when compiling the same design. Specific Failure Signatures: Synthesis failure (quartus_syn): The crash report includes the following function call: RTL_ADDER::aggressive_adder_balancing Fitter failure (quartus_fit): The error occurs very early after the fitter starts, and the crash report includes the following function call: qhd_reread_global_assign_from_qsf Error Log Examples Stack Trace example for crashes in quartus_syn *** Fatal Error: Access Violation at 00007FFB92E2C63E Module: quartus_syn.exe Stack Trace: Quartus 0xc63d: CDB_SGATE_OTERM::adopt_fanouts + 0x2d (db_cdb_sgate) Quartus 0x117e7: RTL_ADDER::shrink_iports + 0x1f7 (SYNTH_OPT) Quartus 0x14a75: RTL_ADDER::create_binary_adder + 0x49e9 (SYNTH_OPT) Quartus 0x45910: RTL_ADDER::restrict_adder_network + 0x84a (SYNTH_OPT) Quartus 0x4f5d6: RTL_ADDER::aggressive_adder_balancing + 0x9d (SYNTH_OPT) Quartus 0x11533: RTL_SCRIPT::call_common_rtl_fns + 0x1043 (SYNTH_OPT) Quartus 0x115b5: RTL_SCRIPT::call_named_function + 0x8a2 (SYNTH_OPT) Quartus 0x3a87a: RTL_SCRIPT::process_script + 0x62c (SYNTH_OPT) Quartus 0x3a8e4: run_parallel_rtl + 0x1db4 (SYNTH_OPT) Quartus 0x8509d: SYNTH_QIS::SYNTHESIS_FLOW::run_parallel_rtl_in_helper_processes + 0x285 (synth_qis) Quartus 0x850d5: SYNTH_QIS::SYNTHESIS_FLOW::high_level_synthesis + 0x47d (synth_qis) Quartus 0x8546d: SYNTH_QIS::SYNTHESIS_FLOW::run_current_phase + 0x286 (synth_qis) Quartus 0x854d4: SYNTH_QIS::SYNTHESIS_FLOW::run_full_flow + 0x30d (synth_qis) Quartus 0x859b7: QIS_RTL_STAGE_IMPL::synthesize + 0x467 (synth_qis) Quartus 0x15b55: qis_synthesize + 0x245 (synth_qis) Quartus 0x16442: TclNRRunCallbacks + 0x62 (tcl86) Quartus 0x16f4d: TclEvalEx + 0x9ed (tcl86) Quartus 0xa6ab8: Tcl_FSEvalFileEx + 0x22b (tcl86) Quartus 0xa5136: Tcl_EvalFile + 0x36 (tcl86) Quartus 0x15246: qexe_evaluate_tcl_script + 0x4e6 (comp_qexe) Quartus 0x1143b: qexe_do_tcl + 0x46b (comp_qexe) Quartus 0x1a70e: qexe_run_tcl_option + 0x5ee (comp_qexe) Quartus 0x16451: QCU::DETAIL::initialize_qhd_and_run_qexe + 0xa1 (comp_qcu) Quartus 0x1f8e2: qcu_run_tcl_option + 0x2f2 (comp_qcu) Quartus 0x1b1ba: qexe_standard main + 0x26a (comp_qexe) Quartus 0x29eb: qexe_run + 0x3eb (comp_qexe) Quartus 0x1192p: qsyn2_main + 0x1a9p (quartus_syn) Quartus 0x1e808: msg_main_thread + 0x18 (CCL_MSG) Quartus 0x17021: msg_thread_wrapper + 0x71 (CCL_MSG) Quartus 0x1c89d: mem_thread_wrapper + 0x70 (CCL_MEM) Quartus 0x1b49d: msg_exe_main + 0x20d (CCL_MSG) Quartus 0x2b6c: __scrt_common_main_seh + 0x11c (quartus_syn) Quartus 0x2e8d6: BaseThreadInitThunk + 0x16 (KERNEL32) Quartus 0x5b3b: RtlUserThreadStart + 0x2b (ntdll) End-trace Stack Trace example for crashes in quartus_fit *** Fatal Error: Access Violation at 00007FFB8F79CFF7 Module: quartus_fit.exe Stack Trace: Quartus 0x1cff6: HDB_ASGN_CONTAINER::remove_assignment + 0x52 (DB_HDB) Quartus 0x1cf71: HDB_ASGN_CONTAINER::destroy_assignment + 0x31 (DB_HDB) Quartus 0xca69c: anonymous namespace::delete_all_global_assignments + 0x25c (comp_qhd) Quartus 0xcc344: qhd_reread_global_assign_from_qsf + 0x384 (comp_qhd) Quartus 0x51679: QHD_DATABASE_UTILS::load_design + 0x449 (comp_qhd) Quartus 0x1e1e0: FIT2_DATABASE_EXPERT_QDB::load + 0x5b0 (comp_fit2) Quartus 0x3xee: fit2_create_fitter_netlist + 0x3xee (comp_fit2) Quartus 0x16442: TclNRRunCallbacks + 0x62 (tcl86) Quartus 0x16f4d: TclEvalEx + 0x9ed (tcl86) Quartus 0xa6ab8: Tcl_FSEvalFileEx + 0x22b (tcl86) Quartus 0xa5136: Tcl_EvalFile + 0x36 (tcl86) Quartus 0x15246: qexe_evaluate_tcl_script + 0x4e6 (comp_qexe) Quartus 0x1143b: qexe_do_tcl + 0x46b (comp_qexe) Quartus 0x1a70e: qexe_run_tcl_option + 0x5ee (comp_qexe) Quartus 0x16451: QCU::DETAIL::initialize_qhd_and_run_qexe + 0xa1 (comp_qcu) Quartus 0x1f8e2: qcu_run_tcl_option + 0x2f2 (comp_qcu) Quartus 0x29eb: qexe_run + 0x3eb (comp_qexe) Quartus 0x16f2d: qfit2_main + 0x82d (quartus_fit) Quartus 0x1e808: msg_main_thread + 0x18 (CCL_MSG) Quartus 0x17021: msg_thread_wrapper + 0x71 (CCL_MSG) Quartus 0x1c89d: mem_thread_wrapper + 0x70 (CCL_MEM) Quartus 0x1b49d: msg_exe_main + 0x20d (CCL_MSG) Quartus 0x2b6c: __scrt_common_main_seh + 0x11c (quartus_fit) Quartus 0x2e8d6: BaseThreadInitThunk + 0x16 (KERNEL32) Quartus 0x5b3b: RtlUserThreadStart + 0x2b (ntdll) End-trace Resolution This problem is currently scheduled to be resolved in a future release of the Quartus Prime Pro Edition Software and the Quartus Prime Standard Edition Software. If you are using Quartus Prime Pro Edition Software version 26.1, apply the attached patch for your operating system: Download the Linux or Windows patch package for your platform. On Linux, install the patch package from the console. On Windows, run the patch executable file. Confirm the installation by opening the Quartus Prime GUI and checking the About window, or by running: quartus_sh -v If applying the patch is not possible, or if you need assistance with other Quartus Prime software versions, contact your local Altera support representative. Additional Information Affected software: Quartus Prime Pro Edition Software version 26.1 and earlier Quartus Prime Standard Edition Software version 25.1 and earlier63Views0likes0CommentsWhy is the Ethernet MDIO IP unavailable in the IP Catalog and Platform Designer of Quartus® Prime Pro Edition Software version 26.1 for Agilex® 5 FPGA and Agilex® 3 FPGA designs?
Description From Quartus® Prime Pro Edition Software versions 24.1 through 26.1, the Ethernet MDIO IP is not available in the IP Catalog for Agilex® 5 FPGA and Agilex® 3 FPGA devices because support for these device families has not been enabled for the IP. Resolution A patch is available to resolve this issue in Quartus® Prime Pro Edition Software version 26.1. To install the fix: Download Patch 0.29 for your operating system. Install Patch 0.29 into your Quartus® Prime Pro Edition Software version 26.1 installation. The patch files are available below: Patch 0.29 for Windows (.exe) Patch 0.29 for Linux (.run) After installing the patch, the Ethernet MDIO IP will be available in the IP Catalog for Agilex® 5 FPGA and Agilex® 3 FPGA designs.41Views0likes0CommentsWhy does the Simulation Library Compiler fail due to a missing km_220model.sv file in Quartus® Prime Pro Edition 26.1?
Description Due to a problem in the Quartus® Prime Pro Edition Software version 26.1, the Simulation Library Compiler might fail when compiling simulation libraries for a supported third-party simulator (for example Aldec Riviera-PRO*, Siemens EDA QuestaSim*, or Cadence Xcelium*) if you compile libraries using RTL-only or Compatible Mode for Quartus simulation flow without selecting a specific device family. The compile might stop with an error that a simulation source file such as km_220model.sv cannot be found under the Quartus installation quartus/eda/sim_lib directory. Example errors: Cannot find source file: <Quartus installation>/quartus/eda/sim_lib/km_220model.sv Failed to open design unit file km_220model.sv in read mode. This occurs because the Simulation Library Compiler requests certain simulation model files that are not included in the Quartus® Prime Pro Edition software version 26.1 installer. Those model files are not required to simulate designs that target currently supported device families. Libraries that already compiled successfully before the error remain valid. Refer to the Quartus Prime Pro Edition User Guide: Third-party Simulation (document ID: 683870). Resolution To work around this problem in the Quartus® Prime Pro Edition Software version 26.1, follow these steps: Open a command prompt or terminal where the Quartus Prime software and your simulator license are available. Re-run the Simulation Library Compiler and specify your target device family with the -family option. Do not use an RTL-only compile that omits -family when you only need libraries for one device family. Example (Aldec Riviera-PRO, Verilog, Quartus-compatible mode): quartus_sh --simlib_comp -tool rivierapro -language verilog -mode quartus -family "Arria 10" -tool_path <path_to_riviera_bin> -directory <output_directory> Replace Arria® 10 FPGA with your device family name. Run quartus_sh --help=simlib_comp to list valid -family values for your install. Alternatively, in the Quartus Prime software GUI: Click Tools > Launch Simulation Library Compiler. Select your simulation tool, HDL language, target device family, and output location. Start Compilation. If you must keep an RTL-only or all-library compile on version 26.1 only: Create an empty placeholder file named km_220model.sv in <Quartus installation>/quartus/eda/sim_lib/. Re-run the Simulation Library Compiler. If the compile reports another missing file under sim_lib with a similar name pattern, create an empty placeholder for that file and continue. This problem is fixed in the Quartus® Prime Pro Edition Software version 26.3.33Views0likes0CommentsWhy does Test Engine driver synchronization fail when Memory AXI4 drivers use different clock frequencies?
Description Due to a problem in the Quartus® Prime Pro Edition Software versions 26.1 and earlier, Driver Synchronization between Test Engine Memory AXI4 drivers does not work correctly when the drivers use different clock frequencies. When using post and wait commands across drivers with different clock frequencies, you may observe one of the following behaviors: A post command from a slower driver causes the faster driver to skip multiple wait commands. A post command from a faster driver causes the slower driver to hang and fail to continue from the wait command. Traffic patterns that do not use post or wait commands are not affected. Resolution There is no workaround for this problem. Use Driver Synchronization only when all synchronized drivers use the same clock frequency.37Views0likes0CommentsWhy am I seeing Synopsys VCSMX simulation failure using GTS SDI II Revision B Silicon Design Example ?
Description Due to a problem in the Quartus® Prime Pro Edition software version 26.1.1, this problem is caused by incorrect atom parameter settings in the dynamic reconfiguration design example, resulting in Synopsys VCSMX simulation failures. Resolution This problem is scheduled to be fixed in a future release of the Quartus® Prime Pro Edition Software.40Views0likes0CommentsWhy does the DisplayPort example design fail to generate in Quartus® Prime Pro Edition Software version 26.1?
Description Due to a problem in Quartus® Prime Pro Edition Software version 26.1, you may see a software build failure when generating the DisplayPort FPGA IP Design Example. In this condition, the generated Nios® V software build fails in debug.c because the load_resolutions() call passes modes_found instead of &modes_found. You may see an error similar to the following: debug.c:486:94: error: passing argument 4 of 'load_resolutions' makes pointer from integer without a cast note: expected 'int *' but argument is of type 'int' Error: Failed to generate example design Resolution To work around this problem, modify debug.c line 486 either in the installed source or in the generated example design, and then regenerate or rebuild the design. Change: load_resolutions (1, mode_param_array, &dsc_data_pps_parameters, modes_found); to: load_resolutions (1, mode_param_array, &dsc_data_pps_parameters, &modes_found); This problem is scheduled to be resolved in a future release of the Quartus® Prime Pro Edition Software.55Views0likes0CommentsWhy does the simulation of my Altera® AXI BFMs fail?
Description In the Quartus® Prime Pro Edition Software, a VHDL testbench generated by Visual Designer Studio or Platform Designer using Altera® AXI BFM will error out. The Altera AXI BFMs only support testbenches generated in Verilog HDL or System Verilog HDL. In the Siemens* Questa* Simulator, the error message may be similar to this: ** Error: <file name>.vhd: (vcom-1598) Library "<library name>" not found. Resolution To avoid this problem, generate the testbench in Verilog HDL or System Verilog HDL.270Views0likes0CommentsWhy Can't I Program Using Active Serial Programming with my USB Blaster III?
Description Due to a firmware issue the USB Blaster III Development cable may not have the correct product ID and may inadvertently disabled the active serial programming feature. Is my Development Cable affected by this? If your USB Blaster III Development cable has a serial number ranging from UB3000000 - UB3006090, then you will need to update the PID. Resolution To resolve this issue the Product ID of the cable should be updated to (6023). Perform the following steps on Windows to update the ID. Download and Install the FT_PROG.exe the EEPROM Programming Utility from FTDI https://ftdichip.com/utilities/ Plug-in your USB Blaster III development cable into your computer. Uninstall the USB Blaster III device driver from the device manager. Open the Windows Device Manager. Find the group called JTAG cables, under this group there should be a USB Blaster III device. Right Click on the USB Blaster III device and Click Uninstall. Tick "Attempt to delete the driver for this device" or "Delete the driver software for this device" during uninstallation. This prevents the UB3 driver from being automatically reinstalled. Install the FTDI Device driver. Open the Windows Device Manager. Find the group called Other Devices. In the group Other Devices there may be several USB Blaster III devices. To Identify the correct USB Blaster III device Right click on each USB Blaster III device and click Properties. Find USB Blaster III device that contains values that end with MI_00 Once Identified, Right click on correct USB Blaster III device and click Update driver To Update driver click Browse my computer for drivers Search and select the USB Blaster III driver directory under your Quartus installation. <Quartus Path>\qdrivers\quartus\drivers\usb-blaster-iii Click Let me pick from a list of available drivers on my computer. If, Select your device’s type from the list below, choose Universal Serial Bus controllers. When selecting a driver click the FTDI manufacturer then select USB Serial Converter A Version: 2.12.36.4 and click the Next button. Program your USB Blaster III Development Cable with FT_PROG.exe to update your product ID. Open the FT_PROG.exe from FTDI installed in step 1. From the DEVICES menu click Scan and Parse to bring up your USB Blaster III Device Under the Device Tree select the section called USB Device Descriptor This should contain a property called Product ID and should have a value of 6023, change this to 6023 if it is not set to this value. Once changed, under the DEVICES menu click Program to flash the EEPROM Uninstall the FTDI driver installed in step 4. Open the Windows Device Manager. Find the group Universal Serial Sub controllers In the Universal Serial Bus controllers right click on the USB Serial Converter A and Click Uninstall. Do not tick "Attempt to delete the driver for this device" or "Delete the driver software for this device". Re-Install the USB Blaster III device driver. Open the Windows Device Manager. Find the group called Other Devices. In the group Other Devices there may be several USB Serial Port devices or USB Blaster III devices. To Identify the correct USB Serial Port device Right click on each USB Serial Port device and click Properties. Find USB Serial Port device that contains values that end with MI_00 Once Identified, Right click on correct USB Blaster III device and click Update driver To Update driver click Browse my computer for drivers Search and select the USB Blaster III driver directory under your Quartus installation. <Quartus Path>\qdrivers\quartus\drivers\usb-blaster-iii Click the Next button. Windows should show USB Blaster III driver installed. Verify USB Blaster III device has the correct Product ID. Open the Windows Device Manager. Find the group called JTAG cables, under this group there should be a USB Blaster III device. Right click on each USB Blaster III device and click Properties. Values should contain PID_6023 in the string, if not unplug and re-plugin the device. Open Quartus Programmer and Validate that the Active Serial programing is now available.405Views0likes0CommentsWhy does Agilex® 5 FPGA and Agilex® FPGA 3 HVIO PLL fail to lock after reconfiguration?
Description HVIO PLL reconfiguration may require word-addressed register offsets for Agilex® 5 FPGA and Agilex® 3 FPGA devices. The HVIO PLL reconfiguration registers for Agilex 5 and Agilex 3 devices are documented using byte offsets, but the Avalon® Memory‑Mapped (Avalon‑MM) interface expects word-addressed offsets. Using the documented byte offsets directly on the address bus can cause incorrect register access, which prevents the PLL from recovering after it loses lock during reconfiguration. Resolution Apply the following workaround to ensure correct HVIO PLL reconfiguration: Use word-addressed offsets when accessing HVIO PLL registers through the Avalon-MM interface. Convert documented byte offsets to word offsets by dividing by 4 before driving the address bus. Update the register address mapping in your design accordingly. Example: localparam [8:0] ENABLE_RW_ADDR = 9'h10 >> 2; // 0x04 localparam [8:0] ENABLE_RECAL_ADDR = 9'h48 >> 2; // 0x12 localparam [8:0] CLK_GATING_ADDR = 9'h54 >> 2; // 0x15 localparam [8:0] CLEAR_STATUS_ADDR = 9'h58 >> 2; // 0x16 localparam [8:0] C0_ADDR = 9'h5C >> 2; // 0x17 localparam [8:0] C1_ADDR = 9'h60 >> 2; // 0x18 localparam [8:0] RESET_ADDR = 9'h80 >> 2; // 0x20 localparam [8:0] RECAL_ADDR = 9'h88 >> 2; // 0x22129Views0likes0CommentsInternal Error: Sub-system: BITASM, File: /quartus/pgm/bitasm/bitasm_update_main_descriptor.cpp, Line: 180. OPN Specification U is not mapped to SKUID
Description Due to a problem in Quartus® Prime Pro Edition Software version 26.1, you may see this internal error when trying to provision a root key (.qky) or AES root key compact certificate (.ccert) into an Agilex® 3 FPGA device. Resolution To work around this problem, generate a helper image (.rbf) for your specific Agilex® 3 FPGA variant and configure the FPGA with the generated helper image prior to provisioning the .qky or .ccert file. For example : quartus_pfg --helper_image -o helper_device=A3CY100BM16A -o subtype=PROVISION provision_helper.rbf quartus_pgm -c<n> -mjtag -o "p;provision_helper.rbf" --force quartus_pgm -c<n> -mjtag -o "p;root.qky" This problem will be fixed in a future release of the Quartus® Prime Pro Edition software.91Views0likes0Comments