Skip to content

detail_place.tcl doesn't have environment variables for detailed placement #3920

@cham666

Description

@cham666

Description

###############################################
In detail_place.tcl:

...
  set_placement_padding -global \
    -left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
    -right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
  detailed_placement

  if { $::env(ENABLE_DPO) } {
    if { [env_var_exists_and_non_empty DPO_MAX_DISPLACEMENT] } {
      improve_placement -max_displacement $::env(DPO_MAX_DISPLACEMENT)
    } else {
      improve_placement
    }
  }
...

###############################################
Sometimes max_displacement can fix the detail placement error by setting to a large number

detailed_placement [-max_displacement disp|{disp_x disp_y}]
[-disallow_one_site_gaps] [-report_file_name file_name]

Suggested Solution

...
  set_placement_padding -global \
    -left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
    -right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
  detailed_placement  -max_displacement $::env(CELL_PAD_IN_SITES_DETAIL_DISPLACEMENT)

  if { $::env(ENABLE_DPO) } {
    if { [env_var_exists_and_non_empty DPO_MAX_DISPLACEMENT] } {
      improve_placement -max_displacement $::env(DPO_MAX_DISPLACEMENT)
    } else {
      improve_placement
    }
  }
...

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions