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.

how to reduce high fanout

Status
Not open for further replies.

eda_wiz

Advanced Member level 2
Advanced Member level 2
Joined
Nov 7, 2001
Messages
653
Helped
58
Reputation
116
Reaction score
29
Trophy points
1,308
Activity points
6,195
attribute syn_maxfan

hi all,
my linter says high fanout (16) on some nets. Can anyone tell me how to reduce this ..

tnx
 

Hi,
You can use your sythesis tool to set constraints just like set_max_fanout 8, that means in your design the fanout is lower than 8.
 

if you modify hdl source, refer to the document!
 

there is a paper that discusses the high fanout nets!
Hope to help you!
 

fanout

you can limit the fanout from any net or output port or any register output by fairly using attributes in your vhdl or verilog file. Take for example in synplicity:

It would be

attribute syn_maxfan of [name of net or port]: signal is [fanout number say 10];

word of caution here:::

lesser fanout attribute on crictical timing nets set for more global clock resources consumption.
 

Actually the high fanout problem can be solved by physical implementation. Espically for the clock and reset signals!
 

Lint tool just wants to remind you some signal having larger fanout,
it doesn't mean a real problem, you should review your design to see if it will cause a problem physically.

btw, you can change Lint rule to avoid such warning.
 

You can simply use logic or register duplication in your design.
 

In my past experience, this kind of warning from so called HDL assistant tool means nothing, so I never take them into considerations. And I also suggest not try to fix this kind of warning in the synthesis step, it will result in a larger design. Modern layout tools are able to deal with them very well.
 

As a compromise between all suggestions to solve the problem, you can try the solutions of using attributes or buffer insertion then simulat your design and check the violation that my appear and enhance your design according to the results you get.
regards
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top