Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
a84dc74
Add SGv6 documentation
lharnaldi May 1, 2026
9feec40
Fix inline literal formatting and closes #92
lharnaldi May 1, 2026
ff3c8a0
docs: migrating tproc-v2 documentation to issue #107
lharnaldi May 5, 2026
b251b39
#107 First version of the new tproc v2 documentation
lharnaldi May 5, 2026
d24cfb4
#107 Update tprocv2 documentation
lharnaldi May 5, 2026
976da41
#107 Update the section 4 to include a complete register bank reference
lharnaldi May 5, 2026
7b90d74
#107 #1 #68 Update the ARITH decoding opcodes
lharnaldi May 5, 2026
b510754
#107 Update index, firmware and tprocv2_trm to add links between them
lharnaldi May 6, 2026
7e15563
#107 Update firmware and index to work only with tprov2
lharnaldi May 6, 2026
efac521
#107 Update topics/index and remove topics/asmv1_cheatsheet to work o…
lharnaldi May 6, 2026
b6ad000
#107 add the sg_v6 file to document the sgv6 generator and include it…
lharnaldi May 6, 2026
53c29c3
#107 #92 Update all the documents in docs folder to work with tprocv2…
lharnaldi May 6, 2026
a300303
#107 Update readout and tprocv2_trm. Readout was updated to add some …
lharnaldi May 7, 2026
1c32b2a
#107 Re-organize the docs directory. Now all the source files were mo…
lharnaldi May 8, 2026
c037a3f
#107 Update some of the functions and calls into the tutorial noteboo…
lharnaldi May 8, 2026
2b7e32e
#107 Update code examples in asmv2_cheatsheet documentation
lharnaldi May 8, 2026
c72eb38
#107 Update the README and the structure of the documentation. Added …
lharnaldi May 11, 2026
8e850a2
#107 Update some of the notebooks to clarify some concepts
lharnaldi May 11, 2026
1248dcb
#107 Update the link to nb 06 in nb 05
lharnaldi May 11, 2026
d7a6f16
#107 Update the README file to take into account the new structure of…
lharnaldi May 12, 2026
f3a1064
#107 Add the XCOM synchronization notebook in examples. Update all th…
lharnaldi May 12, 2026
a95a70f
Update the .gitignore to ignore _build directories and settings.json …
lharnaldi May 12, 2026
75f4e72
#107 Update files. Add the xcom documentation
lharnaldi May 12, 2026
7483c8e
#107 Add the pyro4 documentation for board interconnection
lharnaldi May 12, 2026
ac6b2f3
#107 Update the frequency for pulse generation in example notebooks t…
lharnaldi May 12, 2026
19c421b
#107 Update one link to xcom documentation
lharnaldi May 12, 2026
0655e4c
Merge branch 92 into 107 and resolve directory restructuring conflicts
lharnaldi May 12, 2026
9ee5144
#107 Update some of the example notebooks to match the latest softwar…
lharnaldi May 13, 2026
fa9a694
#107 Update the executive summary in the tprocv2_trm
lharnaldi May 13, 2026
eb723ab
#109 Add Hog submodule for FPGA build system
lharnaldi May 13, 2026
23095cf
Merge pull request #110 from openquantumhardware/feature/hog-integration
lharnaldi May 13, 2026
1022d13
Revert "Feature/hog integration"
lharnaldi May 15, 2026
4f30399
Merge pull request #111 from openquantumhardware/revert-110-feature/h…
lharnaldi May 15, 2026
5dc90b8
RESTORE: Final tested documentation and tutorials for tProc v2
lharnaldi May 15, 2026
c047741
Build: add test and tools repositories as git submodules
lharnaldi May 22, 2026
5bfdc90
Update the .gitignore file to remove temporary files
lharnaldi May 22, 2026
0bd1143
Merge remote-tracking branch 'qick_internal/main' into PR-qick_intern…
mmdiego Jun 10, 2026
75dd0f7
update version
qickbot Jun 10, 2026
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
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ build/
dist/

# Sphinx documentation
docs/_build/
docs/_autosummary/
*_build/
*_autosummary/

### macOS template
# General
Expand Down Expand Up @@ -71,3 +71,8 @@ Temporary Items

!/.gitignore
!/README.md

.vscode/
*.tmp
*.cache/
*.hw/
18 changes: 18 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[submodule "firmware/Hog"]
path = firmware/Hog
url = https://gitlab.com/hog-cern/Hog.git
[submodule "firmware/QCE2024"]
path = firmware/QCE2024
url = git@github.com:openquantumhardware/QCE2024.git
[submodule "firmware/qick_fw_misc"]
path = firmware/qick_fw_misc
url = git@github.com:openquantumhardware/qick_fw_misc.git
[submodule "firmware/qick_tools"]
path = firmware/qick_tools
url = git@github.com:openquantumhardware/qick-tools.git
[submodule "firmware/qick_fw_other"]
path = firmware/qick_fw_other
url = git@github.com:openquantumhardware/qick_fw_other.git
[submodule "firmware/qick_fw_mkids"]
path = firmware/qick_fw_mkids
url = git@github.com:openquantumhardware/qick_fw_mkids.git
16 changes: 8 additions & 8 deletions docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source

.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext

Expand Down Expand Up @@ -85,11 +85,11 @@ htmlhelp:
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
@echo "Build finished; now you can run \"qcollectiongenerator\" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/SphinxApidocTurorial.qhcp"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/project_name.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/SphinxApidocTurorial.qhc"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/project_name.qhc"

applehelp:
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
Expand All @@ -104,8 +104,8 @@ devhelp:
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/SphinxApidocTurorial"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/SphinxApidocTurorial"
@echo "# mkdir -p $$HOME/.local/share/devhelp/project_name"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/project_name"
@echo "# devhelp"

epub:
Expand All @@ -130,7 +130,7 @@ latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
@echo "platex/dvipdfmx finished; the PDF files are in $(BUILDDIR)/latex."

text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
Expand Down
5 changes: 5 additions & 0 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
numpy>=1.14.2
tqdm
sphinx
sphinx-rtd-theme
nbsphinx
myst-parser
ipython
ipykernel
29 changes: 29 additions & 0 deletions docs/source/_autosummary/qick.tprocv2_assembler.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
qick.tprocv2\_assembler
=======================

.. automodule:: qick.tprocv2_assembler


.. rubric:: Functions

.. autosummary::

check_lit
check_name
check_num
check_reg
find_pattern
get_imm_dt
get_reg_addr
get_src_type
integer2bin
parse_labels

.. rubric:: Classes

.. autosummary::

Assembler
Instruction
LFSR

21 changes: 21 additions & 0 deletions docs/source/_static/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
body {
--themecolor: black;
}

.wy-side-nav-search {
background-color: var(--themecolor);
}
.wy-nav-top {
background-color: var(--themecolor);
}

/* override table width restrictions */
.wy-table-responsive table td, .wy-table-responsive table th {
/* !important prevents the common CSS stylesheets from
overriding this as on RTD they are loaded after this stylesheet */
white-space: normal !important;
}

.wy-table-responsive {
overflow: visible !important;
}
196 changes: 196 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# QICK documentation build configuration file
#
# This file is execfile()d with the current directory set to its
# containing dir.

import sys
import os
import pathlib
import shutil

#Check if Pandoc is installed
if shutil.which('pandoc') is None:
import warnings
warnings.warn(
"pandoc not found. Install it with: sudo apt install pandoc (Linux) "
"or brew install pandoc (macOS). Required for notebook conversion."
)

# -- Path setup --------------------------------------------------------------

# Make your modules available in sys.path
here = pathlib.Path(__file__).parent.resolve()
sys.path.insert(0, (here / '../../qick_lib').resolve().as_posix())
print(f"Python path: {sys.path[0]}")

def get_version(rel_path):
"""
qick_lib/qick/VERSION is a text file containing only the version number.
"""
return (here / rel_path).read_text().strip()

# -- Project information -----------------------------------------------------

project = 'QICK'
copyright = 'OpenQuantumHardware'
author = 'OpenQuantumHardware'

# The short X.Y version.
version = get_version("../../qick_lib/qick/VERSION")
# The full version, including alpha/beta/rc tags.
release = version

# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.viewcode',
'sphinx.ext.intersphinx',
'sphinx.ext.mathjax',
'sphinx.ext.autosummary',
'sphinx.ext.napoleon',
'sphinx.ext.extlinks',
'nbsphinx', # For Jupyter notebooks
'myst_parser', # For Markdown files
]

# nbsphinx configuration
nbsphinx_execute = 'never' # Don't execute notebooks during build
nbsphinx_allow_errors = True # Continue even if notebooks have errors
nbsphinx_timeout = 120 # Timeout for notebook execution (seconds)

# autodoc configuration
autodoc_member_order = 'bysource'
autodoc_default_options = {
'members': True,
'show-inheritance': True,
'special-members': '__init__',
'undoc-members': True,
'exclude-members': '__weakref__'
}

# Mock imports for modules that are not available during documentation build
autodoc_mock_imports = ["pynq", "xrfclk", "xrfdc", "cffi", "Pyro4", "psutil"]

# Generate autodoc stubs with summaries from code
autosummary_generate = True

# Add any paths that contain templates here
templates_path = ['_templates']

# The suffix(es) of source filenames
source_suffix = {
'.rst': 'restructuredtext',
'.md': 'markdown',
#'.ipynb': 'jupyter_notebooks',
}

# The master toctree document
master_doc = 'index'

# The language for content
language = 'en'

# List of patterns to ignore when looking for source files
exclude_patterns = [
'_build',
'Thumbs.db',
'.DS_Store',
'**.ipynb_checkpoints', # Exclude Jupyter checkpoint files
]

# The name of the Pygments (syntax highlighting) style
pygments_style = 'sphinx'

# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML pages
html_theme = 'sphinx_rtd_theme'

# Theme options
html_theme_options = {
'logo_only': True,
'navigation_depth': 4,
}

# The name of an image file to place at the top of the sidebar
html_logo = "../../graphics/logoQICK.svg"

# Add any paths that contain custom static files
html_static_path = ['_static']

# Custom CSS files
html_css_files = ['custom.css']

# If true, links to the reST sources are added to the pages
html_show_sourcelink = True

# If true, "Created using Sphinx" is shown in the HTML footer
html_show_sphinx = True

# If true, "(C) Copyright ..." is shown in the HTML footer
html_show_copyright = True

# Output file base name for HTML help builder
htmlhelp_basename = 'QICKdoc'

# -- Options for LaTeX output ------------------------------------------------

latex_elements = {
'papersize': 'letterpaper',
'pointsize': '10pt',
'figure_align': 'htbp',
}

# Grouping the document tree into LaTeX files
latex_documents = [
(master_doc, 'QICK.tex', 'QICK Documentation',
author, 'manual'),
]

# -- Options for manual page output ------------------------------------------

man_pages = [
(master_doc, 'qick', 'QICK Documentation',
[author], 1)
]

# -- Options for Texinfo output ----------------------------------------------

texinfo_documents = [
(master_doc, 'QICK', 'QICK Documentation',
author, 'QICK', 'Quantum Instrumentation Control Kit',
'Miscellaneous'),
]

# -- Intersphinx configuration -----------------------------------------------

intersphinx_mapping = {
'python': ('https://docs.python.org/3.10', None),
'numpy': ('https://numpy.org/doc/stable', None),
'pynq': ('https://pynq.readthedocs.io/en/latest', None),
}

# -- Extlinks configuration --------------------------------------------------

extlinks = {
'repofile': ('https://github.com/openquantumhardware/qick/blob/main/%s', '%s'),
}

extlinks_detect_hardcoded_links = True

# -- Linkcheck configuration ------------------------------------------------

linkcheck_ignore = [
r'^https://blogs.keysight.com/', # gives 403 error
r'^http://localhost', # ignore local servers
]

# -- Custom CSS -------------------------------------------------------------

def setup(app):
app.add_css_file("custom.css")
10 changes: 10 additions & 0 deletions docs/source/contact.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Support and community
---------------------

The main resource for communicating with developers and members of the QICK community is the Unitary Foundation Discord (use this `invite link <http://discord.unitary.foundation/>`_):

* Chat with us any time in the `#qick channel <https://discord.com/channels/764231928676089909/1036774653479362630>`_.

* If you prefer voice chat, we also hold weekly office hours; check the `Unitary Foundation calendar <https://unitary.foundation/community/events/>`_ for details.

We also welcome bug reports and feature requests via `GitHub Issues <https://github.com/openquantumhardware/qick/issues>`_.
Loading