*<1 new commit> pushed to <https://github.com/efab...
# openlane
1 new commit pushed to `develop` `3ad4e7f4` - workaround FR caveats with designs bigger than 10K cells efabless/openlane
Commented on some suspicious code
cc @Amr Gouhar
@Riking28: So, the flow of antenna avoidance in FastRoute, roughly, goes as follows: FR routes the whole thing, then it run the Antenna Rule Checker, then it starts inserting diodes (which rips some of the nets) and then reroutes those nets only. What happens is that for some big designs those rerouted nets somehow have invalid guides, but since they are big designs with large guide files it's hard to pin point and TritonRoute is not giving a meaningful enough error message (but the OpenROAD guys are working on both issues currently). So, the workaround is to re-run global routing after inserting the diodes, and with the
option disabled. I agree that it's a lazy workaround but it's just an "until-then" situation. And, here comes the 3 lines you mentioned above, which, after diode insertion is completed, first set the DIODE_INSERTION_STRATEGY to anything other than 3 (to not enable FR::repair_antenna) in this case it's set to 0, which is the do-nothing strategy. Then, it runs vanilla global routing, and then just in case resets DIODE_INSERTION_STRATEGY to its original value which is 3. of course, this whole thing only happens in DIODE_INSERTION_STRATEGY 3, and is wrapped in an if statement to ensure that.
Ah, missed that this was inside only strategy 3