Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tweak Classic Flow's Antenna Insertion Regime #255

Merged
merged 24 commits into from
Nov 15, 2023
Merged

Tweak Classic Flow's Antenna Insertion Regime #255

merged 24 commits into from
Nov 15, 2023

Conversation

donn
Copy link
Member

@donn donn commented Nov 6, 2023

  • Classic flow
    • Odb.DiodesOnPorts and Odb.HeuristicDiodeInsertion now run after OpenROAD.RepairDesignPostGRT (as the latter may create some long wires) but still before Odb.ResizerTimingPostGRT (as timing repairs take priority)
    • OpenROAD.CheckAntennas added after OpenROAD.DetailedRoute
  • Part of OpenROAD.GlobalRouting spun off as OpenROAD.RepairAntennas
    • Added OpenROAD.RepairAntennas to Classic flow after Odb.HeuristicDiodeInsertion; gated by RUN_ANTENNA_REPAIR (with a deprecated name of GRT_REPAIR_ANTENNAS for backwards compat)
    • API Break: Removed GRT_REPAIR_ANTENNAS from the step itself
  • Odb.DiodesOnPorts, Odb.HeuristicDiodeInsertion:
    • Now automatically runs DPL and GRT to legalize after insertion
    • Old behavior kept using new steps: Odb.PortDiodePlacement and Odb.FuzzyDiodeInsertion.
    • Updated underlying script to have some more debugging options/be more resilient
    • API Break: Updated HEURISTIC_ANTENNA_THRESHOLD to be a non-optional PDK variable with default variables added in openlane/config/pdk_compat.py
    • Fixed a bug where attempting to insert another diode of the same name would cause a crash
  • Internally updated implementation of VHDLClassic flow to dynamically create .Steps from Classic
  • Updated documentation of openlane.config.Variable::Variable.pdk to make it a bit clearer
  • Updated OpenROAD to 6f9b2bb
    • OpenSTA is now built standalone just like openroad-abc for modularity purposes
  • Rename antenna__count to route__antenna_violations__count

Resolves #248
Blocked on The-OpenROAD-Project/OpenROAD#4229

* `Classic` flow
  * `Odb.HeuristicDiodeInsertion` now runs after `OpenROAD.RepairDesignPostGRT` (as the latter may create some long wires)
    * `OpenROAD.CheckAntennas` added after `OpenROAD.DetailedRoute`
* Part of `OpenROAD.GlobalRouting` spun off as `OpenROAD.RepairAntennas`
  * Removed `GRT_REPAIR_ANTENNAS`
  * Added `OpenROAD.RepairAntennas` to `Classic` flow after `OpenROAD.ResizerTimingPostGRT`; gated by `RUN_ANTENNA_REPAIR` (with a deprecated name of `GRT_REPAIR_ANTENNAS` for backwards compat)
* Internally updated implementation of `VHDLClassic` flow to dynamically create `.Steps` from `Classic`
@donn donn requested a review from kareefardi November 6, 2023 19:44
@donn donn mentioned this pull request Nov 6, 2023
@donn donn added the ⛔️ blocked This issue or PR is pending an issue with an underlying utility label Nov 8, 2023
@donn donn removed the ⛔️ blocked This issue or PR is pending an issue with an underlying utility label Nov 9, 2023
@donn donn requested a review from kareefardi November 12, 2023 08:41
@donn donn mentioned this pull request Nov 14, 2023
openlane/scripts/odbpy/reader.py Outdated Show resolved Hide resolved
openlane/scripts/odbpy/reader.py Outdated Show resolved Hide resolved
openlane/steps/odb.py Show resolved Hide resolved
openlane/steps/odb.py Show resolved Hide resolved
openlane/steps/step.py Outdated Show resolved Hide resolved
openlane/steps/step.py Show resolved Hide resolved
openlane/steps/step.py Show resolved Hide resolved
@donn donn requested a review from kareefardi November 15, 2023 05:25
@donn donn enabled auto-merge (squash) November 15, 2023 11:51
@donn donn merged commit 7ec5646 into main Nov 15, 2023
74 checks passed
@donn donn deleted the flow_changes branch November 19, 2023 10:04
donn added a commit to The-OpenROAD-Project/OpenLane that referenced this pull request Nov 19, 2023
~ `openroad_app` -> `6f9b2bb` to match efabless/openlane2#255
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Redo routing flow as follows
2 participants