The-OpenROAD-Project / The-OpenROAD-Project/OpenROAD

Incremental global placement needs to be timing aware

Open
#11,358 1 comment 0 reactions 1 assignee View on GitHub

@LucasYuki is already working on this.

Since Sep 8, 2026.

gpl
Dominant language
Verilog
Stars
3.1k
Forks
1k
Avg merge
2d 23h
Merged PRs (30d)
136

Description

Describe the bug

In https://github.com/The-OpenROAD-Project/OpenROAD/pull/11357 I changed the operation of gpl. In asap7/cva6 this results is a slightly different result which has the effect of going from 0 swaps to 3 swaps in replace_arith_modules. This ultimately degrades final timing.

The problem appears to originate from global_placement -incremental. It is not timing aware and undoes some of the previous optimization. Presumably routability suffers from a similar potential issue. It needs to have some timing awareness:

┌──────┬───────────────┬───────────┬───────────────────┬─────────────────┐
│      │ DP input HPWL │ legalized │ legalization cost │   TNS effect    │
├──────┼───────────────┼───────────┼───────────────────┼─────────────────┤
│ base │ 490,398       │ 523,270   │ +6.7%             │ improved 1,551  │
├──────┼───────────────┼───────────┼───────────────────┼─────────────────┤
│ new  │ 463,021       │ 499,186   │ +7.8%             │ degraded 23,324 │
└──────┴───────────────┴───────────┴───────────────────┴─────────────────┘

Additionally there is no ability to revert such a degradation so it is sticky.

Expected Behavior

No timing degradation from incremental placement.

Environment
https://content.jenkins.openroad.tools/static-files/MAnyA5HOjJbaxuGn-zvFklzYWemco1jWbAcG50yazfUxNzg4ODc4NTI2MzYxOjQ6bWF0dDpqb2IvT3BlblJPQUQtZmxvdy1zY3JpcHRzLVByaXZhdGUvam9iL3NlY3VyZS1ncGwtY29udmVyZ2VuY2UtZml4ZXMvMS9hcnRpZmFjdA==/final_report_cva6_asap7_base_2026-09-08_05-33.tar.gz

https://content.jenkins.openroad.tools/static-files/h9-GN95LeEJlKVQLwHHqasufJ39-arLOLq6u8h3hXmYxNzg4ODc4NTUzNDAxOjQ6bWF0dDp1c2VyL21hdHQvbXktdmlld3Mvdmlldy9NYXN0ZXIvam9iL09wZW5ST0FELWZsb3ctc2NyaXB0cy1OaWdodGx5LVB1YmxpYy83NDgxL2FydGlmYWN0/final_report_cva6_asap7_base_2026-09-08_08-24.tar.gz
To Reproduce

See above

Relevant log output

Screenshots

No response

Additional Context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.