This repository is only compatible with PYNQ images v2.6 for the ZCU111 and RFSoC2x2.
This repository contains the RFSoC Studio installer, which will install several demonstrations and notebooks onto your RFSoC development board.
|
|
|
|
|
|
RFSoC Tools and SDR demonstrations include:
- RFSoC Spectrum Analyser
- RFSoC Frequency Planner
- OFDM Demonstrator
- QPSK Demonstrator
- BPSK Demonstrator
- PYNQ Automatic Gain Control
Educational notebooks:
Follow the instructions below to install the RFSoC Studio on your development board. You will need to give your board access to the internet.
- Power on your RFSoC2x2 or ZCU111 development board with an SD Card containing a fresh PYNQ v2.6 image.
- Navigate to Jupyter Labs by opening a browser (preferably Chrome) and connecting to
http://<board_ip_address>:9090/lab
. - We need to open a terminal in Jupyter Lab. Firstly, open a launcher window as shown in the figure below:
- Now open a terminal in Jupyter as illustrated below:
- Firstly, ensure all packages are uninstalled.
pip3 uninstall -y rfsoc-sam rfsoc-freqplan rfsoc-ofdm rfsoc-qpsk rfsoc-radio pynq-agc pystrath-dsp pystrath-rfsoc rfsoc-studio
- We can now install the RFSoC Studio. This will install all of the above projects and notebooks, and will also add a few additional notebooks.
pip3 install git+https://github.com/strath-sdr/[email protected]
Once the installation has complete, your Jupyter home workspace will be populated with several folders installed by each package. You can access the rfsoc-studio
folder and open the getting started notebook to begin using all of the demonstrations and educational resources.
Please complete installation by following the board specific instructions below.
The RFSoC2x2 does not require any additional setup.
The ZCU111 requires an xrfdc patch and xrfclk patch. An optional Voila installation is required if you would like to use voila-dashboards. Please follow the instructions below.
It is absolutely essential that the xrfdc package is patched. This procedure will overwrite the xrfdc's __init__.py
. You will not lose any current xrfdc functionality. You will gain thresholding capabilities and fabric read and write register configurations for the RF Data Converters.
In the terminal window, run the following script:
mkdir /home/xilinx/GitHub
cd /home/xilinx/GitHub/
git clone https://github.com/dnorthcote/ZCU111-PYNQ
cd /home/xilinx/GitHub/ZCU111-PYNQ
cp /home/xilinx/GitHub/ZCU111-PYNQ/ZCU111/packages/xrfdc/pkg/xrfdc/__init__.py /usr/local/lib/python3.6/dist-packages/xrfdc/__init__.py
We need to add a 384 MHz clock to the xrfclk package. We can simply overwrite init.py, with the changes.
In the terminal window, run the following script:
mkdir /home/xilinx/GitHub
cd /home/xilinx/GitHub/
git clone https://github.com/dnorthcote/ZCU111-PYNQ
cd /home/xilinx/GitHub/ZCU111-PYNQ
cp /home/xilinx/GitHub/ZCU111-PYNQ/ZCU111/packages/xrfclk/pkg/xrfclk/__init__.py /usr/local/lib/python3.6/dist-packages/xrfclk/__init__.py
Many of the strath-sdr projects use Voila to create simple web applications using Jupyter notebooks. If you would like to use Voila on your ZCU111 development board, simply follow the instructions outlined in this blog post. This is optional and not required to use the demonstrators.
Please see below for support on installation issues and problems.
Issue
The installer crashed during package download. Jupyter Lab disconnects. A connected serial terminal reports kernel panic.
Resolution
Ensure you are not using a SanDisk Extreme Pro SD Card and follow the installation instructions again. Otherwise, install each of the packages individually following the individual installation instructions.
Issue
The installer crashed during package installation. Jupyter Lab disconnects. No report on the serial terminal.
Resolution
Install each of the packages individually following the individual installation instructions.
Issue
You are using the individual installer workflow and encountered the messagezipfile.BadZipFile: File is not a zip file
. Installation will not proceed, even after executing the installation command again, due to pip cache.
Resolution
Simply add--no-cache-dir
at the end of the installation command. For example:
pip3 install https://github.com/strath-sdr/pynq_agc/releases/download/v0.3.1/pynq_agc.tar.gz --no-cache-dir
If you have a problem using the RFSoC-Studio installer, please run the following in your Jupyter Terminal.
- Firstly, ensure all packages are uninstalled.
pip3 uninstall -y rfsoc-sam rfsoc-freqplan rfsoc-ofdm rfsoc-qpsk rfsoc-radio pynq-agc pystrath-dsp pystrath-rfsoc rfsoc-studio
- Then run individual installation for each package.
pip3 install https://github.com/strath-sdr/rfsoc_sam/archive/v0.3.1.tar.gz
pip3 install https://github.com/strath-sdr/rfsoc_frequency_planner/archive/v0.1.1.tar.gz
pip3 install https://github.com/strath-sdr/rfsoc_ofdm/archive/v0.2.2.tar.gz
pip3 install https://github.com/strath-sdr/rfsoc_qpsk/archive/v1.3.1.tar.gz
pip3 install https://github.com/strath-sdr/rfsoc_radio/archive/v0.1.2.tar.gz
pip3 install https://github.com/strath-sdr/dsp_notebooks/archive/v0.1.1.tar.gz
pip3 install https://github.com/strath-sdr/rfsoc_notebooks/archive/v0.1.1.tar.gz
pip3 install https://github.com/strath-sdr/pynq_agc/releases/download/v0.3.1/pynq_agc.tar.gz
- Finally run the rfsoc-studio installer again to complete setup.
pip3 install git+https://github.com/strath-sdr/rfsoc_studio
All required packages should now be installed.