A synthesis question about "high-fanout nets" 
Author Message
 A synthesis question about "high-fanout nets"

Hi All,

I am not sure if this is the right place to post the title. But I will
be very appreciated if any one can help.

When synthesis with Synopsys Design Compiler, I got the message :

Warning: Design 'ooo' contains 1 high-fanout nets. A fanout number of
1000 will be used for delay calculations involving these nets.
(TIM-134)

1. Is the warning quite important?
2. How can I identify the high-fanout nets?
3. How can I fix the warning?
   I guess it might be reset or clock signal.
   So I use
   set_drive 0
   set_dont_touch_network
   on all clocks and reset
   But still got the warning.



Sun, 18 Dec 2005 11:52:51 GMT  
 A synthesis question about "high-fanout nets"
: Hi All,

: I am not sure if this is the right place to post the title. But I will
: be very appreciated if any one can help.

: When synthesis with Synopsys Design Compiler, I got the message :

: Warning: Design 'ooo' contains 1 high-fanout nets. A fanout number of
: 1000 will be used for delay calculations involving these nets.
: (TIM-134)

: 1. Is the warning quite important?

For a high speed design mostly.

: 2. How can I identify the high-fanout nets?

Look at your design, look at the syntesis report and logs.

: 3. How can I fix the warning?
:    I guess it might be reset or clock signal.
:    So I use
:    set_drive 0
:    set_dont_touch_network
:    on all clocks and reset

Try to use the FPGA family specific resources for that net. E.g. on Xilinx
for the reset line, you can use the STARTUP block and connect your generated
reset signal to that block.

Bye
--

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------



Sun, 18 Dec 2005 16:07:03 GMT  
 A synthesis question about "high-fanout nets"

Quote:

> Hi All,

> I am not sure if this is the right place to post the title. But I will
> be very appreciated if any one can help.

> When synthesis with Synopsys Design Compiler, I got the message :

> Warning: Design 'ooo' contains 1 high-fanout nets. A fanout number of
> 1000 will be used for delay calculations involving these nets.
> (TIM-134)

> 1. Is the warning quite important?

DC uses the following formula to calculate net capacitance:
NET CAP = SUM OF ALL Cpins + Wire Cap, where:
Cpin is input capacitance of each driven pin;
Wire Cap is net capacitance, which is calculated from WLM using net
fanout and design area info. During Design optimization, DC need to
recalc NET CAP value capacitance every time it adds / removes net
loads.

However, for high fanout nets different formula is used:
NET CAP = high_fanout_net_threshold * high_fanout_net_pin_capacitance
+ Wire Cap
where high_fanout_net_threshold and high_fanout_net_pin_capacitance
are two initially predefined DC variables.
So, if net fanout exceeds high_fanout_net_threshold , NET CAP becomes
fixed and will not be recalculated every time DC makes incremental
changes.

Quote:
> 2. How can I identify the high-fanout nets?

You may run "report_net_fanout -high_fanout" command (see help for
command options)

Quote:
> 3. How can I fix the warning?

Use set_ideal_net or set_ideal_network commands to exclude net from
any optimizations.

Quote:
>    I guess it might be reset or clock signal.
>    So I use
>    set_drive 0
>    set_dont_touch_network
>    on all clocks and reset
>    But still got the warning.

Regards,
Alexander Gnusin
www.TCLforEDA.net


Sun, 18 Dec 2005 20:14:02 GMT  
 A synthesis question about "high-fanout nets"
Thanks !!

It is so helpful.
Where can I get information such as you mentioned,
"high_fanout_net_threshold ", etc.

From the Synopsys munual?

Quote:


> > Hi All,

> > I am not sure if this is the right place to post the title. But I will
> > be very appreciated if any one can help.

> > When synthesis with Synopsys Design Compiler, I got the message :

> > Warning: Design 'ooo' contains 1 high-fanout nets. A fanout number of
> > 1000 will be used for delay calculations involving these nets.
> > (TIM-134)

> > 1. Is the warning quite important?

> DC uses the following formula to calculate net capacitance:
> NET CAP = SUM OF ALL Cpins + Wire Cap, where:
> Cpin is input capacitance of each driven pin;
> Wire Cap is net capacitance, which is calculated from WLM using net
> fanout and design area info. During Design optimization, DC need to
> recalc NET CAP value capacitance every time it adds / removes net
> loads.

> However, for high fanout nets different formula is used:
> NET CAP = high_fanout_net_threshold * high_fanout_net_pin_capacitance
> + Wire Cap
> where high_fanout_net_threshold and high_fanout_net_pin_capacitance
> are two initially predefined DC variables.
> So, if net fanout exceeds high_fanout_net_threshold , NET CAP becomes
> fixed and will not be recalculated every time DC makes incremental
> changes.

> > 2. How can I identify the high-fanout nets?
> You may run "report_net_fanout -high_fanout" command (see help for
> command options)

> > 3. How can I fix the warning?
> Use set_ideal_net or set_ideal_network commands to exclude net from
> any optimizations.

> >    I guess it might be reset or clock signal.
> >    So I use
> >    set_drive 0
> >    set_dont_touch_network
> >    on all clocks and reset
> >    But still got the warning.

> Regards,
> Alexander Gnusin
> www.TCLforEDA.net



Wed, 21 Dec 2005 00:16:58 GMT  
 A synthesis question about "high-fanout nets"
Execuse me for one more question.

I have tried but the result surprised me.
The high fan-out net I have been searched for these days are *Logic0*.

I am not sure if this is normal.

Or maybe something wrong , say coding style bugs?

And most of all, should I care about *Logic0*?

Quote:


> > Hi All,

> > I am not sure if this is the right place to post the title. But I will
> > be very appreciated if any one can help.

> > When synthesis with Synopsys Design Compiler, I got the message :

> > Warning: Design 'ooo' contains 1 high-fanout nets. A fanout number of
> > 1000 will be used for delay calculations involving these nets.
> > (TIM-134)

> > 1. Is the warning quite important?

> DC uses the following formula to calculate net capacitance:
> NET CAP = SUM OF ALL Cpins + Wire Cap, where:
> Cpin is input capacitance of each driven pin;
> Wire Cap is net capacitance, which is calculated from WLM using net
> fanout and design area info. During Design optimization, DC need to
> recalc NET CAP value capacitance every time it adds / removes net
> loads.

> However, for high fanout nets different formula is used:
> NET CAP = high_fanout_net_threshold * high_fanout_net_pin_capacitance
> + Wire Cap
> where high_fanout_net_threshold and high_fanout_net_pin_capacitance
> are two initially predefined DC variables.
> So, if net fanout exceeds high_fanout_net_threshold , NET CAP becomes
> fixed and will not be recalculated every time DC makes incremental
> changes.

> > 2. How can I identify the high-fanout nets?
> You may run "report_net_fanout -high_fanout" command (see help for
> command options)

> > 3. How can I fix the warning?
> Use set_ideal_net or set_ideal_network commands to exclude net from
> any optimizations.

> >    I guess it might be reset or clock signal.
> >    So I use
> >    set_drive 0
> >    set_dont_touch_network
> >    on all clocks and reset
> >    But still got the warning.

> Regards,
> Alexander Gnusin
> www.TCLforEDA.net



Wed, 21 Dec 2005 00:30:49 GMT  
 A synthesis question about "high-fanout nets"

Quote:

> Execuse me for one more question.

> I have tried but the result surprised me.
> The high fan-out net I have been searched for these days are *Logic0*.

> I am not sure if this is normal.

> Or maybe something wrong , say coding style bugs?

> And most of all, should I care about *Logic0*?

Run "echo $high_fanout_net_threshold". Initially, it is 1000. You may
redefine it the same way as any other TCL variable, for example : "set
high_fanout_net_threshold 3000"
All nets (including Logic1 and Logic0) with fanout greater than this
value will be marked with attribute "h".
However, global nets are marked also with attribute "dr" which
commands DC to exclude them from any optimizations.
You may double check it with report:
report_net_fanout [get_nets *Logic*]

So, there is nothing wrong with this, in a case global nets are marked
with "dr" attribute.

Regards,
Alexander Gnusin
www.TCLforEDA.net



Wed, 21 Dec 2005 21:01:23 GMT  
 
 [ 6 post ] 

 Relevant Pages 

1. beginners "let"/"random" question

2. string.join(["Tk 4.2p2", "Python 1.4", "Win32", "free"], "for")

3. Xilinx Vhdl "'event" synthesis problem

4. J. Bhasker "VHDL Synthesis Primer"

5. Responsible retail of "Herbal Highs"

6. Info please -- "High Level Assembler"

7. Using the Binder "high level" interface

8. Store the "high-level"of the comparasion of 2 float-values

9. "High School Computing: The Inside Story"

10. Tk: missing "high-level" callbacks

11. tcl: "incr" with high number

12. VA: Need "high performance container" part

 

 
Powered by phpBB® Forum Software