-
Notifications
You must be signed in to change notification settings - Fork 30
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
SiEPIC functional verification #240
Conversation
Adds the verification checks used by SiEPICfab, the edX Silicon Photonics course, and SiEPIC workshops.
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
gplugins/SiEPIC/verification.py
Outdated
import os | ||
import sys | ||
|
||
path_GitHub = "/Users/lukasc/Documents/GitHub/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hardcoded path?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Joaquin,
The hardcoded path section is temporary to use the module from GitHub, rather than the pip-installed one. It can be removed.
Hi Lukas, you can check out the verification flow from kfactory, which is what we plan on using for gdsfactory8 release for the PCells, how about using kfactory? |
Interesting. Good that you are interested in supporting the KLayout database and KLayout PCells. I look forward to seeing the verification flow from kfactory. In the meantime, we've been using the SiEPIC-Tools verification for 8 years, so I would be happy to share our experiences as to the types of rules that are missing in regular DRC. Will the kfactory verification work natively within KLayout, and via external Python? The SiEPIC one works both inside the KLayout Application window, as well as outside in VSCode (without the KLayout application running, just using import klayout). thanks
|
This reverts commit 816b1a8.
Hi again, |
for more information, see https://pre-commit.ci
test fails
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
@joamatab |
This looks great Lukas! it's nice to see a pip installable SiEPIC python package and allowing SiEPIC to be used directly from python because the verification is specific to the SiEPIC ebeam PDK i was thinking it would be better to move it to the ubcpdk What do you think? I can help making a PR |
for more information, see https://pre-commit.ci
We use the SiEPIC-Tools verification for AMF, Tower, SiEPICfab, Ligentec, and EBeam (ubcpdk). So I would prefer to have this verification standard available for multiple foundries. The test example I provided is using the EBeam / ubcpdk, since that is the only one that is publicly available. One thing we could do is copy the files in the SiEPIC-EBeam-PDK into the ubcpdk, specifically those required for verification: DFT.xml, Verification.xml, EBeam.lyt. Presently the Unit Tests require the original PDK installed (rather than the ubcpdk). Is there a way to have your automated system pull do a "import siepic_ebeam_pdk" only for the Unit Test, but not make it a requirement for the actual module? |
I could also put a minimal set of files in a test folder directly here. |
for more information, see https://pre-commit.ci
c = gf.import_gds(file_path, read_metadata=True) | ||
|
||
# Run verification | ||
layout_check(c, techname, show_klive=True) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
module is missing
why don't you put the files in the SiEPIC module and siepic_ebeam_pdk? |
Hi Joaquin I would like to contribute a plugin to GDSfactory. How would you suggest splitting this up? The idea is that gdsfactory users could create designs using gdsfactory and use SiEPIC-Tools for verification. The files that go in gplugin could be barebones without any links to the EBeam PDK, but I thought it would be useful to provide a test case. That test case can be a layout created by GDSfactory using the ubcpdk -- but the test can be moved to the ubcpdk as you suggest, where the ubcpdk would depend on the siepic gplugin. thank you |
I would recommend moving this PR, (once the tests pass) into the ubcpdk |
Adds to gdsfactory the verification checks used by SiEPICfab, the edX Silicon Photonics course, and SiEPIC workshops.
Requires:
Presently the test case is a small OAS file, as I could not get the ubcpdk to install.