Proposal for hardware abstraction layer (HAL) formalization
Explanation of changes
Documentation only: add roadmap document for the formalization of hardware abstraction layer in Quantify.
See Developer guide -> Quantify-core Design -> Hardware abstraction layer
Motivation of changes
@adamorangeqs (and many other people) raises concerns that there is no standard way to define schedules that control near-time parameters (like flux bias line current, local oscillator tone, etc.)
I propose a solution for implementation of this abstraction level on the level of quantum devise. The advantages of this approach are:
- It uses current Quantify concepts
- It requires minimal amount of changes and fully backwards compatible
- It leaves
quantify-scheduler
compilation specific to a domain of real-time scheduling
Merge checklist
See also merge request guidelines
-
Merge request has been reviewed (in-depth by a knowledgeable contributor), and is approved by a project maintainer. -
New code is covered by unit tests (or N/A). -
New code is documented and docstrings use numpydoc format (or N/A). -
New functionality: considered making private instead of extending public API (or N/A). -
Public API changed: added @deprecated
(or N/A). -
Newly added/adjusted documentation and docstrings render properly (or N/A). -
Pipeline fix or dependency update: post in #software-for-developers
channel to mergemain
back in or update local packages (or N/A). -
Tested on hardware (or N/A). -
CHANGELOG.md
andAUTHORS.md
have been updated (or N/A). -
Windows tests in CI pipeline pass (manually triggered by maintainers before merging). - Maintainers do not hit Auto-merge, we need to actively check as manual tests do not block pipeline
For reference, the issues workflow is described in the contribution guidelines.