top of page

High Fanout Synthesis

The goal of high fanout synthesis is to build a buffer tree for nets with a lot of fanout (Usually more than 1000). Because of the change in placement, the synthesis tool may have already performed high fanout synthesis based on fanout, which may no longer make sense. As a result, the tool will remove buffers from high fanout nets before performing high fanout synthesis (HFNS). There isn't much you can do here most of the time, however most tools have some controls for controlling high fanout synthesis.

Some of the settings available with tools that effect HFNS:

  • Fanout limit: This degree of buffering is the limit that governs nets with fanout greater than this. Usually this is set close to 1000. But you may want to reduce this to sometimes get better QoR. My suggestion would be to use the device setting first with default settings. If at a later point you notice that some of the higher fanout nets are not buffered well, and/or of lower quality, you may consider setting this to a lower value to work your way to a better QoR. Though, lowering this limit will lead to issues in timing and congestion.


  • Congestion or timing effort: Typically, the amount of congestion and timing effort put into the placement optimization command will affect or tweak the HFNS algorithm.


bottom of page