stanford-ppl / spatial-lang

Spatial: "Specify Parameterized Accelerators Through Inordinately Abstract Language"

GitHub

Spatial

Spatial is an Argon DSL for programming reconfigurable hardware from a parameterized, high level abstraction.

Getting Started

It is recommended that you use the spatial-quickstart to get started with Spatial.

However, if you intend to build from source, then you are in the right place. Run the following (bash) commands to clone and update the spatial-lang repository:

    $ git clone https://github.com/stanford-ppl/spatial-lang.git
    $ cd spatial-lang
    $ git submodule update --init

This will pull Spatial's submodules argon, apps, and scala-virtualized.

You may need to export your JAVA_HOME environment variable to point to your Java installation (usually /usr/bin)

You are now ready to compile the language. Run the following:

    $ sbt compile

A good habit would be to pull from these repositories often and run sbt compile in your spatial-lang directory.

Links

Branch Statuses

Zynq Regression

ZCU Regression

Arria10 Regression

AWS (Synth Only) Regression

"what's running" is unavailable

Release Flow Functionality

Last Update Templates + SBT Scala Backend Chisel Backend
Master timestamp unavailable Build Status Build Status Build Status
Pre-master timestamp unavailable Build Status Build Status Build Status
SyncMem timestamp unavailable Build Status Build Status Build Status
Retime timestamp unavailable Build Status Build Status Build Status

Work Branches Functionality

Last Update Templates + SBT Scala Backend Chisel Backend
Develop timestamp unavailable Build Status Build Status Build Status
FPGA timestamp unavailable Build Status Build Status Build Status
Compile timestamp unavailable Build Status Build Status Build Status