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: 
Observer mithunsahakets
Observer
807 Views
Registered: ‎10-10-2018

Input Differential clock connect to MMCM of Clock Wizard

Hello,

I have got External Differential clock (via LVDS), which I would like to connect to MMCM (Clock Wizard) as clock of MMCM. So, I used IBUFDS and then I used BUFG. External Differential Clock frequency is 50MHz and I want generate 200MHz out of it through MMCM. For this reason, I changed the parameter of input clock from 100MHz to 50MHz. However, everytime its returning an error with FREQ_HZ of BUFG is not matching with clock wizard input clock.

Please suggest me what should I do. Thanks in advance.

 

0 Kudos
7 Replies
Voyager
Voyager
794 Views
Registered: ‎02-01-2013

Re: Input Differential clock connect to MMCM of Clock Wizard

If you wired-up everything and THEN changed the MMCM parameters, the external components (IBUFDS and BUFG) likely took the original FREQ_MHZ attribute of MMCM: 100 MHz. You'll need to update those manually.  In the future, either set the MMCM parameters before connecting it to other components, or configure the MMCM to include those components as part of its own instantiation.

-Joe G.

 

0 Kudos
Moderator
Moderator
777 Views
Registered: ‎02-09-2017

Re: Input Differential clock connect to MMCM of Clock Wizard

Hi @mithunsahakets,

 

Most likely your Clocking Wizard configuration is still set to 100MHz.

All you should need to do is to open the Clocking Wizard GUI and set both the new frequency and input mode, as highlighted in the image below:clocking wizard_Differential config.JPG

Thanks,

Andre Guerrero

Product Applications Engineer

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Highlighted
756 Views
Registered: ‎01-22-2015

Re: Input Differential clock connect to MMCM of Clock Wizard

@mithunsahakets

If things are still not working for you then try this:

  1. Do not manually instantiate the IBUFDS (Vivado will infer it for you)
  2. Do not instantiate the BUFG (it is not necessary to place a BUFG between clock-capable pins and the MMCM)
  3. Do not write a create_clock constraint on the LVDS clock input (MMCM IP will do this for you)
  4. Setup the MMCM IP as shown by Andre
  5. When you instantiate the MMCM in your design, connect the MMCM inputs directly to your LVDS pins.

Cheers,
Mark

Observer mithunsahakets
Observer
733 Views
Registered: ‎10-10-2018

Re: Input Differential clock connect to MMCM of Clock Wizard

Hello,

Thanks for everyone's input. 

However, still I couldn't resolve the issue. I've attached the screenshot what I am trying to achieve.

After program the device, ILA is not turning up. Its showing the following warning

"WARNING: [Labtools 27-3413] Dropping logic core with cellname:'interface_demo_i/ila_1' at location 'uuid_885AC90C874C5D918040051FD6246F9B' from probes file, since it cannot be found on the programmed device."

 

Can anyone help me out? Thanks in advance.

Capture_1.JPG
0 Kudos
Moderator
Moderator
727 Views
Registered: ‎02-09-2017

Re: Input Differential clock connect to MMCM of Clock Wizard

Hi @mithunsahakets,

Where is the reset_1 pin going to? is it assigned to a physical button/switch in your board? Is this button/switch active-high or active-low?

I suspect you are accidentally holding the reset pin up, which is causing the MMCM to be always in reset mode and never deliver the clock to the ILA.

I just create an example design (almost) exactly the same as yours. I assigned the reset to a button on my ZCU102. When I program the board and keep pressing down the reset button (actively reseting the MMCM) I get exactly the same error.

WARNING: [Xicom 50-38] xicom: No CseXsdb register file specified for CseXsdb slave type: 0, cse driver version: 0. Slave initialization skipped.
INFO: [Labtools 27-1434] Device xczu9 (JTAG device index = 0) is programmed with a design that has no supported debug core(s) in it.
WARNING: [Labtools 27-3361] The debug hub core was not detected.
Resolution: 
1. Make sure the clock connected to the debug hub (dbg_hub) core is a free running clock and is active.
2. Make sure the BSCAN_SWITCH_USER_MASK device property in Vivado Hardware Manager reflects the user scan chain setting in the design and refresh the device.  To determine the user scan chain setting in the design, open the implemented design and use 'get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub]'.
For more details on setting the scan chain property, consult the Vivado Debug and Programming User Guide (UG908).
WARNING: [Labtools 27-3413] Dropping logic core with cellname:'design_1_i/ila_0' at location 'uuid_BE177176557E59FEACE2FE04795A2B22' from probes file, since it cannot be found on the programmed device.

When I reprogram the board without pressing down the button, it all works great!

ILA_capture.JPG

 

Please check your board and button to see if it's active-high or active-low.

Alternatively, you can open the Clocking Wizard IP and configure the Reset to be active-low instead of active-high. Then re-synthesize, re-implement, re-generate the bistream and try again.

Clocking_Wizard_reset_active_low.JPG

Thanks,

 

Andre Guerrero

Product Applications Engineer

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Voyager
Voyager
720 Views
Registered: ‎02-01-2013

Re: Input Differential clock connect to MMCM of Clock Wizard

Of course, the input clock must be present, too.

If the reset turns out to be ok, and you cannot get an o-scope probe on the clock to verify it's toggling, change the test design so that the ILA is clocked by the direct input clock.  You'll have to instantiate the IBUF's and BUFG, external to the MMCM. If you get the same error, then the input clock is not toggling.

-Joe G.

 

0 Kudos
Xilinx Employee
Xilinx Employee
702 Views
Registered: ‎02-01-2008

Re: Input Differential clock connect to MMCM of Clock Wizard

I often use a combination of the startup block and the chipscope VIO core. Connecting VIO to your clks are resets gives you activity and level indications of your signals. And by instantiating the startup block in your design, you can use the config clk which originates from a ring osc in the config logic so that clk is always available.

I've attached the verilog, for the startup block, that I add to IPI as a module. In case you haven't used IPI modules, add the .v as source to the project, then in IPI, right click->add_module and select startup

Since you mention FREQ_HZ, that is a property that is propagated through IPI and used to assign frequency values. Instead of using your own BUFG, use 'utility buffer' and set it to BUFG. This IP will propigate the parameter FREQ_HZ from its input to output.

You haven't shared your block diag so here's my take on what you are doing. Also, notice that my import ports have a frequency assigned to them.

1.png2.png

 

 

 

Tags (2)
0 Kudos