https://open-source-silicon.dev logo
Title
c

Christian Duffee

04/15/2023, 5:09 PM
Hey, does anyone know how to approach violations after running the OpenLane flow? In particular, I am getting significant max fanout violations after running "make" on a digital module. Is there a way to go back and fix these after the fact, or force openLane to adhere to the specified SYNTH_MAX_FANOUT limit?
v

Vijayan Krishnan

04/16/2023, 2:30 AM
Normally it will be be fixed by resizer. Can you share the log file to check fanout?
c

Christian Duffee

04/16/2023, 3:24 PM
@Vijayan Krishnan thanks for your reply. Thats the weird part, the 8-resizer fixes all the fanout errors and then some more are reintroduced later in the process (most of the form clkbuf_leaf_34_wb_clk_i) and not fixed with the 11-resizer. There are also negative slack "setup errors", which I assumed could be fixed by increasing the clock period in openlane/MODULE/config.json, although not sure if thats a related or separate problem
logs.zip,reports.zip
v

Vijayan Krishnan

04/17/2023, 5:20 AM
SYNTH_MAX_FANOUT
used to limit fanout size during synthesis stage. After that OpenROAD will handle fanout based on technology library to fix violation with resizer tool. If you remove
SYNTH_MAX_FANOUT
from the configuration, the warning will not get recorded in the log. Better you can ignore this warning.
c

Christian Duffee

04/17/2023, 5:31 AM
Okay if its not that important I'll ignore it. Thanks
👍 1