Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

FPGA & Gated Clock

Status
Not open for further replies.

ivlsi

Advanced Member level 3
Advanced Member level 3
Joined
Feb 17, 2012
Messages
883
Helped
17
Reputation
32
Reaction score
16
Trophy points
1,298
Visit site
Activity points
6,868
Hi All,

Why implementation of the Gated Clock @FPGA is a problem (almost impossible as I was told in the interview)?

Thank you!
 

1) It's a problem because you are adding a delay to the clock path and also might introduce glitches.
2) what do you mean it's impossible? If it's impossible, it's not a problem!!
 

FPGA clocks are distributed by dedicated routing resources. You can't interpose additional gating logic without affecting it's timing performance. Some FPGAs have dedicated clock control blocks to switch or gate clocks, in so far the original statement isn't completely true.
 

FPGA clocks are distributed by dedicated routing resources. You can't interpose additional gating logic without affecting it's timing performance. Some FPGAs have dedicated clock control blocks to switch or gate clocks, in so far the original statement isn't completely true.

how big these clock control blocks? How many clocks might be gated?

Anyway, I think that the problem is due to the fact that clock trees are already built in FPGAs and don't allow any intervention.
 

What do you mean, "How big"?

And what do you mean "the problem is due to the fact that clock trees are already built"? Which problem?
 

What do you mean, "How big"?
I meant "how many clock domains might be controlled".

And what do you mean "the problem is due to the fact that clock trees are already built"? Which problem?
In ASIC clock trees are built after all logic is implemented (placed and routed) with gates, etc. In FPGA clock trees are implemented without taking in account how the LUTs will be routed and connected one with another. Gated clocks usually introduce delays (aka skew, latency) on the clock. There is no way to balance the clock trees then. So, a synchronous design becomes an asynchronous one (clocks are not balanced/synchronized one with another) that may introduce timing problems and as a result logical errors.
Disclaimer: I'm not a FPGA designer. So, all written above is just a guess and should be approved by professionals ;-)
 

The number of clock domains you can control is totally dependent on the device you are using.

Even with a gated clock it's still synchronous. But, as you point out, you have introduced additional delay in the clock path which can affect meeting timing, and, depending on how you use the gate, you can generate glitches.
 

depending on how you use the gate, you can generate glitches
Usually Negative Latch with AND Gate are used to gate the clock. Is there a way to mange their timing in order to prevent glitches? Since gating is done on the negative edge of the clock, there is 1/2 of clock period a a margin. Why glitches?
 

How do you control "gating done on the negative edge"? If you can guarantee that condition, then fine, but if your gate signal is asynchronous then you can get into trouble.
 

Some devices, such as Altera Cyclone, have the capability to originate a clock from the logic array in addition to the more usual way of originating from a dedicated input pin. So, this allows the clock to be gated. Now, to be fair, this gates the clock to ALL the logic elements using that clock distribution. What is not done is to gate clocks to individual logic elements. This would make it very difficult to analyze the timing between LEs with and without the gated clock.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top