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!

AR# 51737

Does XST support gated clock conversion?

Description

Multiple gated clocks exist in my design. 

Without using global clock buffers, the clock skew is huge and leads to hold problems.

However I cannot afford to route them all to BUFGs due to limited resources.

 

With Synplify, gated clock conversion is performed so that the gate logic is put in the Flip-flops CE pin.

Is this available in XST?

Solution

In Synplify, the option "Fix Gated Clocks" extracts the enable logic from the clock path and converts gated clocks when applicable.

The software separates a clock net going through an AND, NAND, OR, or NOR gate by doing one of the following:

  • Inserting a multiplexer in front of the input pin of the synchronous element and connecting the clock net directly to the clock pin.
  • Moving the gating from the clock input pin to the dedicated enable pin, when this pin is available.

 

Here are some examples for eliminating gated clocks.

gated_clock.png

 

In XST, the feature is not available.

There is an option to "use_clock_enable", which is equivalent to the "syn_useenables" attribute in Synplify. 

This is mostly applicable for the logic where the control of data to the FFs is given through some extra logic (combinational etc. ), and where XST would opt to either bring the control logic to dedicated clock enable pin or not.

In Vivado synthesis, a "gate_clock_conversion" option is available, which allows conversion of gated clocks.

AR# 51737
Date Created 09/11/2012
Last Updated 11/18/2014
Status Active
Type General Article
Tools
  • ISE Design Suite