Skip to content

cts: avoid loop in clock gate cloning recursion#10163

Open
openroad-ci wants to merge 2 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:cts_clock_gate_cloinng_loop
Open

cts: avoid loop in clock gate cloning recursion#10163
openroad-ci wants to merge 2 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:cts_clock_gate_cloinng_loop

Conversation

@openroad-ci
Copy link
Copy Markdown
Collaborator

Summary

If there are loops in the clock tree clock gate cloning could get stuck in an recursion loop causing a crash. This PR prevents this loop and the crash

Type of Change

  • Bug fix

Impact

Prevent loops during clock gate cloning search for clock gaters.

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 signed my commits (DCO).

Related Issues

issue #9993

Copy link
Copy Markdown
Contributor

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

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 cycle detection in the clock gate cloning process within the TritonCTS module. By passing a set of visited nets through the recursive calls of cloneClockGaters, the implementation now prevents potential infinite loops when traversing clock nets. I have no feedback to provide as there were no review comments to evaluate.

@github-actions
Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@arthurjolo
Copy link
Copy Markdown
Contributor

Running a CI to ensure everything is fine.

@arthurjolo
Copy link
Copy Markdown
Contributor

Ci is finishing with no differences.

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