Old_Tutorials - david-macmahon/wiki_convert_test GitHub Wiki

IBOB

BEE2

  • BEE Tutorial
    • Using Registers and getting started with BORPH

Workshop 2011 Tutorials

Workshop 2011 tutorials

Workshop 2010 Tutorials

Please note that you will need the Python KATCP and correlator control packages (corr-0.5.0) to use the included python control scripts. Otherwise, the designs use the standard CASPER 11.4 libraries and do not require any special software, different settings or configurations to compile for ROACH.

The tutorials live here: Workshop 2010 Tutorials on git

The tutorials at the 2010 CASPER workshop are as follows:

Workshop 2009 Tutorials

Please note that you will need the Python KATCP and correlator control packages (corr-0.4.0) to use the included python control scripts. Otherwise, the designs use the standard CASPER 10.1 libraries and do not require any special software, different settings or configurations to compile for ROACH.

The tutorials at the 2009 CASPER workshop are as follows:

Introduction

Introduction to Simulink, communication with FPGAs. Build a simple program that flashes LEDs, counts and adds numbers on demand. Communicate with ROACH's FPGA using the PPC's BORPH operating system and also using raw KATCP commands. Includes step-by-step walkthrough for building your design, compiling it, loading onto ROACH and communicating with it.

Prerequisites: just your enthusiastic self, your computer with 10.1 libraries and a ROACH board.

10GbE, KATCP

Construct a design that transmits a counter over 10GbE to another ROACH port. During this tutorial, you will learn more about the CASPER hardware interfaces, communicating with ROACH remotely using KATCP and the supplied Python libraries.

Prerequisites: Introduction tutorial (we expect conceptual understanding of software registers and PPC/FPGA mapped memory regions along with some basic Simulink experience). Also useful, but not required, is some experience in programming in Python, since the sample script for configuring and controlling the system is provided in Python. You will need a ROACH board and a 10GbE cable. Please also ensure that you're running the latest versions of tcpborphserver and tgtap on your ROACH, else the 10GbE may not function correctly. Get 'em here

Wideband spectrometer

Build a 512MHz "wideband" spectrometer with 2048 FFT channels on ROACH.

This will introduce the ADC boards, the CASPER DSP libraries including the wideband PFB and FFT blocks as well as demonstrate the use of vector accumulators, shared BRAMs and readout through the PPC's 1GbE port. We will make use of KATCP for remote control of the ROACHes using Python libraries to plot the output.

Prerequisites: tutorials 1 and 2. This design is complete and tested working. You'll need a ROACH board and an iADC board, as well as a synthesiser / clock source.

Revision 102 had a design flaw in the VACC (bit growth), so rev103 adds requantisation after the FFT. Careful of configuring this correctly for your given signal type. See comments in Python code. Or, you can forego to requantisation if you opt for a 64-bit VACC (not demonstrated).

Wideband pocket correlator

Build a wideband correlator, ported from the original IBOB design for use on ROACH. This is a good starting point for your field-deployable correlator and demonstrates the use of requantisation after the FFT. It is not documented. Code is commented, so you could probably figure it out. You'll need a ROACH board and two iADCs.

Narrowband pocket correlator

Build a 250MHz, 1024 channel single board correlator on ROACH. This tutorial demonstrates the use of CASPER's digital downmix and filter blocks, along with the narrowband biplexed PFB and FFT blocks. Data is accumulated on the FPGA and output through the PPC's 1GbE port and displayed remotely using KATCP. This design is incomplete, and is provided purely to demonstrate the architecture of using a DDC, PFB and FFT.

Model file

High resolution spectrometer

Build a 500MHz, 1 million channel spectrometer on a single ROACH board. This tutorial demonstrates advanced use of the PFB and FFT blocks, some DSP concepts, along with the ROACH's DRAM for large-scale accumulation. Prerequisites: tutorials 1 and 2 plus either 3 or 4. This project's home is located elsewhere in SVN, since it was originally designed as a stand-alone project rather than a tutorial: http://casper.berkeley.edu/svn/trunk/projects/roach_mspec/

Model, Walkthrough and Docs