Skip to content

Added airbridges to QGDSRenderer#962

Open
clarkmiyamoto wants to merge 59 commits into
qiskit-community:mainfrom
clarkmiyamoto:airbridges
Open

Added airbridges to QGDSRenderer#962
clarkmiyamoto wants to merge 59 commits into
qiskit-community:mainfrom
clarkmiyamoto:airbridges

Conversation

@clarkmiyamoto

@clarkmiyamoto clarkmiyamoto commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

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

clarkmiyamoto commented Jun 27, 2023

Copy link
Copy Markdown
Contributor Author

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

Copy link
Copy Markdown
Collaborator

Airbridge support in QGDSRenderer is a feature we'd genuinely like to have — it's a recurring request. This PR is from 2023 and is now well behind main (the GDS backend has since moved to gdstk), so it would need a rebase to land, but the original work here (with tests and a demo) is a strong starting point.

@clarkmiyamoto — would you be interested in reviving this against current main? If you're not able to, we'd be happy to pick it up with attribution to you. Thanks for the original contribution either way!


Generated by Claude Code

zlatko-minev added a commit that referenced this pull request Jun 25, 2026
Airbridges aren't on the roadmap today, but they're a real fab-level
need for SC qubit chips with multi-crossing CPW routing and the
structural work already exists in @clarkmiyamoto's PR #962. Adds
the entry under "High impact, medium effort" so it sits alongside
the .lyp / Metal->KLayout work it pairs with.


Claude-Session: https://claude.ai/code/session_01NFSp55LrdMsUyRexqbFoJj

Co-authored-by: Claude <noreply@anthropic.com>
@clarkmiyamoto

clarkmiyamoto commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

@zlatko-minev I'm not familiar with the state of the codebase anymore, so I'll leave it up to y'all!

I'll note my proposed implementation in make_airbridge.py is macgyver-esq. Not sure if this is still the case, but in the 3D designs were basically a bunch of 2.5D designs stack on top of each other. (I think) the airbridge was constructed from 2 layers, the bottom layer is just two rectangles standing upright, and the top layer is a rectangle connecting the two supports.

For future stuff, it'd be nice to support a native 3D design. This would avoid having to stack 2.5D designs.

Congrats on all the new updates to the codebase, it's looking good!

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