hidden text to trigger early load of fonts ПродукцияПродукцияПродукцияПродукция Các sản phẩmCác sản phẩmCác sản phẩmCác sản phẩm المنتجاتالمنتجاتالمنتجاتالمنتجات מוצריםמוצריםמוצריםמוצרים
FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6588 Discussions

Arria 10 PCIe pld_clk vs coreclkout_hip

lcy2000
Beginner
542 Views

Hello,

 

Currently we have a project that has very tight latency requirement regarding PCIe. There's a 250Mhz clock driving most part of the design (let's call it user_clk). For PCIe HardIP, we follow the official example by directly connect coreclkout_hip to pld_clk. Thus, we need to run clock domain crossing in our design, which took roughly 5 cycles (20 ns) in simulation.

 

But recently I noticed the PCIe IP user guide mentioned that pld_clk can be driven other than coreclkout_hip .

So, I wonder if there's a already a CDC logic in Hard IP, regardless whether pld_clk is the same clock as coreclkout_hip. And we can save our cycles by connecting pld_clk to user_clk.

 

Thank you in advance for your help.

Best regards,

Chenyang

0 Kudos
1 Solution
ventt
Employee
382 Views

Hi Chenyang,


My apology for the delayed response.


Yes, according to the User Guide, the pld_clk, which is used to clock the Application and Transaction Layers, can be driven by a different clock than coreclkout_hip. Please take note of the requirements for pld_clk as stated in Section 7.2.2, Clock Summary Table 65.

For instance, if the chosen coreclkout_hip is 125 MHz and the pld_clk is sourced from another clock source, it must be equal to or greater than 125 MHz but have a maximum frequency of 250 MHz. In your case, it can be connected to a 250 MHz clock source (user_clk).


The PCIe Hard IP contains a CDC synchronizer at the interface between the PHY/MAC and the DLL layers to allow the DLL and Transaction layers to run at frequencies independent of the PHY/MAC.


Arria® 10 and Cyclone® 10 GX Avalon® Streaming Interface for PCI Express* User Guide: https://www.intel.com/content/www/us/en/docs/programmable/683647/18-0/clock-summary.html


Thanks.

Best Regards,

Ven


View solution in original post

0 Kudos
7 Replies
ventt
Employee
483 Views

Hi lcy2000,


Thanks for reaching out.


Allow me some time to investigate your issue. I shall come back to you with the findings.


Thanks.

Best Regards,

Ven


0 Kudos
lcy2000
Beginner
406 Views

Hi ventt,

Thank you for handling my case. Do you have any updates on this question?


Thank you very much ~~

Chenyang

 

0 Kudos
ventt
Employee
383 Views

Hi Chenyang,


My apology for the delayed response.


Yes, according to the User Guide, the pld_clk, which is used to clock the Application and Transaction Layers, can be driven by a different clock than coreclkout_hip. Please take note of the requirements for pld_clk as stated in Section 7.2.2, Clock Summary Table 65.

For instance, if the chosen coreclkout_hip is 125 MHz and the pld_clk is sourced from another clock source, it must be equal to or greater than 125 MHz but have a maximum frequency of 250 MHz. In your case, it can be connected to a 250 MHz clock source (user_clk).


The PCIe Hard IP contains a CDC synchronizer at the interface between the PHY/MAC and the DLL layers to allow the DLL and Transaction layers to run at frequencies independent of the PHY/MAC.


Arria® 10 and Cyclone® 10 GX Avalon® Streaming Interface for PCI Express* User Guide: https://www.intel.com/content/www/us/en/docs/programmable/683647/18-0/clock-summary.html


Thanks.

Best Regards,

Ven


0 Kudos
ventt
Employee
344 Views

Hi Chenyang,


Kindly take note that 31 Mar and 1 Apr 2025 are national public holidays, please expect a delay in response.


Thanks.

Best Regards,

Ven


0 Kudos
lcy2000
Beginner
311 Views

Hi ventt,

 

Sorry for delayed response lately. I've tested using `user_clk` to drive `pld_clk` and currently it works as expected.

Thank you twice for hanlding my case and happy Eid al-Fitr ~~

Chenyang

0 Kudos
ventt
Employee
243 Views

Hi Chenyang,


Thank you for the updates and your kind wishes!

Glad to hear that using the user_clk to drive pld_clk works for you.


I will transition this thread to community support. If you have a new question, feel free to open a new thread to get support from Altera experts.


Thanks.

Best Regards,

Ven


0 Kudos
ventt
Employee
90 Views

Hi Chenyang,


My apologies for missing your forum post. 

Please allow me some time to investigate, and I will get back to you in 1-2 days.


Thanks.

Best Regards,

Ven


0 Kudos
Reply