Skip to content

lrc1216/rfsoc_studio

 
 

Repository files navigation

The Strathclyde RFSoC Studio

This repository is only compatible with PYNQ images v2.6 for the ZCU111 and RFSoC2x2.

Introduction

This repository contains the RFSoC Studio installer, which will install several demonstrations and notebooks onto your RFSoC development board.

oscthumb oscthumb
oscthumb oscthumb
oscthumb oscthumb

RFSoC Tools and SDR demonstrations include:

Educational notebooks:

Quick Start

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.

RFSoC2x2 Setup

The RFSoC2x2 does not require any additional setup.

ZCU111 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.

The xrfdc Patch

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

The xrfclk Patch

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

Voila Installation (Optional)

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.

Troubleshooting

Please see below for support on installation issues and problems.

The Installer Crashed During Download

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.

The Installer Crashed During Installation

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.

Individual Installer BadZipFile

Issue
You are using the individual installer workflow and encountered the message zipfile.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

Individual Package Installation

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.

License

BSD 3-Clause

About

The Strathclyde RFSoC Studio Installer for PYNQ.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 89.3%
  • Python 10.7%