Hello everyone.
I have one question about fanout error.
I used 'make user_proj_example' with original config.json.
But openlane.log has fanout warning message and report as below.
[WARNING]: There are max fanout violations in the design at the typical corner. Please refer to '../home/harada/Project/011_OpenLane/caravel_test_001/openlane/user_proj_example/runs/24_04_03_17_54/reports/signoff/33-rcx_sta.checks.rpt'.
Pin Limit Fanout Slack
---------------------------------------------------------
input37/X 16 35 -19 (VIOLATED)
input39/X 16 35 -19 (VIOLATED)
input40/X 16 35 -19 (VIOLATED)
_157_/Y 16 32 -16 (VIOLATED)
fanout124/X 16 32 -16 (VIOLATED)
fanout144/X 16 32 -16 (VIOLATED)
input46/X 16 32 -16 (VIOLATED)
input47/X 16 32 -16 (VIOLATED)
input48/X 16 29 -13 (VIOLATED)
input49/X 16 29 -13 (VIOLATED)
input51/X 16 26 -10 (VIOLATED)
input52/X 16 26 -10 (VIOLATED)
input41/X 16 23 -7 (VIOLATED)
input42/X 16 23 -7 (VIOLATED)
input53/X 16 23 -7 (VIOLATED)
input54/X 16 23 -7 (VIOLATED)
_277_/Q 16 20 -4 (VIOLATED)
_289_/Q 16 20 -4 (VIOLATED)
input43/X 16 20 -4 (VIOLATED)
input44/X 16 20 -4 (VIOLATED)
_278_/Q 16 18 -2 (VIOLATED)
clkbuf_2_1_0_counter.clk/X 16 18 -2 (VIOLATED)
clkbuf_2_3_0_counter.clk/X 16 18 -2 (VIOLATED)
input37/X is owned by input37 instance and it is connected to 35 pins.
But 34pin in 35pin are diode for ANTENNA.
〇inputs37/X instance
sky130_fd_sc_hd__buf_8 input37 (.A(wb_rst_i),
.VGND(vssd1),
.VNB(vssd1),
.VPB(vccd1),
.VPWR(vccd1),
.X(net37));
〇inputs/37/x connection
sky130_fd_sc_hd__diode_2 ANTENNA_360 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_361 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_362 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_363 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_364 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_365 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_366 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_367 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_368 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_369 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_370 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_371 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_372 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_373 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_374 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_375 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_376 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_377 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_378 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_379 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_380 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_381 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_382 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_383 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_384 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_385 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_386 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_387 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_388 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_389 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_390 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_391 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA_392 (.DIODE(net37),
sky130_fd_sc_hd__diode_2 ANTENNA__152__A_N (.DIODE(net37),
sky130_fd_sc_hd__nand2b_1 152 (.A_N(net37),
ANETENNA setting in config.tcl is as below.
(I use original config.json for this try.)
set ::env(ANTENNA_CHECK_CURRENT_DEF) "/home/harada/Project/011_OpenLane/caravel_test_001/openlane/user_proj_example/runs/24_04_03_17_54/tmp/signoff/38-user_proj_example.p.def"
set ::env(ANTENNA_VIOLATOR_LIST) "/home/harada/Project/011_OpenLane/caravel_test_001/openlane/user_proj_example/runs/24_04_03_17_54/reports/signoff/43-antenna_violators.rpt"
set ::env(GRT_REPAIR_ANTENNAS) "1"
set ::env(HEURISTIC_ANTENNA_INSERTION_MODE) "source"
set ::env(HEURISTIC_ANTENNA_THRESHOLD) "110"
set ::env(USE_ARC_ANTENNA_CHECK) "1"
How can I fix max fanout violation?