Recent Content
Timing analysis - long combinational path
Hi, Running Timing Analyzer I get violations due to long combinational paths. Looking at the path in the technology map viewer, it looks like this leftmost block = registerbank holding a configurable value used by the other two modules center/rightmost block = two identical modules using the register-value I can see the long path, but I do not understand why it is implemented like this. Why is the register-value routed through dec_filter:15 to dec_filter:9, and not getting the value directly from the register-bank-module to the left? Is there anything I can do to force a different implementation?180Views0likes25CommentsAbout ALTIOBUF simulation
I'm trying to use the IP ALTIOBUF for input delay, but simulating failed, and the error message is: Bad default binding for component instance "ioconfiga : cyclonev_io_config".# (Component port "padtoinputregisterfinedelaysetting" is not on the entity.). I'm sure I've added all the necessary libraries(altera_mf, primitives....), and the device in use is cycloneV, my quartus version is 17.1, so is there anybody who have used this IP? In addition, who can give the timing diagram for this IP? thanks1View0likes0CommentsAgilex 5 dual simplex fitting
Hello all. In my project I have to implement HDMI input and HDMI output. As a starting point I took an example design, which is generated from HDMI IP core. This example uses the dual simplex to place input and output to the same transciever block (bank 4C). By default the rx component has an offfset 1 in dual simplex group: Do not pay attention to the second DS_Group, it is not used in the code. This project can be successfully compiled. I work with quartus 25.1 Pro. Due to some reasons, this dual simplex configuration is not suitable for my project. I need rx offset = 0, like in the picture: I save this config, regenerate HSSI Dual simplex IP, reassign pin locations for rx, so they occupy channels 0 - 2. All the rest assignments stay unchanged. In that case the fitter is not able to succeed. Then I've removed all pin assignments to allow the fitter to find the right place by itself. But it still is not able to fit. At the other hand, the Quartus 24.2 was able to do this. But when I take pin assignments from q24 (which were successfulluy fit) and give them to q25, it is still not happy. Has someone any ideas, how to fit my configuration? Than you.2Views0likes0CommentsJESD240B - No license
Hi, I am running the ADC on the Arrow DevKit – Agilex 5 E-Series AXE5 Eagle Development Platform. The converter is the EVAL-AD9695, which uses the JESD204B interface. I initially used ‘Generate Example Design’ and then adapted it for this converter. However, after making the changes and assigning the pins, I wanted to generate the final output file, but I encountered the following license error: On the licensing page, I do not see any entry for JESD204B anywhere. “What can I do to test the design? I previously worked with the Arria 10 GX, and I did not have such problems there.47Views0likes5CommentsNIOS V/m dbg_reset_out signal (Q25.1 Std, MAX10)
Hello, I have a problem with loading elf file. Signal dbg_reset_out (used for resetting HDL components) is inactive (low) when I'm using "niosv-download -r -g exeFile.elf" command (Q25.1 Std, v25.2.1 Ashling GDB Server, Linux OS, MAX10 device, NIOS V variant m). The same command for Q24.1 Std (previous version of Ashling GDB Server, the same OS and PC) works. For me temporary solution is using additional option -o (OpenOCD instead of Ashling ® RiscFree GDB Server). Is there any better solution?26Views0likes3CommentsInterface LVDS to Gigabit transceivers
Hi, I need to interface LVDS transmitter channels from a Cyclone 10 GX to Gigabit receivers in Arria 10, in other words from LVDS to 1.5V PCML. The reason is backwards compatibility in our hardware. Is it possible with only AC-coupling or am I missing something? The link will be asynchronous, clock recovery at the receiver, double data rate, clock frequency of 1GHz.7Views0likes1CommentDifferent FPGA model shows: DEV-AGM039EA
Dear Altera Team, Thank you for your support. We have received the following inquiry from our customer regarding the development kit DK-DEV-AGM039EA. When checking the device using the tool, the FPGA device recognized by the tool appears to be different from the device listed in the catalog. Catalog device: **AGMF039R47A** Device detected by the tool: **AGME039R47A** Could you please confirm whether the correct FPGA device is implemented on this development kit? Additionally, the customer is currently conducting evaluation work with a target completion date of **March 20**. However, since the FPGA device appears to be different, the sample design for the evaluation board does not run properly. Along with confirming the FPGA device difference, could you also advise whether a **sample design compatible with AGME039R47A** is available? Your advice would be greatly appreciated. Kind regards, Takashi T4908715122Views0likes5CommentsNiosV and juart-terminal
I had a project which works fine under niosII. I upgrade all the project with niosv and all seems fine except printing values in juart-terminal. Here is the main code : #include <stdio.h> #include "system.h" #include "altera_avalon_pio_regs.h" #include <altera_avalon_i2c.h> #include <unistd.h> #include <string.h> int main() { //* ALT_AVALON_I2C_DEV_t *i2c_dev; //pointer to instance structure alt_u8 txbuffer[20]; alt_u8 rxbuffer[20]; float co2Concentration = 0; float temperature = 0; float humidity = 0; alt_u32 co2U32 = 0; alt_u32 tempU32 = 0; alt_u32 humU32 = 0; ALT_AVALON_I2C_STATUS_CODE status; i2c_dev = alt_avalon_i2c_open("/dev/i2c"); //Ouverture du périphérique i2c et récupération d'un pointeur if (NULL==i2c_dev) { printf("Error: Cannot find /dev/i2c\n"); return 1; } //set the address of the device using alt_avalon_i2c_master_target_set(i2c_dev,0x61); //Définition de l'adresse du composant adressé 0x61 pour le SCD30 txbuffer[0]=0x00; txbuffer[1]=0x10; txbuffer[2]=0x00; txbuffer[3]=0x00; txbuffer[4]=0x81; //Remplissage du buffer pour configurer le SDC30 en Continous measurement status=alt_avalon_i2c_master_tx(i2c_dev,txbuffer, 5,ALT_AVALON_I2C_NO_INTERRUPTS); //Envoi du buffer au composant if (status!=ALT_AVALON_I2C_SUCCESS) return 1; //FAIL while(1) { txbuffer[0]=0x02; txbuffer[1]=0x02; //Remplissage du buffer pour déterminer si les données sont prêtes alt_avalon_i2c_master_tx(i2c_dev,txbuffer, 2,ALT_AVALON_I2C_NO_INTERRUPTS); //Envoi du buffer au composant rxbuffer[1]=0x00; usleep(3000); // Il faut attendre au moins 3ms avant de demander la réponse alt_avalon_i2c_master_rx(i2c_dev,rxbuffer, 3,ALT_AVALON_I2C_NO_INTERRUPTS); //Récupération de la réponse du composant si rxbuffer[1]==0x01 alors les données sont prêtes if(rxbuffer[1]==0x01) { txbuffer[0]=0x03; txbuffer[1]=0x00; //Remplissage du buffer pour la lecture des données alt_avalon_i2c_master_tx(i2c_dev,txbuffer, 2, ALT_AVALON_I2C_NO_INTERRUPTS); //Envoi du buffer de lecture et récupération des données usleep(3000); //Wait 3ms before data available alt_avalon_i2c_master_rx(i2c_dev,rxbuffer, 18,ALT_AVALON_I2C_NO_INTERRUPTS); //Read datas co2U32 = (alt_u32)((((alt_u32)rxbuffer[0]) << 24) | (((alt_u32)rxbuffer[1]) << 16) | (((alt_u32)rxbuffer[3]) << 8) | ((alt_u32)rxbuffer[4])); tempU32 = (alt_u32)((((alt_u32)rxbuffer[6]) << 24) | (((alt_u32)rxbuffer[7]) << 16) | (((alt_u32)rxbuffer[9]) << 8) | ((alt_u32)rxbuffer[10])); humU32 = (alt_u32)((((alt_u32)rxbuffer[12]) << 24) | (((alt_u32)rxbuffer[13]) << 16) | (((alt_u32)rxbuffer[15]) << 8) | ((alt_u32)rxbuffer[16])); memcpy(&co2Concentration, &co2U32, sizeof(co2Concentration)); memcpy(&temperature, &tempU32, sizeof(temperature)); memcpy(&humidity, &humU32, sizeof(humidity)); } printf("---------------------------------------------------------\n"); printf("SCD30\n"); printf("Concentration de CO2 : %f ppm\n",co2Concentration); printf("Température : %.1f °C\n",temperature); printf("Humidité relative : %.1f %% \n",humidity); usleep(500000); } } I put a breakpoint just before the printf and the values are good : but when i print the values in the juart-terminal : I can't figure out why the printf does not work as i expect. Someone could help me to understand this problem ? Thanks EricSolved170Views0likes14Comments
Featured Places
Community Resources
Check out the support articles on personalizing your community account, contributing to the community, and providing community feedback directly to the admin team!Tags
- troubleshooting10,347 Topics
- fpga dev tools quartus® prime software pro4,236 Topics
- FPGA Dev Tools Quartus II Software3,160 Topics
- stratix® 10 fpgas and socs1,535 Topics
- agilex™ 7 fpgas and socs1,433 Topics
- arria® 10 fpgas and socs1,354 Topics
- stratix® v fpgas1,314 Topics
- arria® v fpgas and socs1,226 Topics
- cyclone® v fpgas and socs1,053 Topics
- Configuration977 Topics
Recent Blogs
This post explores a practical shift from a fixed-function ASSP to a programmable FPGA platform in response to evolving system requirements. As bandwidth demands, protocol diversity, and feature complexity increased, limitations in a 400G optical transport ASSP and uncertainty in vendor roadmap made continued reliance difficult. The team transitioned to an FPGA-based approach, enabling customization of protocols and features while aligning the system more closely with real usage needs. The article also highlights benefits such as design reuse, reduced hardware variants, simplified inventory management, and greater control over long-term system evolution.
3 days ago0likes
This post explains how the definition of mid-range FPGAs has evolved from logic density to system-level capability. It highlights how Agilex 5 FPGAs address modern embedded and edge requirements by integrating compute, AI acceleration, memory, connectivity, and security into a single platform. The article also covers how Agilex 5 D-Series extends mid-range performance with higher logic density, increased bandwidth, and enhanced AI capabilities, enabling more complex and data-intensive workloads while maintaining efficiency and design simplicity.
3 days ago0likes
This post demonstrates how F-Tile Dynamic Reconfiguration in Agilex 7 FPGAs enables real-time switching between 400G and 4×100G Ethernet without system downtime. It explains how predefined configuration profiles, system-level data path reconfiguration (MAC, PCS, FEC, PMA), and software control enable predictable, production-ready transitions. The article also highlights support for multi-rate Ethernet, protocol flexibility, and continuous traffic validation, showing how FPGA-based systems can adapt dynamically to changing network conditions.
3 days ago0likes
This post demonstrates a 200G-4 Ethernet link running on Agilex 7 FPGAs using F-Tile transceivers. It walks through the full link bring-up process, including Auto-Negotiation and Link Training, followed by stable high-speed data transmission using 53.125G PAM4 lanes over QSFP-DD. The demo provides real-time visibility into link status, signal integrity, and error metrics, and evaluates performance across loopback configurations and varying cable lengths. The result highlights reliable link initialization, consistent throughput, and robust operation under practical system conditions.
3 days ago0likes
Quartus Prime Pro 26.1 improves FPGA development with faster performance, a new drag-and-drop design tool (Visual Designer Studio), better power/thermal analysis, and expanded IP support and debugging—making design workflows simpler and more efficient.
10 days ago0likes