FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > VHDL

VHDL comp.lang.vhdl newsgroup / Usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 09-20-2003, 04:22 PM
walala
Guest
 
Posts: n/a
Default how to implement gated clock and gated partial circuit in VHDL?

Dear all,

I heard about a quite effective low power technique buzzword: "gated clock"
and/or "gated" sub-circuit for long. But I don't know how to implement this
in VHDL? Can anybody point me to some resources which have
easy-to-understand and practical samples or template that I can follow...?

Thanks a lot,

-Walala


Reply With Quote
  #2 (permalink)  
Old 09-22-2003, 04:29 AM
Roadie Roger
Guest
 
Posts: n/a
Default Re: how to implement gated clock and gated partial circuit in VHDL?

"walala" <[email protected]> wrote in message news:<[email protected]>...
> Dear all,
>
> I heard about a quite effective low power technique buzzword: "gated clock"
> and/or "gated" sub-circuit for long. But I don't know how to implement this
> in VHDL? Can anybody point me to some resources which have
> easy-to-understand and practical samples or template that I can follow...?
>
> Thanks a lot,
>
> -Walala


Actually gating clocks is relatively evil. Having a gated clock that
transitions less often does save power. Every signal edge is a power
waster in the face of capacitance. Gated clocks create other
problems. Your clocks are no longer exactly lined up. Many chips
have a global clock that goes everywhere. Breaking it into pieces
isn't a good thing. You want to enable data rather than gate clocks.
Call the Enable 'E'. This looks something like:

If CLK'event and CLK = '1' then
Q <= (not(E) and Q) or (D and Q) or (D and E);
end if;

I realize this doesn't tell you how to gate clocks. I'm not gonna
tell you, because I can't tell you how to fix the problems it creates.

Happy Designing,
Roadie Roger
<http://home.earthlink.net/~roadieroger/index.htm>
Reply With Quote
  #3 (permalink)  
Old 09-23-2003, 12:54 PM
Robert Reutemann
Guest
 
Posts: n/a
Default Re: how to implement gated clock and gated partial circuit in VHDL?

>>I heard about a quite effective low power technique buzzword: "gated clock"
>>and/or "gated" sub-circuit for long. But I don't know how to implement this
>>in VHDL? Can anybody point me to some resources which have
>>easy-to-understand and practical samples or template that I can follow...?

>
> Actually gating clocks is relatively evil. Having a gated clock that
> transitions less often does save power. Every signal edge is a power
> waster in the face of capacitance. Gated clocks create other
> problems. Your clocks are no longer exactly lined up. Many chips
> have a global clock that goes everywhere. Breaking it into pieces
> isn't a good thing. You want to enable data rather than gate clocks.
> Call the Enable 'E'. This looks something like:
>
> If CLK'event and CLK = '1' then
> Q <= (not(E) and Q) or (D and Q) or (D and E);
> end if;
>
> I realize this doesn't tell you how to gate clocks. I'm not gonna
> tell you, because I can't tell you how to fix the problems it creates.
>
> Happy Designing,
> Roadie Roger


Depends on your target technology. The above may hold for FPGA's,
but for standard-cell based ASIC technologies, gated clocks are
an elegant (in my opinion) and clean methodology for low-power
design.

In this case, you will most likely be using a clock tree generator
anyway, and all of the clock tree generators I know easily handle
clock gates. They will automatically align the clocks AFTER any
possible gates, i.e. at the leaf nodes (clock inputs of registers).
In this case, generating a low-skew clock tree is far easier for
gated clocks than for derived clocks (i.e. divided clocks).

Modern synthesis tools also can insert clock gates automatically
by replacing register enables (as shown in the post above) by
gated clocks. This can be handy, but it has the drawback of
reducing your control over clock gates (names, hierarchy).

Inserting clock gates in a VHDL design is easy. Just decide what
gating style you want/need (and/or based, with/without latch, with
test bypass, observability, ...).

My choice is to then explicitly instantiate a clock gating
element where needed. This has the disadvantage of requiring one
to "route" different clock signals through the design, but
it gives you full control over clock gating elements for use
in later stages of the design (clock tree generation, physical
optimization, ...).

Information about "clean" clock gating can be found in books
or also in synthesis tool manuals (where automatic clock
gate insertion is described). Probably you'll also find
resources on the web.

Robert

Reply With Quote
  #4 (permalink)  
Old 09-23-2003, 11:02 PM
Roadie Roger
Guest
 
Posts: n/a
Default Re: how to implement gated clock and gated partial circuit in VHDL?

Robert Reutemann <[email protected]> wrote in message news:<[email protected]>...
> >>I heard about a quite effective low power technique buzzword: "gated clock"
> >>and/or "gated" sub-circuit for long. But I don't know how to implement this
> >>in VHDL? Can anybody point me to some resources which have
> >>easy-to-understand and practical samples or template that I can follow...?

> >
> > Actually gating clocks is relatively evil. Having a gated clock that
> > transitions less often does save power. Every signal edge is a power
> > waster in the face of capacitance. Gated clocks create other
> > problems. Your clocks are no longer exactly lined up. Many chips
> > have a global clock that goes everywhere. Breaking it into pieces
> > isn't a good thing. You want to enable data rather than gate clocks.
> > Call the Enable 'E'. This looks something like:
> >
> > If CLK'event and CLK = '1' then
> > Q <= (not(E) and Q) or (D and Q) or (D and E);
> > end if;
> >
> > I realize this doesn't tell you how to gate clocks. I'm not gonna
> > tell you, because I can't tell you how to fix the problems it creates.
> >
> > Happy Designing,
> > Roadie Roger

>
> Depends on your target technology. The above may hold for FPGA's,
> but for standard-cell based ASIC technologies, gated clocks are
> an elegant (in my opinion) and clean methodology for low-power
> design.
>
> In this case, you will most likely be using a clock tree generator
> anyway, and all of the clock tree generators I know easily handle
> clock gates. They will automatically align the clocks AFTER any
> possible gates, i.e. at the leaf nodes (clock inputs of registers).

In that case, I withdraw my objection. Go for it
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Gated clock Chip Verilog 9 07-17-2008 11:47 PM
gated clock [email protected] FPGA 6 03-22-2007 04:59 AM
Gated clock problem Wenju Fu FPGA 12 05-05-2005 06:01 PM
Gated Clock Timing Wenjun Fu FPGA 0 04-29-2005 07:59 AM
How to implement gated clock and/or gated partial circuit in Verilog? walala Verilog 4 09-29-2003 04:49 PM


All times are GMT +1. The time now is 02:18 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved