CASPER Tutorials

Welcome to the CASPER tutorials page! Here you will find all the current tutorials for the SNAP, SKARAB and Red Pitaya platforms.

The tutorial repository can be found on github and can be downloaded with the command git clone https://github.com/casper-astro/tutorials_devel.git.

It is recommended to start with the introduction tutorial for the platform of your liking, then do that platform’s GBE tutorial and finally move onto the spectrometer or correlator tutorial or the next difficulty tutorial.

Environment setup

The recommended OS is Ubuntu (currently 20.04) as it is what the majority of the collaboration are using. This makes it easier for us to support you. If you are so inclined, you could also use Red Hat, but we definitely do not support Windows. You are welcome to try but you will be on your own. You could always run Linux in a VM although this will increase your compile times.

The current compatibility matrix of software needed to run these tutorials is below:

(Note that official support for ROACH plaforms is no longer provided, however this version of mlib_devel contains all ROACH related documentation and ROACH tutorials can be found here)

Hardware

Operating System

Matlab Version

Xilinx Version

mlib_devel branch / commit

Python Version

ROACH1/2

Ubuntu 14.04

2013b

ISE 14.7

branch: roach

Python 2.7

SKARAB

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

SNAP

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

Red Pitaya

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

ZCU216

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

ZCU208

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

ZCU111

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

PYNQ RFSoC 4x2

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

HTG ZRF16-29DR

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

HTG ZRF16-49DR

Ubuntu 20.04

2021a

Vivado 2021.1

branch: m2021a

Python 3.8

Instructions on setting up an environment in which to run these tutorials can be found here. Instructions on setting up the toolflow-proper can be found here.

Modifications to be run after installs

ROACH1/2

Xilinx removed support for several hardware pcores we use for ROACH1/2 from ISE 14. So the current solution is to add the following pcores from the Xilinx 11 install to your XPS_ROACH_BASE/pcores folder or to your 14 install directory at Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcore.

OPB pcores

  • bram_if_cntlr_v1_00_a

  • bram_if_cntlr_v1_00_b

  • ipif_common_v1_00_c

  • opb_arbiter_v1_02_e

  • opb_bram_if_cntlr_v1_00_a

  • opb_ipif_v3_00_a

  • opb_opb_lite_v1_00_a

  • opb_v20_v1_10_c

  • proc_common_v1_00_a

Tutorial Instructions

If you are new to astronomy signal processing, here is Tutorial 0: some basic introduction into astronomy signal processing. If you already have a lot of experience on it, you can go directly to the introduction tutorials below for CASPER FPGA design and implementation.

If you are a beginner, we recommend the Step-by-Step tutorials, however if you should get stuck, prefer a less tedious method of learning, or already have decent feel for these tools, links to Completed tutorials are available with commented models.

Vivado

SNAP

  1. Introduction Tutorial: Step-by-Step or Completed

  2. 10GbE Tutorial: Step-by-Step or Completed

  3. Spectrometer Tutorial Step-by-Step or Completed

  4. Correlator Tutorial Step-by-Step or Completed

  5. Yellow Block Tutorial: Bidirectional GPIO

SKARAB

  1. Introduction Tutorial Step-by-Step or Completed

  2. 40GbE Tutorial Step-by-Step or Completed

  3. HMC Tutorial Step-by-Step or Completed

  4. Spectrometer Tutorials Step-by-Step or Completed

  5. ADC Synchronous Data Acquisition Tutorials

Red Pitaya

  1. Guide to Setting Up Your New Red Pitaya

  2. Introduction Tutorial Step-by-Step or Completed

  3. ADC and DAC Interface Tutorial Step-by-Step or Completed

  4. Spectrometer Tutorial Step-by-Step or Completed

RFSoC

  1. CASPER RFSoC README

  2. Getting Started With RFSoC

  3. RFSoC Platform Yellow Block and Simulink Overview Step-by-Step or Completed

  4. Using the RFDC Step-by-Step or Completed

  5. Spectrometer Tutorial Step-by-Step or Completed

  6. 100 Gigabit Ethernet Step-by-Step or Completed

ISE

ROACH1/2

  1. Introduction Tutorial

  2. 10GbE Tutorial

  3. Spectrometer Tutorial

  4. Correlator Tutorial