cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tsjorgensen
Explorer
Explorer
3,241 Views
Registered: ‎09-13-2011

Timing 38-3 AR# 62488 / AR# 57197

Jump to solution

I want to use my own clock name for a clock that is output from a MMCM since I want to use his name in input and output constraints to make my constraint file more readable.

The input clock to the MMCM is not used in any constraints other than create_clock and is ‘don’t-care’ to all timing. Outputs are relative to each other, for instance a clock output and a data line for a serial interface.

I added a generated_clock on the output of the MMCM like stated in AR# 62488/AR# 57197:

create_generated_clock -name clk_50_io -source [get_ports my_input_clk] -master_clock [get_clocks my_input_clock] -multiply_by 3 -divide_by 2 [get_pins path_to_mmcm/mmcme2_adv_inst/CLKOUT0]

 

This gave me a warning that if I use ‘–master_clock’ I must use ‘-add’, why?

Ok, so I added ‘-add’ and it runs through, my i/o constraints seems to work, but now I get warning “[Timing 38-3] User defined clock exists on pin path_to_mmcm/mmcme2_adv_inst/CLKOUT0 and will prevent any subsequent automatic derivation of generated clocks on that pin.”

I know I can demote this warning but why make a warning about something that should be quite normal? Why would I want the tool to auto-derive further from the same pin when I have given it my own nice name?

 

I have tried it on Vivado 2014.4 and Vivado 2017.4.

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
avrumw
Expert
Expert
3,964 Views
Registered: ‎01-23-2009
One question if I may; wouldn't this be the same as create_clock?

View solution in original post

4 Replies
avrumw
Expert
Expert
3,230 Views
Registered: ‎01-23-2009

What you are doing is redefining the MMCM output clock, you should not do this.

 

Xilinx provides a format of the create_generated_clock command that does not redefine the clock, but simply renames it, which is what you want

 

create_generated_clock -name clk_50_io  [get_pins path_to_mmcm/mmcme2_adv_inst/CLKOUT0]

 

In this format, you specifically omit both the -source and the "relationship" (-multiply_by/divide_by/etc...)

 

Avrum

Tags (1)
tsjorgensen
Explorer
Explorer
3,220 Views
Registered: ‎09-13-2011
Thank you very much Avrumw, that makes sense.
One question if I may; wouldn't this be the same as create_clock?
0 Kudos
avrumw
Expert
Expert
3,965 Views
Registered: ‎01-23-2009
One question if I may; wouldn't this be the same as create_clock?

View solution in original post

tsjorgensen
Explorer
Explorer
3,205 Views
Registered: ‎09-13-2011
Thank you Awrumw, completely clear now.
0 Kudos