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

Q1ASM parse and generation #868

Open
wants to merge 52 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
14d3355
fix: Pass instruments separately to platform loader
alecandido Feb 20, 2025
e12d6f5
fix: Avoid recursive dumping at all
alecandido Feb 21, 2025
4a63273
feat: Start sketching Q1ASM grammar
alecandido Apr 3, 2024
3477ba1
feat: Complete grammar first draft
alecandido Apr 3, 2024
3f31ad1
feat: Inline instruction groups
alecandido Apr 3, 2024
ae61359
feat: Give up on LALR parser
alecandido Apr 3, 2024
2d9cedb
feat: Give up on LALR parser
alecandido Apr 4, 2024
2f2fa7e
build: Restore flake to main
alecandido Apr 4, 2024
c214a85
build: Upgrade flake again, dropping devenv follow
alecandido Apr 4, 2024
e8821b9
fix: Rename module, to avoid shadown standard library
alecandido Apr 4, 2024
ed93a58
feat: Generate a suitable AST for Q1ASM
alecandido Apr 4, 2024
94e4d65
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Apr 4, 2024
30533bd
test: Move neoqblox in qibolab, start testing with pytest
alecandido Apr 4, 2024
f07b5cd
fix: Use py3.9-compatible type unions
alecandido Apr 4, 2024
6cbc25e
feat: Add program structure
alecandido Apr 4, 2024
fe6b91b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Apr 4, 2024
c94aabd
build: Reintroduce lark dependency
alecandido Apr 22, 2024
8666857
fix: Rebase leftovers
alecandido Sep 26, 2024
5645631
fix: Move qblox new core
alecandido Sep 26, 2024
1784852
test: Fix qblox import path
alecandido Sep 26, 2024
a4bc28b
fix: Remove leftover print from rich representation
alecandido Oct 14, 2024
4463f00
refactor: Move instruction assembly representation to its class
alecandido Oct 14, 2024
29124d8
feat: Define comment assembly representation
alecandido Oct 14, 2024
62f1f6b
fix: Drop block in favor of program
alecandido Oct 14, 2024
a5b0286
feat: Define instruction assembly representation
alecandido Oct 14, 2024
87ae955
feat: Add comments to instructions' assembly
alecandido Oct 14, 2024
1f1004f
feat: Define whole program assembly representation
alecandido Oct 14, 2024
c759651
fix: Parse hex ints if present
alecandido Oct 15, 2024
60276a1
feat: Parse and validate registers
alecandido Oct 15, 2024
4df678e
feat: Parse and validate labels
alecandido Oct 15, 2024
46ad504
feat: Rename label to reference
alecandido Oct 15, 2024
05c97d2
docs: Document control and jump instructions
alecandido Oct 16, 2024
81da3b5
docs: Document arithmetic instructions
alecandido Oct 16, 2024
429ad91
feat: Validate integer range for AWG parameters
alecandido Oct 16, 2024
cf46a82
docs: Document parameter operation instructions
alecandido Oct 16, 2024
d8b0169
docs: Document Q1 instructions
alecandido Oct 16, 2024
96463db
docs: Document real-time instructions
alecandido Oct 16, 2024
c3ee8d8
test: Compare ASM reconstruction
alecandido Oct 19, 2024
494227d
fix: Add defaults to max, to avoid errors for missing elements' kind
alecandido Oct 21, 2024
6c55e6a
test: Compare trees, not code dump
alecandido Oct 27, 2024
2c9396f
fix: Always keep a newline at the end of generated q1asm scripts
alecandido Oct 27, 2024
98cb749
fix: Separate instruction parameters by comma
alecandido Oct 27, 2024
b767cc9
fix: Separate instruction labels by colon during dump
alecandido Oct 27, 2024
a50e1af
fix: Strip comment of spaces while loading
alecandido Oct 27, 2024
f47d09a
test: Split q1asn tests
alecandido Oct 27, 2024
4f36735
fix: Fix inferred alignment for 0-width string in py<3.10
alecandido Oct 27, 2024
43c2606
test: Add additional q1asm example
alecandido Oct 27, 2024
d355485
feat: Align even arguments to the same column
alecandido Oct 27, 2024
f72179f
refactor: Add missing type hints
alecandido Oct 27, 2024
ad0129d
refactor: Convert type comparison from equality to identity
alecandido Oct 27, 2024
dcd0b7d
chore: Poetry lock
alecandido Feb 20, 2025
8af95d1
fix: Rebase leftover
alecandido Feb 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
517 changes: 455 additions & 62 deletions flake.lock

Large diffs are not rendered by default.

1,942 changes: 745 additions & 1,197 deletions poetry.lock

Large diffs are not rendered by default.

9 changes: 8 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ numpy = "^1.26.4"
scipy = "^1.13.0"
pydantic = "^2.6.4"
qblox-instruments = { version = "0.12.0", optional = true }
lark = { version = "^1.1.9", optional = true }
qcodes = { version = "^0.37.0", optional = true }
qcodes_contrib_drivers = { version = "0.18.0", optional = true }
pyvisa-py = { version = "0.5.3", optional = true }
Expand Down Expand Up @@ -80,7 +81,13 @@ optional = true
ruff = "^0.9.1"

[tool.poetry.extras]
qblox = ["qblox-instruments", "qcodes", "qcodes_contrib_drivers", "pyvisa-py"]
qblox = [
"qblox-instruments",
"qcodes",
"qcodes_contrib_drivers",
"pyvisa-py",
"lark",
]
qm = ["qm-qua"]
zh = ["laboneq"]
rfsoc = ["qibosoq"]
Expand Down
Empty file.
Loading