Repository navigation
fix(drc): preserve violations in nested report categories - #4696
Open
jinchuntan wants to merge 1 commit into
Open
jinchuntan wants to merge 1 commit into
jinchuntan wants to merge 1 commit into
Conversation
Traverse child categories when converting a KLayout report database. Use canonical category paths so rules with the same leaf name and literal dotted names remain distinct. Add regressions for sibling rule names and deeper nesting and a flat name that overlaps a nested path. Prepared with Codex assistance. Signed-off-by: Nigel Tan <nigeltanjc@gmail.com>
Contributor
There was a problem hiding this comment.
Code Review
This pull request updates the KLayout DRC conversion utility to recursively traverse nested categories and use the category path instead of its name as the key in the output dictionary. This prevents categories with identical names in different paths from overwriting each other. Unit tests have been added and updated to verify the nested category traversal and path-based keying. There are no review comments to address.
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.
The converter only visited the top level of a KLayout report database. Violations stored in child categories were left out of the JSON output.
It now walks the full category tree and uses KLayout category paths to keep rule names distinct. This also separates a literal dotted name from a nested category with the same text.
Added three regressions for repeated leaf names and deeper nesting and dotted name collisions. All 10 converter tests pass. Black passes for both changed files.
A saved and reloaded report created with KLayout 0.30.12 contains three violations. The original converter exports one and the fix exports all three with their shapes and comments.
The broader utility checks cover 94 cases with 92 passing and one skipped because Yosys is unavailable. The process visibility test fails in this workspace as it also does on unchanged master at 7bcaf47.
A full layout DRC run was not performed.
Prepared with Codex assistance.