@@ -241,11 +241,14 @@ proc global_route { args } {
241241
242242sta::define_cmd_args " repair_antennas" { diode_cell \
243243 [-iterations iterations] \
244- [-ratio_margin ratio_margin]}
244+ [-ratio_margin ratio_margin] \
245+ [-jumper_only] \
246+ [-diode_only] \
247+ [-allow_congestion]}
245248
246249proc repair_antennas { args } {
247250 sta::parse_key_args " repair_antennas" args \
248- keys {-iterations -ratio_margin} flags {}
251+ keys {-iterations -ratio_margin} flags {-jumper_only -diode_only -allow_congestion }
249252 if { [ord::get_db_block] == " NULL" } {
250253 utl::error GRT 104 " No design block found."
251254 }
@@ -285,6 +288,16 @@ proc repair_antennas { args } {
285288 sta::check_positive_integer " -iterations" $iterations
286289 }
287290
291+ set allow_congestion [info exists flags(-allow_congestion)]
292+ grt::set_allow_congestion $allow_congestion
293+
294+ set jumper_only [info exists flags(-jumper_only)]
295+ set diode_only [info exists flags(-diode_only)]
296+
297+ if { $jumper_only && $diode_only } {
298+ utl::error GRT 294 " Only use either -jumper_only or -diode_only flag"
299+ }
300+
288301 set ratio_margin 0
289302 if { [info exists keys(-ratio_margin)] } {
290303 set ratio_margin $keys(-ratio_margin)
@@ -293,7 +306,7 @@ proc repair_antennas { args } {
293306 }
294307 }
295308
296- return [grt::repair_antennas $diode_mterm $iterations $ratio_margin ]
309+ return [grt::repair_antennas $diode_mterm $iterations $ratio_margin $jumper_only $diode_only ]
297310 } else {
298311 utl::error GRT 45 " Run global_route before repair_antennas."
299312 }
0 commit comments