Auto gated clock convert to clock enable
I get a ASIC design which want to be verified on FPGA.
I know Quartus support "Auto gated clock convert to clock enable" recently.
From the above web, I know that case(1) can completely support gated clock conversion.
How about case(2)? Can latch-based clock gating work for gated clock conversion?
Should I do formal verification when "Auto gated clock convert to clock enable" is turned on.
How about case(3)?
Case(1): Note that enable_a is from the clock_a domain.
assign gated_clock_a=clock_a & enable_a;
assign gated_clock_a=clock_a | enable_a;
Case(2): Latch-based clock gating
always@(*) begin
if (~clock_a )
enable_a <= enable;
end
assign gated_clock_a= clock_a & enable_a ;
Case(3): Note that enable_a is from the clock_a domain.
Note that enable_a2 is from the gated_clock_a domain.
assign gated_clock_a = clock_a & enable_a;
assign gated_clock_a2 = gated_clock_a | enable_a2;
Thank you very much.
Hi,
Sorry for the late response. From what I know, case 2 is allowed.
You can refer to pages 12-10 to 12-12 of this document: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/qts/qts_qii51006.pdf#page=10
Is case 3 a cascaded clock gating? This only works on certain devices, I think it's best you don't use this method since you're doing ASIC prototyping.
Regards,
Nurina