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: 
Visitor yynotebook
Visitor
258 Views
Registered: ‎11-12-2017

How vivado do timing analysis with a BUFGMUX?

Hi,

I just want to know what is the rule of vivado doing timing analysis with a BUFGMUX?

For example: I have a mux of clka and clkb, output of the mux is clk. I know for a single net, vivado won't propagate both clocks on a single net. So How will vivado chose the right clock for this path? Is vivado still supporting "priority" constrain? Thanks

 

Zoe

0 Kudos
2 Replies
Mentor watari
Mentor
247 Views
Registered: ‎06-16-2013

Re: How vivado do timing analysis with a BUFGMUX?

Hi @yynotebook 

 

Would you describe "set_case_analysis <val> <location of cell>" on xdc file to do STA ?

 

example

set_case_analysis 0 [get_pin u_CLK_MUX/S];

 

Best regards,

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

Re: How vivado do timing analysis with a BUFGMUX?

I know for a single net, vivado won't propagate both clocks on a single net.

In fact, that is exactly what it will do. The net named "clk" will carry both clocks "clka" and "clkb".

This means that any path that has both its startpoint and endpoint connected to the "clk" net will end up with four paths:

  • startpoint @clka to endpoint @clka
  • startpoint @clkb to endpoint @clkb
  • startpoint @clka to endpoint @clkb
  • startpoint @clkb to endpoint @clka

Clearly the last two are false (they are in fact impossible) and hence normally need to be overridden with an exception. If the two clocks go only to the inputs of the BUFGMUX then it is safe to declare the two clocks as "physically_exclusive" clock groups

set_clock_groups -physically_exclusive -group clka -group clkb

This will result in the last two sets of paths being declared false.

The first two paths, though, are both timed - the tools will check each path on both clka and clkb.

Avrum

0 Kudos