MKIDGen3 - The Mazinlab Third Generation MKID Readout
This is the top-level repository for the third generation RF multiplexed readout of microwave kinetic inductance detectors (TODO cite). We generally refer to the overall system as "gen3". The readout is under active development around the RFSoC4x2 Academic Eval board.
This document, package, and the firmware are still in high flux. APIs, resource calculations, and drivers are only partially done. Various subsystems are in myriad states of test. Liberal communication with the authors is both welcomed and advised. The remainder of this readme focuses on the python side of things. For more information about the gateware and Vitis HLS blocks see the readme and design documents in the firmware subdirectory.
Download the Repo
git clone --recursive https://github.com/MazinLab/MKIDGen3.git
To install the client version of the repo for interacting with the board:
cd MKIDGen3
pip install -e '.[client,plotting]'
Build the Bitstream
See the instructions in [https://github.com/MazinLab/gen3-vivado-top/blob/main/README.md](the firmware repo)
Board Install
These install instructions require the RFSoC to be connected to the internet. See instructions in the PYNQ documentation setup for ethernet connection.
First clone the source code
mkdir -p ~/src/mkidgen3/
git clone https://github.com/MazinLab/MKIDGen3.git ~/src/mkidgen3/
git clone https://github.com/Xilinx/RFSoC-MTS.git ~/src
Next, patch the xrfdc driver using the install script in the RFSoC-MTS repo.
cd RFSoC-MTS
./install.sh
Now install the MKIDGen3 code that runs on the RFSoC
cd ~/src/mkidgen3
source /etc/profile.d/pynq_venv.sh
sudo pip install -e '.[server,plotting]'
To use the interpreter within PyCharm use /usr/local/share/pynq-venv/bin/python as the remote interpreter, execute with sudo, and ensure that the following envirnoment variables are set:
BOARD=RFSoC4x2
XILINX_XRT=/usr
Metadata
Release files for mkidgen3 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mkidgen3-1.0.0.tar.gz | 3.9 MB | Without provenance | Details for mkidgen3-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mkidgen3-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for mkidgen3-1.0.0-py3-none-any.whl |
Total release size: 7.8 MB
Release files / mkidgen3-1.0.0.tar.gz
| Download URL | mkidgen3-1.0.0.tar.gz |
|---|---|
| Size | 3.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d20f1e7f595c9e3e2abc7a14f9b7b744e283b8024d4e1922de9fba460b45a58c
|
|
BLAKE2b-256 checksum How to use checksums |
cd029218679961509d7cd1c6a54469cd40d3ea49995ed733321916e03601cb03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.24.0 CPython/3.13.3 Darwin/24.3.0
|
Release files / mkidgen3-1.0.0-py3-none-any.whl
| Download URL | mkidgen3-1.0.0-py3-none-any.whl |
|---|---|
| Size | 3.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dfdb0b743466bde15e1c03e05c82e95100c6294bd65dd7dfc88744cb8676de34
|
|
BLAKE2b-256 checksum How to use checksums |
c2886570238461d7dcea121a1946db56ec72352068528ef3e7a5aa886b960cef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.24.0 CPython/3.13.3 Darwin/24.3.0
|
Security for mkidgen3 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.