Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding dualgate table rules #3

Merged
merged 73 commits into from
Feb 2, 2023
Merged

Adding dualgate table rules #3

merged 73 commits into from
Feb 2, 2023

Conversation

atorkmabrains
Copy link
Collaborator

@atorkmabrains atorkmabrains commented Jan 27, 2023

Adding dualgate table rules.

  • Tests pass
  • Appropriate changes to README are included in PR

Please note that testcases fail due to klayout build issue:
hdl/conda-eda#282

@atorkmabrains
Copy link
Collaborator Author

@proppy Please check and let me know. Once this is on, we could move forward with the rest of the tables.

@mithro mithro requested a review from proppy January 29, 2023 15:59
@mithro
Copy link
Contributor

mithro commented Jan 29, 2023

@atorkmabrains - I sent you an invite to this repository that should let you request review from @proppy

@mithro
Copy link
Contributor

mithro commented Jan 29, 2023

@atorkmabrains - Could you add svg renders of the GDS so they are easy to look at when reviewing / browsing?

@atorkmabrains
Copy link
Collaborator Author

@mithro Definitely.

klayout/drc/README.md Outdated Show resolved Hide resolved
klayout/drc/README.md Outdated Show resolved Hide resolved
klayout/drc/README.md Outdated Show resolved Hide resolved
report("DRC Run Report at", $report)
else
logger.info("GF180MCU Klayout DRC runset output at default location." % [File.join(File.dirname(RBA::CellView::active.filename), "gf180_drc.lyrdb")])
report("DRC Run Report at", File.join(File.dirname(RBA::CellView::active.filename), "gf180_drc.lyrdb"))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you might want to save File.join(File.dirname(RBA::CellView::active.filename), "gf180_drc.lyrdb") to an intermediate variable, since it's being used in multiple places in that file.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

something like:

    layout_dir = Pathname.new(RBA::CellView::active.filename).parent.realpath
    report_path = layout_dir.join("gf180_drc.lyrdb").to_s
    logger.info("GF180MCU Klayout DRC runset output at default location: %s" % report_path)
    report("DRC Run Report at", report_path)

to ensure that you resolve the path appropriately.

@atorkmabrains
Copy link
Collaborator Author

@proppy I believe everything has been addressed now. Can we merge this PR?

@proppy
Copy link
Member

proppy commented Feb 2, 2023

Here is the report I get when running the combined drc in klayout gui:
drc

can you confirm if this is expected? how can I confirm that the failure and pass testcases are detected appropriatly?

@atorkmabrains
Copy link
Collaborator Author

@proppy The best way to do this is over a meeting, do you want to have a meeting?

Just to give you some hints, you need to look at the pass_markers, fail_markers and test_case_text_marker. The rule highlight should be inside fail_markers only.

@proppy
Copy link
Member

proppy commented Feb 2, 2023

Looks like not all DV.5 in 7_6_Dualgate have arrows next to the highlighted polygons is that expected?

@atorkmabrains
Copy link
Collaborator Author

@proppy what arrows?

@proppy
Copy link
Member

proppy commented Feb 2, 2023

The arrow next to each failure case you can see in the svg:
https://raw.githubusercontent.com/google/globalfoundries-pdk-libs-gf180mcu_fd_pv/9677658d80ce6df632aab5210e0363e5296c7a74/klayout/drc/testing/testcases/unit/dualgate.svg

arrow

I also don't see them for:

  • DV.6
  • DV.7
  • DV.8
  • DV.9

@atorkmabrains
Copy link
Collaborator Author

@proppy These are not important. And they are not necessary for the regression. Some test cases has them, some don't.

@proppy
Copy link
Member

proppy commented Feb 2, 2023

@atorkmabrains they are still useful to assert during an highlight that the right cell are supposed to fail, can we log an issue about being consistent here?

@atorkmabrains
Copy link
Collaborator Author

@proppy Yes, you could do that using the fail_marker layer not the arrow. Arrows are just visual thing, sometimes they are added sometimes not. fail_marker is a must to have a fail test case.

@atorkmabrains
Copy link
Collaborator Author

added #24

@proppy
Copy link
Member

proppy commented Feb 2, 2023

Additionally the number of error annotations as text in the GDS/SVG seems to be inconsistent with the actual number of highlights in klayout:

Case # of errors annotations # of highglight in klayout
DV.1 5 5
DV.2 3 4
DV.3 5 5
DV.4 missing none
DV.5 2 8
DV.6 DV.7 4 5
DV.8 missing 9
DV.9 1 1

@proppy
Copy link
Member

proppy commented Feb 2, 2023

There doesn't seems to be any hightlight for DV.4 is that expected?

@atorkmabrains
Copy link
Collaborator Author

@proppy I'm not sure how you generated the above report. Could you elaborate? Also, I'm not sure how the count is relevant.

@atorkmabrains
Copy link
Collaborator Author

atorkmabrains commented Feb 2, 2023

@atorkmabrains
Copy link
Collaborator Author

@proppy I really need to decouple our main branch. Could we please either create a new PR or merge this one?

@proppy
Copy link
Member

proppy commented Feb 2, 2023

I'm not sure how you generated the above report
I got the report by running:

python run_drc.py --table=dualgate --path=testing/testcases/unit/dualgate.gds --variant=C

and then reopening klayout with the gui and editing/running dualgate.drc generated under drc_run_2023_02_02_06_13_08

@proppy
Copy link
Member

proppy commented Feb 2, 2023

Could we please either create a new PR or merge this one?

Sure, we just need to make sure we document the inconsistency between the number of expected failure case documented in the layout test annotation and the actual drc highlights generated in the db.

@proppy
Copy link
Member

proppy commented Feb 2, 2023

fail_marker is a must to have a fail test case.

On the Cells tab I only see one cell instead of one subcell per test cases DV1-DV9 is that expected?
cells

@proppy
Copy link
Member

proppy commented Feb 2, 2023

Sure, we just need to make sure we document the inconsistency between the number of expected failure case documented in the layout test annotation and the actual drc highlights generated in the db.

Filed #25

@proppy
Copy link
Member

proppy commented Feb 2, 2023

Ok to merge!

Really sorry for the long review, but I wanted to take the time to understand all the parts and run the rules myself so that we can more easily review the follow-up PRs adding additional rules.

@proppy proppy merged commit 85a7664 into google:main Feb 2, 2023
@atorkmabrains
Copy link
Collaborator Author

Thanks @proppy for this review. I'll open the rest of the PRs soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants