UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
345 Views
Registered: ‎12-08-2018

to generate a free running clock using MMCM

Jump to solution

Hi,

I am now using ILA to debug my design of a spi slave.

I'd like to know how to generate a free running clock of 10MHz using MMCM in clocking wizard.

The SYSCLK is a 100MHz crystal oscillator which is directly connected to FPGA pin R4 on my board, but my design clock is 10MHz.

I use MMCM to generate a 10MHz clock and connect ILA clock to it.

When I tried to program FPGA, it always faied and warned me to make sure the debug hub is connected to a free running clock.

Then I connect the debug hub to pin R4 (100MHz mentioned above ) and the programming succeeded.

Does it mean that MMCM can not be used to generate a free running clock?

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
307 Views
Registered: ‎02-09-2017

Re: to generate a free running clock using MMCM

Jump to solution

Hi @chandler_scut,

Yes, you can use the output of a MMCM to clock the ILA and it should still work. Although, when doing so, there are a few points to be aware of, which might be causing the issues you are seeing:

1) Free-running clock means that this clock cannot be reset. if you happen to be holding the MMCM in reset for a while during startup process or if you reset the MMCM at any time, it will be enough for the ILA to not identify it as free-running and throw an error.  

In some cases, Customers use the Safe Startup feature available on the Clocking Wizard, where an extra logic is added and the output clock is only served to the rest of the logic after the Locked pin goes up AND 8 consecutive clock cycles have passed. That is a correct way to go for the rest of the logic, but it will not work for the ILA.

 

2) You said the MMCM output Clock is 10MHz. There is a rule where the ILA clock needs to be at least twice as fast as the JTAG Clock Frequency used to connect to the board. In most cases, the HW Manager suggest as default a JTAG Clock Frequency of 30 to 40MHz.

JTAG_Frequency.JPG

In your case, it's very likely that you did not select a 5MHz JTAG frequency, so that might be the cause of the issue as well.

Please check those two items in your design and if possible, try again with the MMCM.

Please let me know if you have any questions.

Thanks,

Andre Guerrero

Product Applications Engineer

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
3 Replies
Moderator
Moderator
308 Views
Registered: ‎02-09-2017

Re: to generate a free running clock using MMCM

Jump to solution

Hi @chandler_scut,

Yes, you can use the output of a MMCM to clock the ILA and it should still work. Although, when doing so, there are a few points to be aware of, which might be causing the issues you are seeing:

1) Free-running clock means that this clock cannot be reset. if you happen to be holding the MMCM in reset for a while during startup process or if you reset the MMCM at any time, it will be enough for the ILA to not identify it as free-running and throw an error.  

In some cases, Customers use the Safe Startup feature available on the Clocking Wizard, where an extra logic is added and the output clock is only served to the rest of the logic after the Locked pin goes up AND 8 consecutive clock cycles have passed. That is a correct way to go for the rest of the logic, but it will not work for the ILA.

 

2) You said the MMCM output Clock is 10MHz. There is a rule where the ILA clock needs to be at least twice as fast as the JTAG Clock Frequency used to connect to the board. In most cases, the HW Manager suggest as default a JTAG Clock Frequency of 30 to 40MHz.

JTAG_Frequency.JPG

In your case, it's very likely that you did not select a 5MHz JTAG frequency, so that might be the cause of the issue as well.

Please check those two items in your design and if possible, try again with the MMCM.

Please let me know if you have any questions.

Thanks,

Andre Guerrero

Product Applications Engineer

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Adventurer
Adventurer
301 Views
Registered: ‎09-17-2018

Re: to generate a free running clock using MMCM

Jump to solution

"Free-running"

Means what to you?

To me, it means an independent clock source, not in sync with anything, thus it will always be faster, or slower, than an accurate reference clock.

It may also mean a clock source internally generated, not from a crystal or a reference oscillator at all.  For example, a ring oscillator.

The MMCM cannot create a clock without an input.  Where that input comes from is up to you.

You could create a clock multiplied by 31, divided by 32, to get a clock that is slower than your reference, guaranteed not not be in sync more than once every 32 clocks.

l.e.o.

0 Kudos
235 Views
Registered: ‎12-08-2018

Re: to generate a free running clock using MMCM

Jump to solution

Hi @anunesgu,

I've tried several times and finally solved this problem.

The previous JTAG frequency is 15MHz and I changed it to 5MHz as suggested, then the programming succeeded.

Afterwards, I tried a higher frequency of 6MHz and 7.5MHz. As a result, 6MHz is OK while 7.5MHz failed.

Thank you for your helpful advice.