Skip to content

place_density_with_lb_addon mechanism should live inside GPL #4499

Description

@AcKoucher

Description

If we set a high CORE_UTILIZATION along with a high CELL_PAD_IN_SITES_GLOBAL_PLACEMENT, the density lower bound may be higher than 1.0. For such a case we should error and inform the user that in may be required to lower either utilization or padding.

However, as we compute the placement density from the lower bound density using PLACE_DENSITY_LB_ADDON in a helper ORFS script util.tcl, we're obligated to error from the script (FLW messages).

#4486 shows an example of such a case.

Suggested Solution

It looks like all this computation should really happen internally to GPL so that,if we detect that the either the lower bound or the true computed density is "illegal" (>1.0), the error comes from OR and not from a script in ORFS.

Activity

  1. oharboe commented on Sep 2, 2026

    @oharboe
    Collaborator

    This sounds like a linting type error that shouldn't have to run the flow at all. Perhaps this can be implemented in python with python unit-tests?

    It could be hooked up to a "make lint" target that runs checks all variables.

    Otherwise it will be an edge case that will never be exercised and as probably dead code in CI in OpenROAD and ORFS because those tests focus on flows and tests cases that should succeed.

  2. converted this issue into a discussion #4500 on Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    gplGlobal Placement

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions