Skip to content

docs: Extract and expand Design Space Exploration guide - #11092

Open
oharboe wants to merge 3 commits into
The-OpenROAD-Project:masterfrom
oharboe:docs-dse-expansion
Open

docs: Extract and expand Design Space Exploration guide#11092
oharboe wants to merge 3 commits into
The-OpenROAD-Project:masterfrom
oharboe:docs-dse-expansion

Conversation

@oharboe

@oharboe oharboe commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Extracts DSE architectural patterns and theories into a dedicated DesignSpaceExploration.md file to keep DeveloperGuide.md focused on core futility policies.

@oharboe
oharboe requested review from a team as code owners August 7, 2026 12:20
@github-actions github-actions Bot added the size/S label Aug 7, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new comprehensive guide on Design Space Exploration (DSE) and automated tuning in OpenROAD, linking to it from the Developer Guide. It also optimizes the handling of unusable sites in the global placer (src/gpl/src/placerBase.cpp) by merging vertically adjacent blocked sites into larger 2D dummy instances, which significantly reduces the total number of dummy instances created during placement. Test outputs have been updated to reflect this optimization. There are no review comments, and I have no feedback to provide.

Extracts DSE optimization function theory, early-stopping strategies,
rung management (ladder of estimates), custom signal misconceptions, and
framework inversion concepts into a dedicated DesignSpaceExploration.md
guide.

Also includes a Literature & Prior Art section connecting these EDA
DSE methods to Multi-Fidelity Optimization (MFO) and Hyperparameter
Optimization (ASHA/Hyperband).

DeveloperGuide.md now correctly focuses strictly on the core flow
futility policy for developers, with a link out to the new comprehensive guide.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe
oharboe force-pushed the docs-dse-expansion branch from 2e5cc39 to 6571b30 Compare August 7, 2026 12:26
@oharboe

oharboe commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

@maliberty This background will make it easier to understand the motivation for the various single concern PRs I have in flight and I think it is good framing for autotuner. It also manages expecations for what the autotuner, OpenROAD+ORFS can do and what the user must do for DSE(design space exploration).

Today global placement is stuck indefinitely in O(n^big) on linked lists, I have patches to take that down to 11 hours and further down to << 2 hours.

This is done in a way that doesn't compromise the tapeout use-case and mnimizes the cognitive load for users and is congruent with POLA.

@oharboe

oharboe commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

@maliberty Yes: this was written by AI based on my input, but I think it reads reasonably well. Not too flowery or a wall of text and it vendors in context that I think is necessary.

I shall take any insult to this written text as an insult to my inferior to AI writing skills here, I can't do better myself. 🤠

@maliberty

Copy link
Copy Markdown
Member

The prose is fine but my concern is about presenting one approach/opinion as global fact.

  • When this approach yields mediocre results.. is stated as if it is always true.
  • the user must define an external optimization function some users will be happy enough with fmax.
  • Users are encouraged to write custom flows will lead less experienced users into trouble.

I would be happier with this being prefaced with you stating it is your experience rather than the global recommendation of OpenROAD.

Address PR comments by clarifying the text is about an advanced
use-case and descriptive in nature, rather than an overarching
rule to be strictly followed by all OpenROAD users.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe

oharboe commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

@maliberty That is very fair feedback. I definitely don't want to tell others how to best do what is best for them—they know their own requirements best, and the standard flow with standard metrics like fmax is clearly the right path for many. If we tell people what to do or think, they will naturally resist, which is the opposite of my goal here.

My aim is to provide descriptive background material for a specific, advanced use-case (large-scale autotuning). Having this context documented means that when I submit future PRs (like addressing the O(n^big) bottlenecks in global placement), everybody can agree on the context. It saves us from having to re-litigate why these changes are valuable and congruent with OpenROAD's broader goals.

I want to avoid adding a disclaimer that this is "just my experience," as that signals the document can be safely ignored as a personal anecdote rather than a valid, documented use-case.

Instead, I have pushed an update that shifts the tone from prescriptive (telling people what they must do) to descriptive (explaining how advanced DSE frameworks operate). I've softened the absolute statements you highlighted, removed words like "must" and "encouraged," and added a preface clarifying that the standard flow and metrics are perfectly fine for general use.

@oharboe

oharboe commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

@MrAMS Since you've done DSE studies and are familiar with this domain, I thought you might be interested in this.

Additionally, if you are interested in calculating the floorplan based on synthesis results—rather than trying to drive those guesses purely via DSE input parameters—that is possible too. In my experience, I've found that core utilization can drop because the RTL doesn't grow linearly. Because of this, I prefer to start on a rung with a more generous area until I converge on an input domain that is somewhat close to the target, and only then try to tighten the floorplan on the next rung.

@oharboe
oharboe force-pushed the docs-dse-expansion branch 4 times, most recently from 0ce9ae9 to 650b7a3 Compare August 7, 2026 22:39
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe
oharboe force-pushed the docs-dse-expansion branch from 650b7a3 to e4387f4 Compare August 7, 2026 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants