The Spatial Compiler

Compilation

The Spatial Compiler is run using:

bin/spatial <Application Name> [flags]

where <Application Name> is the name of the Spatial application object.

Compiler Flags

The following compiler flags are available in the Spatial compiler:

–sim Turns on the Scala backend for functional simulation.
–synth Turns on the Chisel RTL backend for cycle-accurate simulation and/or synthesis.
–instrument Enables RTL instrumentation hooks for manual pipeline balancing analyses
–retime Enables RTL retiming to meet higher clock speeds.
  This flag will eventually be enabled by default.
–syncMem

Enables synchronous memory operations for all SRAMs to use fewer resources.

Also enables –retime.

–out <dir>

Specifies an output directory to place generated code.

Default directory is gen/<app name>.

Advanced Compiler Flags

These flags are primarily for use in development of the Spatial compiler.

–cheapFifos Uses “cheap” FIFOs if there are no FIFOs with lane-dependent enqueues or dequeues.
–multifile 0-6, default = 4
–naming Turns on useful naming for assistance in debugging generated chisel
–dse

Run compiler design space exploration.

Interactivity is planned, but currently just generates a data file.

More to be added…