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

Add auto-wiring features. #244

Closed
wants to merge 10 commits into from
Closed

Conversation

deanpoulos
Copy link
Contributor

@deanpoulos deanpoulos commented Aug 19, 2024

Moved to: qua-platform/py-qua-tools#229

Overview

Added a feature for auto-assigning channels for a collection of Quantum elements given a specific QM instrument setup.

graph TD
    A(Instruments) --> D["allocate_wiring()"]
    C(Connectivity) --> D["allocate_wiring()"]
    subgraph Wirer
        D["allocate_wiring()"]
    end
Loading

Features

Supports the following:

  • assignment of channels to any combination of MW-FEM/LF-FEM/Octave/OPX+.
  • any mapping of N resonator lines to M qubits
  • any mapping of N FEMs to M chassis slots
  • overflowing of assignment to multiple slots, chassis, modules, octaves, etc.
  • any combination of resonator, flux line, coupler line for each qubit.
  • hardcoding of con/slot for particular lines
  • basic visualization of a single OPX1000

Safety

It has some simple validation:

  • can't mix OPX+ and OPX1000
  • can't define two FEMs on the same slot on the same chassis

Examples

    instruments = Instruments()
    instruments.add_lf_fem(con=1, slots=[1,2])
    instruments.add_mw_fem(con=1, slots=[3,7])

    qubits = [1, 2, 3, 4, 5]
    qubit_pairs = [(1, 2), (2,3), (3,4), (4,5)]

    connectivity = Connectivity()
    connectivity.add_resonator_line(qubits=qubits)
    connectivity.add_qubit_drive_lines(qubits=qubits, slot=7, con=1)
    connectivity.add_qubit_flux_lines(qubits=qubits)
    connectivity.add_qubit_pair_flux_lines(qubit_pairs=qubit_pairs)

    allocate_wiring(connectivity, instruments_2lf_2mw)

    visualize_chassis(connectivity.elements)

image

@deanpoulos deanpoulos self-assigned this Aug 19, 2024
@deanpoulos
Copy link
Contributor Author

Moved to: qua-platform/py-qua-tools#229

@deanpoulos deanpoulos closed this Aug 26, 2024
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