FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6595 Discussions

Agilex 5 MCDMA Example Design Identification Issues

danield17
Novice
584 Views

I'm using Quartus 25.1 and have generated an example design for the GTS MCDMA targeting the Agilex 5. I'm working with the Agilex 5 FPGA E-Series 065B Modular Development Kit.

I successfully generated the example design and connected all the ports to their corresponding I/Os on the FPGA, following the guidance from other example designs and the GRSD.

 

I've noticed inconsistent behavior with the PC's detection of the PCIe card. Sometimes it's successful, and sometimes it's not. After programming a JIC file to the Agilex 5 and rebooting the PC, the PCIe device was not detected by the OS.
 
However, while both the PC and Agilex 5 remain powered on, programming a SOF file to the Agilex and rescanning the PCI bus occasionally results in device detection, though with the following errors:
 
 
 
danield17_5-1745503494534.png

 

Running `lspci` on the device sometimes reveals the expected details and sometimes it returns the following message:
 
danield17_6-1745503531621.png

 

Even when the device is detected correctly, when I try to run the provided application (which is compatible with the example design), I encounter the following errors:

danield17_7-1745503667747.png

 

I generated the MCDMA example design for the Agilex 7 and ran it on the Agilex 7 successfully, without any issues. I used the same application, with the necessary adjustments to match the Agilex 7 example design.

 

Does anyone have any suggestions on how to get it working on the Agilex 5?

Please find the attached QAR file.

0 Kudos
11 Replies
Wincent_Altera
Employee
516 Views

Hi Daniel,

 

I try to open your .qar file via quartus v25.1, it seen like the file is corrupted.

Can you please re-attach ?

Wincent_Altera_0-1745550738665.png

 

Regards,

Wincent_Altera

 

 

0 Kudos
Wincent_Altera
Employee
500 Views

Hi Daniel,

Next , are you using gen4 or gen3 design ?
Please be aware that Gen4x4 is not supported in Agilex 5 Modular devkit, this feature will be hidden in Quartus v25.1.1 release

While I am trying gen3x4 design, I able to get the device link successful - attach the design .qar (please have a try on your host)

Wincent_Altera_1-1745551045595.png


Regards,

Wincent_Altera

0 Kudos
danield17
Novice
485 Views

Hi Wincent,

Thanks for your quick response.

It’s strange that you couldn’t open the QAR file - I was able to open it without any issues. Regardless, I’ve created a new one, which is attached to this message.

Regarding your second question, I used the Gen3x4 configuration for the design.

Did you make any modifications to your design beyond generating the example design?

Also, do you think the issue could be related to the host system I’m using? If so, I’d appreciate any guidance on why that might be the case and how I can check for host compatibility.

My host supports up to Gen5, and the Agilex 5 is powered via an external power supply rather than through the PCIe slot. I assumed that would be sufficient, but is there any other criterion that needs to be met to ensure proper functionality?

Best regards,
danield17

0 Kudos
Wincent_Altera
Employee
396 Views

Hi Daniel,

Sorry for taking 4 days to reply this, I miss out your reply in last week and over the weekend..

Did you make any modifications to your design beyond generating the example design?
>> Generate the Design Example by default without changing anything 
>> One thing i change is on the design example tab where I select the "target devkit" it help to assign all pin assignment accordingly on the Modular Devkit
>> Wincent_Altera_0-1745799513242.png


Also, do you think the issue could be related to the host system I’m using? If so, I’d appreciate any guidance on why that might be the case and how I can check for host compatibility.
>> Based on my experience of working on PCIe, certain host having problem to direct perform speed degrade if the PCIe Speed on BIOS setting is selected as "AUTO" , perhaps you can try to select "GEN3" same as your design and check if this work or not. 
>> this method work for me in most of the previous device (Arria 10, Stratix 10)

 

I noticed that in your project you selected the device number A5ED065BB32AE4SR0, whereas when selecting the modular dev kit from the board tab in the device selection menu, it defaults to A5ED065BB32AE6SR0. Is your modular dev kit different from the default one, or is it normal that the board’s default device number isn’t always the one we should use?
>> My devkit is the normal one with OPN A5ED065BB32AE6SR0 https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/agilex/a5e065b-modular.html
>> I believe it is default setting if I select the "current development kit" in IP GUI during Design Example Generation
>> Anyway the .sof passing 100 % upon programming
>> the "4s" and "6s" represent the speed grade of PCIe, where the "4s" would be the fastest one (supporting gen4)
>> Did you try my .qar file ? is it work on your side ?

Regards,
Wincent_Altera

0 Kudos
Wincent_Altera
Employee
385 Views

Hi Daniel,

I try to check on your design.
The result still the same, why not you try to provide me only the .sof file ?
I try at my host, meanwhile please try out the design I provided to you as well.

Wincent_Altera_0-1745806260819.png

 

0 Kudos
danield17
Novice
371 Views

Hi Wincent,

 

I have tried you design and it seems like it worked for me and was able to identify. However, the issue with device identification by the operating system is now occurring intermittently, even without any changes to the design.

Even when device identification is successful, the user application doesn't function as expected. I'm encountering "queue reset failed" errors, as shown in my first post, or the application appears to initialize correctly but fails to transfer data. I've attached the application log for your review.

Currently, I'm still focusing on resolving the device identification issue. Any insights you can provide on either this or the user application problems would be greatly appreciated.

Additionally, I've attached the .sof file for your reference. Be aware that my design differs from yours in two key ways:

  1. I am using MCDMA + BAM mode with the AVMM interface instead of the AVST interface.

  2. There is 1MB of on-chip memory connected to both the DMA and BAM interfaces, mapped to BAR2 in the BAM interface, offset `0x0080_0000`.

While I acknowledge that the problem could be related to the computer I'm using, I want to be thorough and avoid making assumptions. If possible, I would appreciate it if you could review my .sof file or even try implementing the design yourself and running the software provided with the example — specifically the "perfq_app". I've also attached the software folder in case you don't have it.

If you need guidance on how to build and run the software, you can refer to the MCDMA Example Design User Guide.

The specific command I was trying to run is:

sudo ./perfq_app -b 0000:02:00.0 -u -p 128 -l 5 -d 2 -c 1 -a 2

Best Regards,

danield17

0 Kudos
Wincent_Altera
Employee
338 Views

Hi Daniel,

Wait a minute , 
"If you need guidance on how to build and run the software, you can refer to the MCDMA Example Design User Guide."
>> Do you mean that you are building the mcdma software using above guide ?
>> I think there is some miss-understanding happen, above guide is supporting Agilex 7 / Stratix 10 device.
>> Wincent_Altera_0-1745979026894.png
>> Same setup / step is not applicable to Agilex 5 .. hence there might be some step missing upon the build
>> Also , Agilex 7 is using AVST, AVMM, while Agilex 5 is using AXI interface.
>> I afraid the step is not exactly the same. Hence, the fail is expected if you refer to old guide

I suggest you to refer to "GTS AXI MCDMA for PCIe user guide"
https://www.intel.com/content/www/us/en/docs/programmable/847470/25-1/coming-soon.html
This content will be ETA with less than 1 month from now

 

Regards,
Wincent_Altera

 



0 Kudos
danield17
Novice
438 Views

Hi Wincent,

 

After further investigation, I noticed that in your project you selected the device number A5ED065BB32AE4SR0, whereas when selecting the modular dev kit from the board tab in the device selection menu, it defaults to A5ED065BB32AE6SR0.

Is your modular dev kit different from the default one, or is it normal that the board’s default device number isn’t always the one we should use?
How can I verify which device I should be working with? So far, I have been using A5ED065BB32AE6SR0 and was able to program the FPGA, but could that be incorrect?

 

Regards,
danield17

0 Kudos
Wincent_Altera
Employee
284 Views

Hi,


I wish to follow up with you about this forum thread.

Do you have any further questions on this matter ?


Regards,

Wincent_Altera


0 Kudos
danield17
Novice
264 Views
Hi Wincent,

From what I understand, the plan for now is to wait for the user guide to be released.
I don’t have any other questions at the moment, and I really appreciate your help and patience.

Best regards,
danield17
0 Kudos
Wincent_Altera
Employee
198 Views

Hi Daniel,

You are most welcome, glad to work with you as well.
The user guide is in final stage, it is going to be release within 1-2 weeks from now.
Upon the release of the userguide, I will personal try all the step as well. 

If you facing any problem, you can just file a new thread.
IF you need specifically my support, you can just mentioned my name "Wincent" to the thread.
I will be full commitment to assist you further. 

Wish you have a nice day.

Regards,
Wincent_Altera

0 Kudos
Reply