README.md 3.69 KB
Newer Older
1 2
# The CASPER Toolflow [![Documentation Status](https://readthedocs.org/projects/casper-toolflow/badge/?version=latest)](https://casper-toolflow.readthedocs.io/en/latest/?badge=latest)

bjbford's avatar
bjbford committed
3

Jack Hickish's avatar
Jack Hickish committed
4
Welcome to the CASPER Toolflow repository, `mlib_devel`!
bjbford's avatar
bjbford committed
5

Jack Hickish's avatar
Jack Hickish committed
6
## What is mlib_devel?
bjbford's avatar
bjbford committed
7

Jack Hickish's avatar
Jack Hickish committed
8
The `mlib_devel` repository contains a set of FPGA DSP libraries and programming tools developed and maintained by the [Collaboration for Astronomical Signal Processing and Electronics Research (CASPER)](http://casper.berkeley.edu/>). Within the collaboration, this collection of software is affectionately referred to as *The Toolflow.*
bjbford's avatar
bjbford committed
9

Jack Hickish's avatar
Jack Hickish committed
10
The CASPER toolflow allows you to generate signal processing designs using MATLAB's graphical programming tool `Simulink`. These designs can be turned into FPGA bitstreams and loaded onto a variety of supported hardware platforms to perform real-time digital signal processing systems. CASPER also provides a Python software library for interacting with running designs: [casperfpga ](https://github.com/casper-astro/casperfpga).
Jack Hickish's avatar
Jack Hickish committed
11 12 13

## Using mlib_devel

Brian Bradford's avatar
Brian Bradford committed
14
For more information about installing and using the CASPER Toolflow, see the project's [documentation](https://casper-toolflow.readthedocs.io).[![Documentation Status](https://readthedocs.org/projects/casper-toolflow/badge/?version=latest)](https://casper-toolflow.readthedocs.io/en/latest/?badge=latest)
Jack Hickish's avatar
Jack Hickish committed
15

Brian Bradford's avatar
Brian Bradford committed
16
CASPER also maintain a set of [tutorials](https://casper-tutorials.readthedocs.io), designed to introduce new users to the toolflow.[![Documentation Status](https://readthedocs.org/projects/casper-tutorials/badge/?version=latest)](https://casper-tutorials.readthedocs.io/en/latest/?badge=latest)
Jack Hickish's avatar
Jack Hickish committed
17 18 19 20 21 22 23 24

> ***Updating an Existing Toolflow Installation***
>
>You can always update your installation of `mlib_devel` by pulling updated code from this repository. If you do this, chances are you'll need to update your Simulink models to match your new `mlib_devel` libraries. A script is provided to automate this process. With your model open and active, in your MATLAB prompt, run
>```matlab
>update_casper_blocks(bdroot)
>```
> This script will resynchronize every CASPER block in your design with its latest library version. Depending on the size of your model, it may take many minutes to complete!
25
>As always, back up your designs before attempting such a major operation. And, if you experience problems, please raise Github issues!
Jack Hickish's avatar
Jack Hickish committed
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

## Directory structure

<dl>
  <dt>casper_library</dt>
  <dd>Simulink DSP libraries</dd>
  <dt>xps_library</dt>
  <dd>Simulink libraries for tool-flow supported modules (ADC interfaces, Ethernet cores, etc.)</dd>
  <dt>xps_base</dt>
  <dd>HDL code and Xilinx EDK wrappers used in older (ROACH2 and earlier) versions of the toolflow.</dd>
  <dt>docs</dt>
  <dd><a href="https://casper-toolflow.readthedocs.io">Sphinx documentation</a> for the software in this project.</dd>
  <dt>jasper_library</dt>
  <dd>
    Python and MATLAB scripts required to drive the compilation process. Also platform-dependent configuration information and source-code for IP modules used by the toolflow in the following directories:
  <dl>
    <dt>jasper_library/platforms</dt>
    <dd>YAML files defining the compile parameters and physical constraints of CASPER-supported FPGA platforms.</dd>
    <dt>jasper_library/golden</dt>
    <dd>Golden boot images for FPGA platforms which require them.</dd>
    <dt>jasper_library/hdl_sources</dt>
    <dd>HDL source files for all toolflow-suppled modules (eg. ADC interfaces, Ethernet cores, etc.).</dd>
    <dt>jasper_library/sw</dt>
    <dd>Codebase for embedded software processors used by the toolflow.</dd>
    <dt>jasper_library/yellow_blocks</dt>
Jack Hickish's avatar
Jack Hickish committed
51
    <dd>Python classes for each yellow block in the simulink xps_library.</dd>
Jack Hickish's avatar
Jack Hickish committed
52 53 54
    </dl>
  </dd>
</dl>