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

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > Verilog

Verilog comp.lang.verilog newsgroup / usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-12-2004, 06:10 AM
whizkid
Guest
 
Posts: n/a
Default HELP: High fanout load on Gated clock output

Hi Friends,
I am doing a module design in which I wanted to implement
module/block level clock gating.
If there is an enable I want the clock to reach DFFs otherwise not. I
have been coding the RTL like

[email protected](posedge CLK or negedge RST) begin
if(!RST) begin
MUX_IN_COUNTER <= 5'b00000;
end
else if(ENB) begin
MUX_IN_COUNTER<= n_MUX_IN_COUNTER;
end
end

All the registers are gated with ENB pin. and I am using DC & power
compiler to synthesis this RTL .
Power compiler infers a Integrated clock gate cell , as I have
specified using the set_clock_gating_style command.
Power compiler infers one clock gate cell for each verilog sub_module
(though all the flops are gated by same enable).The problem is there
are around 6000 flops in my design. and some modules contain upto 800
flops. Due to fanout load on these highly loaded ICGs(Integrated clock
gate cells) the gated clock output is getting delayed to upto 30-35%.
Due to this I am getting lot of violations in netlist simulations
though Design compiler says My timing is easily Met..

Can anyone please suggest a solution ??

One solution I am thinking about is to force DC to take more clock
gate cells(say one CG cell for 40 flops) instead of one to load 800
flops. but i dont know how to do it.. does anyone know it ??


thanks
Whizkid
Reply With Quote
  #2 (permalink)  
Old 11-12-2004, 09:24 AM
mk
Guest
 
Posts: n/a
Default Re: HELP: High fanout load on Gated clock output

On 11 Nov 2004 21:10:02 -0800, [email protected] (whizkid) wrote:

>Hi Friends,
> I am doing a module design in which I wanted to implement
>module/block level clock gating.
> If there is an enable I want the clock to reach DFFs otherwise not. I
>have been coding the RTL like
>
> [email protected](posedge CLK or negedge RST) begin
> if(!RST) begin
> MUX_IN_COUNTER <= 5'b00000;
> end
> else if(ENB) begin
> MUX_IN_COUNTER<= n_MUX_IN_COUNTER;
> end
> end
>
>All the registers are gated with ENB pin. and I am using DC & power
>compiler to synthesis this RTL .
>Power compiler infers a Integrated clock gate cell , as I have
>specified using the set_clock_gating_style command.
>Power compiler infers one clock gate cell for each verilog sub_module
>(though all the flops are gated by same enable).The problem is there
>are around 6000 flops in my design. and some modules contain upto 800
>flops. Due to fanout load on these highly loaded ICGs(Integrated clock
>gate cells) the gated clock output is getting delayed to upto 30-35%.
>Due to this I am getting lot of violations in netlist simulations
>though Design compiler says My timing is easily Met..
>
>Can anyone please suggest a solution ??
>
>One solution I am thinking about is to force DC to take more clock
>gate cells(say one CG cell for 40 flops) instead of one to load 800
>flops. but i dont know how to do it.. does anyone know it ??


You need to stop DC buffering the clock nets and run clock tree
synthesis after logic synthesis and power compiler. DC is not the
right tool for clock tree management.
Reply With Quote
  #3 (permalink)  
Old 11-13-2004, 11:20 AM
whizkid
Guest
 
Posts: n/a
Default Re: HELP: High fanout load on Gated clock output

mk<[email protected]> wrote in message

> You need to stop DC buffering the clock nets and run clock tree
> synthesis after logic synthesis and power compiler. DC is not the
> right tool for clock tree management.


Hi,
Thanks for the reply. But I think DC is not buffering the Clock tree.
I use
constraint "set_dont_touch_network CLK" in my design. Is this what you
are reffering to ???

thanks
Whizkid
Reply With Quote
  #4 (permalink)  
Old 11-15-2004, 11:20 AM
Mark
Guest
 
Posts: n/a
Default Re: HELP: High fanout load on Gated clock output

Have you run the command :

set_clock_gating_style

if not, do a "man set_clock_gating_style" within dc and in particular
look at the max_fanout switch.

an example clock gating setup would be would be:

set power_preserve_rtl)hier_names true
set hdlin_no_group_register true

set_clock_gating_style -sequential_cell latch -minimum_bitwidth 4
-positive_edge_logic {integrated} -max_fanout 64 -control_point none

[email protected] (whizkid) wrote in message news:<[email protected] com>...
> Hi Friends,
> I am doing a module design in which I wanted to implement
> module/block level clock gating.
> If there is an enable I want the clock to reach DFFs otherwise not. I
> have been coding the RTL like
>
> [email protected](posedge CLK or negedge RST) begin
> if(!RST) begin
> MUX_IN_COUNTER <= 5'b00000;
> end
> else if(ENB) begin
> MUX_IN_COUNTER<= n_MUX_IN_COUNTER;
> end
> end
>
> All the registers are gated with ENB pin. and I am using DC & power
> compiler to synthesis this RTL .
> Power compiler infers a Integrated clock gate cell , as I have
> specified using the set_clock_gating_style command.
> Power compiler infers one clock gate cell for each verilog sub_module
> (though all the flops are gated by same enable).The problem is there
> are around 6000 flops in my design. and some modules contain upto 800
> flops. Due to fanout load on these highly loaded ICGs(Integrated clock
> gate cells) the gated clock output is getting delayed to upto 30-35%.
> Due to this I am getting lot of violations in netlist simulations
> though Design compiler says My timing is easily Met..
>
> Can anyone please suggest a solution ??
>
> One solution I am thinking about is to force DC to take more clock
> gate cells(say one CG cell for 40 flops) instead of one to load 800
> flops. but i dont know how to do it.. does anyone know it ??
>
>
> thanks
> Whizkid

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
Wire Load Models Anand P. Paralkar Verilog 4 04-23-2004 06:28 AM
How to implement gated clock and/or gated partial circuit in Verilog? walala Verilog 4 09-29-2003 05:49 PM
output = clock Ponkan Verilog 2 09-25-2003 06:50 PM
What' my mistake? (Load data to memory) Peng Yu Verilog 6 08-08-2003 08:27 PM
A synthesis question about "high-fanout nets" walter Verilog 3 07-04-2003 06:30 PM


All times are GMT +1. The time now is 11:41 PM.


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