When there is clock gating logic, do I have to define the gated clock as a generated clock in my constraint file for a proper STA?
I don't know if anybody is familiar with this great book, but my question came up because I saw an example in the book "Static Timing Analysis for Nanometer Design: A practical Approach". Figure 7-12 shows an example where a clock is gated by the output of a flip-flop and then they wrote a SDC constraint to define the gated clock. See below:
The book says: "Figure 7-12 shows an example where the clock SYS_CLK is gated by the output of a flip-flop. Since the output of the flip-flop may not be a constant, one way to handle this situation is to define a generated clock at the output of the and cell which is identical to the input clock."
Must I define all gated clocks as new generated clocks in my SDC file?
The book mentiones that is one way to handle the situation, what are other ways to handle this situation?
Your input is much appreciated.
The other way to constraint clock gating and check that output of the gating cell is not clipped clock, you can use
set_clock_gating_check -setup xx -hold xx [get_clock CLK]
in your SDC.