Skip to content

Cts: improve level creating threshold#10842

Draft
arthurjolo wants to merge 9 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:cts_improve_level_creating_threshold
Draft

Cts: improve level creating threshold#10842
arthurjolo wants to merge 9 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:cts_improve_level_creating_threshold

Conversation

@arthurjolo

Copy link
Copy Markdown
Contributor

Summary

This PR improves the H-tree level creation stop criterion in CTS by using the actual sink region geometry, preventing shallow trees.

The existing stop criterion for H-tree level creation relied solely on the number of sinks per subregion (isNumberOfSinksTooSmall). This could cause the tree to stop building levels too early or too late, depending on sink distribution — particularly for designs with max_wirelength set or macro trees.

Type of Change

  • New feature

Impact

  • Combined H-tree level stop criterion: When max_wirelength is set, level creation now stops only when both the largest sink region HPWL is smaller than max_wirelength and the number of sinks per subregion is too small. Previously, the sink-count check alone could stop the tree prematurely when sinks were still geometrically spread out. When max_wirelength is not set, the original sink-count-only criterion is preserved.

  • Guard against invalid maxWl (TritonCTS.cpp:247-249): setMaxWl is now only called when resizer_->findMaxWireLength() returns a positive value, preventing a zero/negative max wirelength from disabling the geometric check

Verification

  • I have verified that the local build succeeds (./etc/Build.sh).
  • I have run the relevant tests and they pass.
  • My code follows the repository's formatting guidelines.
  • I have included tests to prevent regressions.
  • I have signed my commits (DCO).

Related Issues

…gion

Signed-off-by: arthurjolo <arthurjl@precisioninno.com>
…creation threshold

Signed-off-by: arthurjolo <arthurjl@precisioninno.com>
Signed-off-by: arthurjolo <arthurjl@precisioninno.com>
Signed-off-by: arthurjolo <arthurjl@precisioninno.com>
Signed-off-by: arthurjolo <arthurjl@precisioninno.com>
Signed-off-by: arthurjolo <arthurjl@precisioninno.com>
@arthurjolo arthurjolo self-assigned this Jul 8, 2026
@github-actions github-actions Bot added the size/S label Jul 8, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

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.

1 participant