Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21593 Discussions

Agilex 3 GTS PCIe IP missing

GabrielC
Beginner
752 Views

I plan a new design using PCIe 3 and LPDDR4 using Agilex3.
I already have a prototype project using an existing Cyclone 5 board, and it worked just fine.
I tried to move to Agilex3 (Quartus Prime Pro 25.1.1), but the IP is completely different.

My logic was designed with Avalon MM components, and for Cyclone 5 the IP was handling all TLP bridging to MM, and even had a tx channel for bus mastering (I used msgdma).

But I could not find anything similar for Agilex 3...

There is a PIO design example; even if it works, I also need tx bus mastering.

Do I have to handle all TLP myself?? I don't have the experience for this, might not be realistic...

Disabling the device compatibility, I see a lot for potential IP... e.g. GTS AXI Multichannel DMA, why is it just for Agilex 5?

I see online SSGDMA IP DMA PCIe... also only for Agilex 5??

Why this limitation?

Thanks,
Gabrile

0 Kudos
8 Replies
Wincent_Altera
Employee
671 Views

Hi,

 

Based on my understanding, mSGDMA (Avalon-MM master) issues memory read/write requests. PCIe Hard IP receives these Avalon-MM transactions. PCIe Hard IP converts them into PCIe TLPs, sends them over the PCIe link. For incoming PCIe TLPs (targeting your FPGA), the PCIe Hard IP converts TLPs into Avalon-MM writes/reads, which mSGDMA can access. In common way, mSGDMA does not build or parse TLPs directly. Instead, it moves data to/from the PCIe Hard IP’s Avalon-MM or Avalon-ST interface. The PCIe Hard IP is responsible for converting Avalon-MM transactions into TLPs (and vice versa). I not sure if your previous implementation sound different or not.

 

Do I have to handle all TLP myself?? I don't have the experience for this, might not be realistic...

>> detail how the PCIe HIP handle the TLP , you may refer to the user guide under https://www.intel.com/content/www/us/en/docs/programmable/813754/25-1-1/introduction.html

 

I see online SSGDMA IP DMA PCIe... also only for Agilex 5??

>> At the moment we just enable the ssgdma for Agilex 5,
>> For Agilex 3 we will use MCDMA as instead , the Estimation Delivery Data will be around next year , please stay tune.

 

There is a PIO design example; even if it works, I also need tx bus mastering.

>> there is build in PCIe PIO example design in Quartus under IP catalog

>> also , PCIe GSRD on https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/agilex/a3y135b.html

>> For tx bus mastering, we suggest to use MCDMA (to be release in future)

 

Hope that clarified

 

Regards,

Wincent_Altera

 

0 Kudos
GabrielC
Beginner
630 Views

I need both PIO (simple register access) and DMA (device to host only), the IP for Cyclone V handled this very nicely.

Yes, mSGDMA only handles MM transactions, the rest was done by IP. I mentioned this just for clarity, I expected to find similar functionality for Agilex 3 IP.

I don't think we can afford to wait until next year...

 

Thanks for your reply,

Gabriel

0 Kudos
Wincent_Altera
Employee
596 Views

Hi Gabriel,

SSGDMA only available for Agilex 5 , at current viewable roadmap I dont see there is any plan to implement it to Agilex3.
Most similar function based on your requirement will be MCDMA IP. 

If you have strong business justification, I will suggest to talk directly to your any Altera Sales Rep/Distributor.
Hoping that this will fasten the development progress.

Let me know if there is anything else I can help

Regards,
Wincent

0 Kudos
GabrielC
Beginner
333 Views

Hello again,

I tried to play with the MCDMA IP, I just generated the example design.

I used "A5EC065BB32AE4S", a small device which matches most closely to what we planned.

But the compilation fails due to insufficient M20Ks!
(Error(170019): Project requires 489 M20K RAM blocks, but the selected device can contain only 229 M20K RAM blocks)

It needs almost 5MBit, almost all memory, but the fitter needs much more blocks.

I don't see any memory requirement settings... do you have any hint?? To tweak the buffers/fifos used inside the IP?

I understand that it could cost the performance, but that's acceptable.

For example, I don't need H2D at all... I would keep it at minimum.

 

Thanks,

Gabriel

0 Kudos
Wincent_Altera
Employee
242 Views

Hi @GabrielC ,

Based on the error code #170019, I found an information in link below:

In the error message stated that the design memory utilization is too large for the selected device. Hence, you would need to reduce the design. Tips to perform memory optimization


Regards,

Wincent

 

0 Kudos
GabrielC
Beginner
134 Views

Hi Wincent,

You missed the most important part
"the example design", I mean ONLY the example design (PCIe x1), no user logic, only generated boilerplate (gts pcie, gts mcdma, system PLL, reset, and 2 small demo onchipmem).

The MCDMA IP uses internally a LOT of memory! (e.g. mcdma used memory factor ~70x compared to pcie)
It just doesn't fit (memory, not logic) into smaller devices like A5EC065BB32AE4S

There are many/big buffers inside the IP (submodules), which need to be adjusted to fit.
See the attached report, "dma" is the MCCDMA and "dut" is the AXI PCIE IP.

GabrielC_0-1757658820679.png

The IP needs tuning parameters.
e.g. I don't need H2D and even reordering.

Regards,
Gabriel

0 Kudos
GabrielC
Beginner
562 Views

Hi Wincent,

I don't need SSGDMA explicitly.
I looked through MCDMA IP, and it looks like it offers all I need...

The problem is... the HW is in advanced design stage (I am mostly responsible for firmware) around Agilex 3, it matches the most (we don't need HPS for this project).
Additionally, I see Agilex 3 is already available, but Agilex 5 not.

Otherwise we have a real problem... going back to Cyclone V would be the worst case solution...

 

If I understand correctly, MCDMA is only "soft" IP. I would be optimistic to get it for A3...

Would it be possible to get some kind of "early beta" access? To be able to progress with my firmware design?

 

Thanks,

Gabriel

0 Kudos
Wincent_Altera
Employee
456 Views

Hi @GabrielC ,

 

If I understand correctly, MCDMA is only "soft" IP. I would be optimistic to get it for A3...
Would it be possible to get some kind of "early beta" access? To be able to progress with my firmware design?

>> I understand your concern, That why I would suggest you to reach out to any of your cognizant Altera FAE/DFAE to check if the beta version is available or not
>> or you may try to submit your enquiry via https://www.altera.com/contact

Let me know if you have any further question.


Regards,
Wincent

0 Kudos
Reply