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

Added airbridges to QGDSRenderer #962

Open
wants to merge 59 commits into
base: main
Choose a base branch
from

Conversation

clarkmiyamoto
Copy link
Contributor

@clarkmiyamoto clarkmiyamoto commented Jun 27, 2023

What are the issues this pull addresses (issue numbers / links)?

Partially #906

Did you add tests to cover your changes (yes/no)?

Yes

Did you update the documentation accordingly (yes/no)?

Yes

Did you read the CONTRIBUTING document (yes/no)?

Yes

Summary

Users can now add airbridges when exporting to GDS.

Screen Shot 2023-06-26 at 10 25 06 PM

And yes, this can support MIT LL airbridges but will require the user to design their own airbridge via QComponents. I'd upload the correct QComponent, but unfortunately, we're not allowed to share design guidelines.

Details and comments

In QGDSRenderer.export_to_gds, it now calls self._populate_airbridge. This mimics the structure of cheesing. Meaning we have a file make_airbridge.py which contains all the airbridge position extraction logic.

Limitations:

  • Only supports uniform airbridges. Meaning, all airbridges will have the same settings applied to them. Airbridges can't change shape as they progress along a CPW. I did leave space for people to append their custom logic in a comment
  • Current airbridge placement algorithm puts an airbridge at every corner, then determines how to space along the straight line between corners. Meaning it does NOT place multiple airbridges on a turn.

Things for the next person to add (I'll add issues for these)

  • If we have two CPWs next to each other, it'll stop rendering airbridges in that region of overlap. A current workaround is to use any of the Couplers.
  • Raise warning if airbridges are not inside chip size
  • Raise warning if airbridge overlaps CPW it's on.

@clarkmiyamoto
Copy link
Contributor Author

clarkmiyamoto commented Jun 27, 2023

If docs check finishes properly, then ready for review!

Also apologies for the excess commits, my work computer is out of reach so I'm coding w/o an environment and then I pull changes via the work computer w/ qiskit metal environment to test.

@clarkmiyamoto
Copy link
Contributor Author

@priti-ashvin-shah-ibm @ThomasGM4 Finally got around to working on this, it was a busy last semester 😅. Thank you both for helping point me in the right direction for this.

@zlatko-minev zlatko-minev self-assigned this Jul 10, 2023
@clarkmiyamoto
Copy link
Contributor Author

@zlatko-minev Hi just wanted to give you an update, no longer working on scq stuff atm. Just wanted to know if you were gonna PR this. If not I'll close to reduce clutter.

@zlatko-minev
Copy link
Collaborator

Thank you, @clarkmiyamoto . Wondering what you are now up to. Let me fix a few things and look it over, I'd like to merge it, any chance you can make sure it looks ok with the latest other pulls?

@clarkmiyamoto
Copy link
Contributor Author

Just started grad school at NYU, gonna try out a few different fields (high energy, applied mathematics, complexity science, etc.) during my first year. And then I might return to QIS!

As for the code, it works inside the GDS Renderer and mirrors the structure for the cheesing code, so I think it's pretty well contained. Let me know if you see any potential issues and I can still help out as needed.

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.

2 participants