Command Reference
The Dynamatic shell is an interactive command line-based interface (you can launch it from Dynamatic’s top level directory with ./bin/dynamatic after building Dynamatic) that allows users to interact with Dynamatic and use the different commands available to generate dataflow circuits from C code.
This document provides an overview of the different commands available in the Dynamatic frontend and their respective flags and options.
Dynamatic Shell Commands
help: Display list of commands.set-dynamatic-path <path>: Set the path of the root (top-level) directory of Dynamatic, so that it can locate various scripts it needs to function. This is not necessary if you run Dynamatic from said directory.set-vivado-path <path>: Set the path to the installation directory of Vivado.set-polygeist-path <path>: Sets the path to the Polygeist installation directory.set-fp-units-generator <flopoco|vivado>: Choose which floating point unit generator to use. See this section for more information.set-clock-period <clk>: Sets the target clock period in nanoseconds.set-src <source-path>: Sets the path of the.cfile of the kernel that you want to compile.compile [...]: Compiles the source kernel (chosen byset-src) into a dataflow circuit. For more options, runcompile --help.
note
The compile command does not require Gurobi by default, but it is needed for smart buffer placement options.
The --buffer-algorithm flag allows users to use smart buffer placement algorithms notably fpga20 and fpl22 for throughput and timing optimizations.
The --fast-token-delivery flag enables the Fast Token Delivery (FTD) algorithm during the CF → Handshake lowering stage. Note that this option is currently incompatible with smart buffer placement algorithms.
write-hdl [--hdl <vhdl|verilog|smv>]: Convert results fromcompileto a VHDL, Verilog or SMV file.simulate: Simulates the HDL produced bywrite-hdl.
note
Requires a ModelSim/Questa installation!
synthesize: Synthesizes the HDL result fromwrite-hdlusing Vivado.
note
Requires a Vivado installation!
visualize: Visualizes the execution of the circuit simulated byModelSim/Questa.
note
Requires Godot Engine and the visualizer component must be built!
exit: Exits the interactive Dynamatic shell.
For more information and examples on the typical usage of the commands, checkout the using Dynamatic and example pages.