Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16597 Discussions

Is Auto Gated Clock Conversion from non-pin clocks?

Altera_Forum
Honored Contributor II
953 Views

It's an old story. FPGA prototyping of ASIC code. Gated clocks are a big headache for timing and bigger headache to manually "fix". 

 

Auto Gated Clock Conversion would seem to be the answer but never seems to happen. 

 

After lots of searching for information and some experimentation, here is what I found: 

 

Auto Gated Clock Conversion only works if: 

 

1) The source clock is a straight line to a pin. PLL's don't work. Flops don't work ( so no clock dividing). Even lcells, instantiated global buffers and altclktrl's don't work.  

 

2) The gating is simple combinational.  

 

The second part is well known but I was really surpised about the first. What sort have designs have significant clock gating but no muxing, dividers, or PLL's? 

 

Have I missed something? Is there some way to get Gated Clock Conversion to work for an internally generated clock?
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
264 Views

 

--- Quote Start ---  

It's an old story. FPGA prototyping of ASIC code. Gated clocks are a big headache for timing and bigger headache to manually "fix". 

 

Auto Gated Clock Conversion would seem to be the answer but never seems to happen. 

 

After lots of searching for information and some experimentation, here is what I found: 

 

Auto Gated Clock Conversion only works if: 

 

1) The source clock is a straight line to a pin. PLL's don't work. Flops don't work ( so no clock dividing). Even lcells, instantiated global buffers and altclktrl's don't work.  

 

2) The gating is simple combinational.  

 

The second part is well known but I was really surpised about the first. What sort have designs have significant clock gating but no muxing, dividers, or PLL's? 

 

Have I missed something? Is there some way to get Gated Clock Conversion to work for an internally generated clock? 

--- Quote End ---  

 

 

Hi, 

 

I assume you missed to define the clock which is gated in the SDC-file. Have a look into the project attached. The output clock of the PLL is defined as an generated clock and the  

clock gate conversion takes place.  

 

Kind regards 

 

GPK
0 Kudos
Altera_Forum
Honored Contributor II
264 Views

Thanks. The trick seems to be defining internally generated clock as derived from a pin clock. As least, that's how it worked in my toy design. It is going to take some work to get it into the real design. 

 

create_generated_clock -name {evil_clock} -source [get_ports {clk_in}] -master_clock {clk_in} [get_nets {clk_divider:cdiv|clkOut}]
0 Kudos
Reply