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.
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
Introduction Tutorial: Step-by-Step or Completed
10GbE Tutorial: Step-by-Step or Completed
Spectrometer Tutorial Step-by-Step or Completed
Correlator Tutorial Step-by-Step or Completed
Yellow Block Tutorial: Bidirectional GPIO
SKARAB
Introduction Tutorial Step-by-Step or Completed
40GbE Tutorial Step-by-Step or Completed
HMC Tutorial Step-by-Step or Completed
Spectrometer Tutorials Step-by-Step or Completed
Red Pitaya
Introduction Tutorial Step-by-Step or Completed
ADC and DAC Interface Tutorial Step-by-Step or Completed
Spectrometer Tutorial Step-by-Step or Completed
RFSoC
RFSoC Platform Yellow Block and Simulink Overview Step-by-Step or Completed
Using the RFDC Step-by-Step or Completed
Spectrometer Tutorial Step-by-Step or Completed
100 Gigabit Ethernet Step-by-Step or Completed
ISE
ROACH1/2