qiskit-metal
qiskit-metal copied to clipboard
Added airbridges to `QGDSRenderer`
What are the issues this pull addresses (issue numbers / links)?
Partially https://github.com/qiskit-community/qiskit-metal/issues/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.
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.
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.
@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 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.
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?
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.