Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request removes the CTS_SNAPSHOTS configuration variable and simplifies the CTS script by removing the save_progress procedure and its associated error-catching blocks. The documentation is updated to reflect these changes. The review feedback correctly identifies an inaccuracy in the updated documentation regarding *-failed snapshots, which are not actually created due to an early return in the underlying script, and provides a suggestion to correct it.
detailed_placement fails with its own error, and the step fails with it. The two catch blocks around it saved a debug checkpoint under a name nothing reads; a checkpoint is now an ad-hoc orfs_write_db line added for the session, and cts.tcl says only what CTS does. EndpointSlackTracking.md named 4_1_error.odb as its example and said *-failed .odb files get no snapshot; orfs_write_db snapshots every .odb it writes, so it now says so. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
write_endpoint_slack returns early for a *-failed step; the previous commit said they get one. Any other .odb written through orfs_write_db, an ad-hoc checkpoint among them, does. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
oharboe
force-pushed
the
cts-no-error-odb
branch
from
November 11, 2026 06:37
da531c5 to
28ccfda
Compare
oharboe
marked this pull request as ready for review
November 11, 2026 06:46
Member
🔍 QoR checkMetrics reflect the PR merge build — i.e. what will land on the target branch. Commit 62 design(s) checked — 0 with regression(s), 0 without a comparable baseline. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before, when detailed placement failed in CTS,
cts.tclcaught the error, wrote4_1_error.odb(and its.sdc), and raised the error again with aDetailed placement failed in CTS:prefix. It did this twice, once for eachdetailed_placementcall.Now
detailed_placementfails with its own error, and the step fails with it.This is the open question #4804 left for a separate pull request. The rationale is the same as #4804's:
orfs_write_dbline, added for the session and removed again. Nothing reads4_1_error.odb: no make target, noOPEN_GUI_SHORTCUT, no test.cts.tclshould say what CTS does. Ten lines of error plumbing around two calls hid that the step is CTS, then detailed placement, then repair and detailed placement again.What changes
cts.tcl: bothcatchblocks arounddetailed_placement_helperare gone; the calls stand on their own.EndpointSlackTracking.mdnamed4_1_error.odbas its example of an intermediate.odbthat gets an endpoint slack snapshot. The example is now an ad-hoc checkpoint;*-failedones still get none, aswrite_endpoint_slackskips them.Not changed
docs/contrib/MakefileContract.mdandTclContract.mdsay a failing step writes<step>-failed.odband callserror, asglobal_place,detail_place,pdnandgrtdo. After this, CTS writes no failure.odb. It never wrote one under the contract's name either. Whether the rule stays, and CTS gets a4_1_cts-failed.odb, or the other stages lose theirs the same way, is for a separate pull request.Tested
On a successful run the step runs the same commands as before; only the failure path changes.
tclintandtclfmt --check0.7.0 pass oncts.tcl. I have not forced a detailed placement failure to see the new log. That, and the flow runs, are left to CI.🤖 Generated with Claude Code
https://claude.ai/code/session_018PFLaD4tC97s5fueStBjHE