Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
Need Forum Guidance? Click here

Search our FPGA Knowledge Articles here.
18480 Discussions

intel FPGA clkusr pin

danduan2
Beginner
258 Views

Hi, Intel,

I want to know how to use clkusr pin for FPGA transceivers calibration and recalibration. Could you help to provide some advices?

1. if i want to use clkusr for my logic,

    1) i  add altera_a10_xcvr_clock_module reset_clock (.clk_in(clk1)) ;  Only I keep clk1 frequency is 100-125MHz, is it ok?  or clk1 must be mgmt_clk and keep mgmt_clk is 100-125MHz ? 

     2) i don't add altera_a10_xcvr_clock_module reset_clock (.clk_in(clk1)) ;  can i turn off transceiver calibration?

2. if i do not use clkusr for my logic, but the pin do not connect to 100MHZ, can i assign a 100MHZ to usrclk pin(let usrclk keep output) for trnasceiver calibration or recalibration?

3.  What's the difference between "AUTO_RESERVE_CLKUSR_FOR_CALIBRATION OFF" and "AUTO_RESERVE_CLKUSR_FOR_CALIBRATION ON", if AUTO_RESERVE_CLKUSR_FOR_CALIBRATION ON, can i use clkusr pin for my logic?

Thanks  very much.

 

 

 

0 Kudos
4 Replies
CheePin_C_Intel
Employee
238 Views

Hi,


As I understand it, you have some inquiries related to the CLKUSR pin. For your information, if you are using XCVR in your design, at the board, you should connect the CLKUSR pin to dedicated free-running on-board oscillator with frequency of 100MHz - 125MHz. You would not need to do any instantiation in your design. Without connecting CLKUSR to free-running clock, the transceiver calibration could fail and lead to transceiver malfunction.


Also, it is recommended to use CLKUSR dedicated for transceiver calibration only.


Please let me know if there is any concern. Thank you.


danduan2
Beginner
235 Views

Hi,

Thanks for your suggestion.

1. If i want to use usrclk pin for my own logic after transceiver power up calibration, is it ok?

2. what is the meaning of " If you are using the CLKUSR pin for your own logic (feeding it to the core), you must instantiate altera_a10_xcvr_clock_module altera_a10_xcvr_clock_module reset_clock (.clk_in(mgmt_clk));"  (from cyclone10 transceiver userguide)

 

 

CheePin_C_Intel
Employee
222 Views

Hi,


Based on my experience, it is recommended to use CLKUSR for transceiver calibration only. In user guide, there are some cases where you need to perform recalibration in user mode as well. 


However, I am currently consulting Factory if it is possible to use the CLKUSR pin for XCVR and core logic at the same time without any potential issue. Also, I am seeking clarification on your Q2 from them as well.


I will keep you posted on the progress by end of the week or as soon as there is any valid response. Please ping me if you do not hear back from me.


Thank you.


CheePin_C_Intel
Employee
197 Views

Hi,


Sorry for the delay. I have just received a valid response from Factory on our consultation. As I understand it, it is possible to use the CLKUSR pin for both XCVR and core logic. 


The following some sample to instantiate the CLKUSR for core usage:


module top (

 input      refclk,

 input      clkusr,

...

);


altera_a10_xcvr_clock_module reset_clock (.clk_in(clkusr));


test u0 (

.mgmt_clk_clk                  ( clkusr ),


Please let me know if there is any concern. Thank you. 



Best regards,

Chee Pin


Reply