arria® 10 fpgas and socs
1387 TopicsWhy does the Nios® V/g processor become unstable when both CLIC and shadow registers are enabled?
Description Due to a problem in the Quartus® Pro/Standard Edition software version 26.1/25.1, Nios® V/g interrupt handling might be unstable when both CLIC mode and Shadow Register are enabled. This is because the Shadow Register CSR (msrfstatus) is not saved/restored during interrupt context saving under CLIC mode. Resolution To work around this problem in the Quartus® Prime Pro/Standard Edition Software version 26.1/25.1, follow these steps: Download the machine_trap.zip Extract to get the new machine_trap.S Search for the old machine_trap.S in your BSP project Replace with the new machine_trap.S file Rebuild your software Additional Information This problem is currently scheduled to be resolved in a future release of the Quartus® Prime Pro and Standard Edition Software.23Views0likes0CommentsError: CPU "intel_niosv_g_0" has no memories connected to its Avalon host(s)
Description Due to a problem in the Quartus® Pro Edition software version 26.1.1, you might see an error when generating a Nios® V BSP, when the AXI Address Span Extender IP is inserted between the Nios V processor and the memory device connected to the instruction and data buses of the Nios V. This is because the AXI Address Span Extender IP does not recognize the connected device as a memory device for the Nios V processor. Resolution To work around this problem in the Quartus® Prime Pro Edition Software version 26.1.1, follow these steps: 1. Open <QUARTUS_INSTALL_DIR>/ip/altera/merlin/axi_address_span_extender/axi_address_span_extender_hw.tcl 2. Go to around line 448, then delete the lines marked in red and add the lines marked in green as shown below. # this assignment allows this component to appear as a memory target in the Nios II linker script configuration GUI # it makes the memory map of our slave look like a valid linker target memory region # <<to be revisited in 13.0>> - #set_interface_assignment windowed_slave embeddedsw.configuration.isMemoryDevice 1 + set_interface_assignment $slave embeddedsw.configuration.isMemoryDevice 1 # # this assignment allows the macros of components attached to our master to appear in the Nios II system.h header # <<to be revisited in 13.0>> - #set_interface_assignment windowed_slave embeddedsw.configuration.affectsTransactionsOnMasters "expanded_master" + set_interface_assignment $slave embeddedsw.configuration.affectsTransactionsOnMasters $master Please do not include the leading "+" and "-" characters. 3. Regenerate your design in Platform Designer. Additional Information This problem is currently scheduled to be resolved in a future release of the Quartus® Prime Pro Edition Software. However, the updated statements are commented out by default. To apply the changes, remove the comment markers.11Views0likes0CommentsWhy don’t the new Nios® V/c processor features appear after upgrading the Nios® V/c Processor IP to Quartus® Prime Pro version 26.3?
Description In Quartus® Prime Pro Edition 26.3, the Nios® V/c processor IP is renamed from intel_niosv_c to niosv_c across all FPGA device families. Performing IP Upgrade from earlier Quartus® Prime project will retain the legacy intel_niosv_c in your project. For your information, This legacy intel_niosv_c IP remains at last updated back in Quartus® Prime Pro Edition 26.1.1. While new Nios® V/c processor IP feature are introduced into niosv_c IP starting from Quartus® Prime Pro Edition 26.3. In another words, auto-upgrade of intel_niosv_c to niosv_c in not supported by IP Upgrade. Thus, you may find those new Nios® V/c processor features (in niosv_c) is missing in intel_niosv_c. Resolution If new Nios® V/c processor features (such as Debug option) is required, re-instantiate the Nios® V/c processor in Quartus® Prime Pro version 26.3.22Views0likes0CommentsWhy is the HPS I2C SCL clock frequency above 400 kHz in fast mode when using U-Boot?
Description When the HPS I2C controller is configured for fast mode (clock-frequency = <400000>) in U-Boot, the measured SCL frequency might exceed the 400 kHz maximum in the I2C specification (for example, 431 kHz) on SoC FPGA designs. This happens because the U-Boot DesignWare I2C driver (drivers/i2c/designware_i2c.c) calculates the SCL high and low counts from assumed SCL rise and fall times. When the device tree does not specify them, the driver assumes default 300 ns for both in fast mode. The driver subtracts the assumed rise time from the SCL period. If the board's actual SCL rise time is shorter than 300 ns, the unused part of that allowance shortens the period, and SCL runs faster than 400 kHz. The Linux DesignWare I2C driver uses a different calculation and different device tree properties, so the same device tree node can give different SCL frequencies in U-Boot and Linux. Resolution To set the SCL timing to match your board, follow these steps: Measure the SCL and SDA rise times (30%–70%) and fall times (70%–30%) on your board with an oscilloscope, in fast mode. In the U-Boot device tree, add the measured values to the HPS I2C node: &i2c0 { clock-frequency = <400000>; i2c-scl-rising-time-ns = <[measured tr]>; i2c-scl-falling-time-ns = <[measured tf]>; i2c-sda-hold-time-ns = <[required hold, default 300]>; }; For Linux, add the SDA fall time to the same node. The Linux driver uses i2c-sda-falling-time-ns for the SCL high count and i2c-scl-falling-time-ns for the SCL low count, and ignores i2c-scl-rising-time-ns: i2c-sda-falling-time-ns = <[measured tf]>; Rebuild U-Boot and the Linux device tree blob, then re-measure SCL in both U-Boot and Linux to confirm the frequency is at or below 400 kHz and that tLOW ≥ 1.3 µs and tHIGH ≥ 0.6 µs. Note these points when tuning: In U-Boot, enter the actual measured rise time. A larger i2c-scl-rising-time-ns value makes SCL faster, not slower. In U-Boot, i2c-scl-falling-time-ns changes only the high/low duty cycle, not the frequency. In Linux, larger fall-time values make SCL slower. Do not lower clock-frequency below 400000 in U-Boot to slow the bus. Any value below 400000 selects standard mode (100 kHz timing). snps,bus-capacitance-pf has no effect in fast mode. U-Boot ignores it, and Linux uses it only for high-speed mode (3.4 MHz). Additional Information Property U-Boot Linux clock-frequency Sets the target SCL period (default 100 kHz) Selects the speed mode only (default 400 kHz) i2c-scl-rising-time-ns Sets the SCL frequency (default 300 ns in fast mode, 1000 ns in standard mode) Ignored by the DesignWare driver i2c-scl-falling-time-ns Changes the duty cycle only (default 300 ns) Sets the SCL low count (default 300 ns) i2c-sda-falling-time-ns Ignored Sets the SCL high count (default 300 ns) i2c-sda-hold-time-ns Sets the SDA hold time (default 300 ns) Sets the SDA hold time (default: keeps the existing hardware value) snps,bus-capacitance-pf Ignored Used in high-speed mode (3.4 MHz) only30Views0likes0CommentsWhat are the issues in Nios® V processor for designs targeting Agilex® 27 FPGA device?
Description Due to a problem in the Quartus ® Prime Pro Edition software version 26.3, Nios® V Debug IP fails to execute dmcontrol.hartreset on a halted Nios® V processor. This is because there is a bug in Nios® V/c processor, when servicing dmcontrol.hartreset request while halted. If the processor is a running state, dmcontrol.hartreset can be executed successfully. Resolution To work around this problem in the Quartus ® Prime Pro Edition software version 26.3 (select one), Use dmcontrol.ndmreset to reset the processor at any states. Use dmcontrol.hartreset only when the processor is at running state. This problem is currently scheduled to be resolved in a future release of the Quartus ® Prime Pro Edition Software.45Views0likes0CommentsWhy do I get the error "Verilog HDL error at name_of_file.sv (XXX): Name_of_parameter is not declared under the prefix 'Name_of_interface'" when using nested interface instances with parameters in Quartus® Prime Pro 26.1 and earlier?
Description When using nested interface instances with parameters in Quartus® Prime Pro 26.1 and earlier, compilation may fail with the following error message: Verilog HDL error at name_of_file.sv (XXX): Name_of_parameter is not declared under the prefix "Name_of_interface" This issue can occur when a parameter is referenced through a nested interface hierarchy and is not correctly resolved during compilation. Resolution This issue has been fixed in Quartus® Prime Pro 26.1.1. If a patch for an earlier version is required, please contact Altera Support and reference patch ID QS-20872.44Views0likes0CommentsWhy does compilation fail after restoring a project archive?
Description Due to a problem in the Quartus® Prime Pro Edition software Windows version 26.1.1, an archived project that compiles successfully before may fail to compile after it is restored from a Quartus Archive File (.qar). Some IP-generated files may be missing from the restored project. Resolution To work around this problem, open your project from the QAR file and change the following IP Generation settings: Open Assignments → Settings → IP Generation. Select VHDL as the IP generation language. Note: Do not regenerate the IP.66Views0likes0CommentsWhy 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 FLASH programming using the active serial x1/x2 interface in the Quartus Programmer. It does not impact just using ASx4 to program your FPGA or using JTAG to program your flash device. 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.590Views0likes0CommentsWhy does the SystemConsole.refreshMasters DSP Builder function fail?
Description When using the SystemConsole.refreshMasters DSP Builder function in the Quartus® Prime Pro Edition version 26.1.1 and above, you may see the following error: Unable to resolve the name 'com.altera.systemconsole.matlabapi.SystemConsoleLink' This error occurs because the Java version used by MATLAB is incompatible with com.altera.systemconsole.matlabapi.SystemConsoleLink. For DSP Builder version 26.1.1 and later, MATLAB must use Java version 11 or later for SystemConsole.refreshMasters to run successfully. Resolution You can change MATLAB's Java version using either the jenv MATLAB function or the matlab_jenv executable. For information on how to use jenv and matlab_jenv, refer to the MATLAB documentation.57Views0likes0CommentsWhy are there no example design options available in the “Select Design” drop-down list in the DisplayPort IP Parameter Editor GUI?
Description Due to a problem in the Quartus ® Prime Pro Edition Software version 26.1, the drop-down list for “Select Design” in the Display Port IP Parameter Editor GUI only has “None” option, as shown in the screenshot below. Resolution This problem has been fixed beginning with version 26.1.1 of the Quartus® Prime Pro Edition Software.179Views0likes0Comments