PluginConfig

Summary

# True if this plugin needs the CXX bindings for the spade compiler to be built
requires_cxx = true|false
# Commands required to build the plugin. Run before any project compilation steps
build_commands = ["…", …]
# The files which this plugin produces
builds = [<BuildResult>, …]
# Arguments which must be set in the `swim.toml` of projects using the plugin
required_args = ["…", …]
# Commands to run after building swim file but before anything else
post_build_commands = ["…", …]
# Commands which the user can execute
commands = {key: <PluginCommand>, …}

# Things to do during the synthesis process
[synthesis] # Optional
<SynthesisConfig>

requires_cxx bool

True if this plugin needs the CXX bindings for the spade compiler to be built

build_commands [String]

Commands required to build the plugin. Run before any project compilation steps

builds [BuildResult]

The files which this plugin produces

required_args Set[String]

Arguments which must be set in the swim.toml of projects using the plugin

post_build_commands [String]

Commands to run after building swim file but before anything else

synthesis SynthesisConfig

Things to do during the synthesis process

commands Map[String => PluginCommand]

Commands which the user can execute

PluginCommand

Summary

# List of system commands to run in order to execute the command
# 
# Commands specified by the user, i.e. whatever is after `swim plugin <command>`
# is string replaced into `%args%` in the resulting command string. The arguments
# are passed as strings, to avoid shell expansion
script = ["…", …]

# The build step after which to run this command
[after]
<BuildStep>

script [String]

List of system commands to run in order to execute the command

Commands specified by the user, i.e. whatever is after swim plugin <command> is string replaced into %args% in the resulting command string. The arguments are passed as strings, to avoid shell expansion

after BuildStep

The build step after which to run this command

BuildStep

One of these strings:

  • "Start" Before any other processing takes place
  • "SpadeBuild"
  • "Simulation"
  • "Synthesis"
  • "Pnr"
  • "Upload"
SynthesisConfig

Summary

# Yosys commands to run after the normal yosys flow
yosys_post = ["…", …]

yosys_post [String]

Yosys commands to run after the normal yosys flow

BuildResult

Summary

# The path of a file built by this build step
path = "…"

# The first build step for which this file is required. This will trigger
# a re-build of this build step if the file was changed
[needed_in]
<BuildStep>

path String

The path of a file built by this build step

needed_in BuildStep

The first build step for which this file is required. This will trigger a re-build of this build step if the file was changed