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: 
Voyager
Voyager
520 Views
Registered: ‎04-12-2012

Failure to apply XDC constraint

Jump to solution

Hello,

When I open a synthesized design and type "report_clocks" in the TCL Console - one of the clocks I get looks like this:

Generated Clock : clk_80 
Master Source : inst_new_tap_uscale_newcar/inst_ik_clock_generator/inst/mmcme3_adv_inst/CLKIN1
Master Clock : clk_80_in_p
Multiply By : 1
Generated Sources : {inst_new_tap_uscale_newcar/inst_ik_clock_generator/inst/mmcme3_adv_inst/CLKOUT1}

I try to apply the "set_property CLOCK_DEDICATED_ROUTE BACKBONE" constraint on this clock as follows:

set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets {inst_new_tap_uscale_newcar/inst_ik_clock_generator/inst/mmcme3_adv_inst/CLKOUT1}]

And I get this failure message: 

WARNING: [Vivado 12-507] No nets matched 'inst_new_tap_uscale_newcar/inst_ik_clock_generator/inst/mmcme3_adv_inst/CLKOUT1'.
ERROR: [Common 17-55] 'set_property' expects at least one object.

What am I doing wrong ?

 

0 Kudos
1 Solution

Accepted Solutions
446 Views
Registered: ‎01-22-2015

Re: Failure to apply XDC constraint

Jump to solution

@avrumw   Thank you!

@shaikon 

I agree with Avrum that report_clocks has given you a pin name and not a clock name.  If, instead of report_clocks, you type get_clocks in the Tcl Console then you will get the clock names.

If you have a pin name and need the connected net name, you can use:

get_nets -of_objects [get_pins {<my_pin_name>}]


If you have a clock name and need the associated net name, then I think the following will work:

get_nets -of_objects [get_clocks {<my_clock_name>}]


So, maybe the answer to your original question is:

set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets -of_objects [get_pins {inst_new_tap_uscale_newcar/inst_ik_clock_generator/inst/mmcme3_adv_inst/CLKOUT1}]]

 


Mark

View solution in original post

6 Replies
500 Views
Registered: ‎01-22-2015

Re: Failure to apply XDC constraint

Jump to solution

@shaikon 

The CLOCK_DEDICATED_ROUTE constraint is for a net going out of the MMCM.  However, you have used a clock name in the constraint instead of a net name.  That is, clock names are not the same thing as net names.  One way to find the needed net name is to open the synthesized design (maybe before writing the constraint) and identify the net as shown below.
net_name.jpg

Cheers,
Mark

0 Kudos
Guide avrumw
Guide
489 Views
Registered: ‎01-23-2009

Re: Failure to apply XDC constraint

Jump to solution

However, you have used a clock name in the constraint instead of a net name.

Actually, it looks like a pin name, and not a net name...

Avrum

Voyager
Voyager
471 Views
Registered: ‎04-12-2012

Re: Failure to apply XDC constraint

Jump to solution

markg@prosensing.com wrote:

@shaikon 

The CLOCK_DEDICATED_ROUTE constraint is for a net going out of the MMCM.  However, you have used a clock name in the constraint instead of a net name.  That is, clock names are not the same thing as net names.  One way to find the needed net name is to open the synthesized design (maybe before writing the constraint) and identify the net as shown below.

Cheers,
Mark


Isn't there a TCL console command that derives the net name driven by the clock ?

0 Kudos
447 Views
Registered: ‎01-22-2015

Re: Failure to apply XDC constraint

Jump to solution

@avrumw   Thank you!

@shaikon 

I agree with Avrum that report_clocks has given you a pin name and not a clock name.  If, instead of report_clocks, you type get_clocks in the Tcl Console then you will get the clock names.

If you have a pin name and need the connected net name, you can use:

get_nets -of_objects [get_pins {<my_pin_name>}]


If you have a clock name and need the associated net name, then I think the following will work:

get_nets -of_objects [get_clocks {<my_clock_name>}]


So, maybe the answer to your original question is:

set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets -of_objects [get_pins {inst_new_tap_uscale_newcar/inst_ik_clock_generator/inst/mmcme3_adv_inst/CLKOUT1}]]

 


Mark

View solution in original post

Voyager
Voyager
424 Views
Registered: ‎04-12-2012

Re: Failure to apply XDC constraint

Jump to solution

markg@prosensing.com wrote:

 If, instead of report_clocks, you type get_clocks in the Tcl Console then you will get the clock names.


I tried get_clocks and report_clocks afterwards and couldn't see the difference:

1. With "get_clocks" - the console returns a flat list of clocks in which the clock of interest shows as: clk_80

2. With "report_clocks" the console returns a more verbose report of clocks - whith the clock of interest shows as:

Generated Clock : clk_80
Master Source : inst_new_tap_uscale_newcar/inst_ik_clock_generator/inst/mmcme3_adv_inst/CLKIN1
Master Clock : clk_80_in_p
Multiply By : 1
Generated Sources : {inst_new_tap_uscale_newcar/inst_ik_clock_generator/inst/mmcme3_adv_inst/CLKOUT1}

 

As you can see the name is the same.

0 Kudos
409 Views
Registered: ‎01-22-2015

Re: Failure to apply XDC constraint

Jump to solution

@shaikon 

     With "report_clocks" the console returns a more verbose report of clocks..
Thanks!  It is a nice collection of often-needed info - except for the missing net name.

Mark