You may run the flow interactively by using the -interactive
option:
./flow.tcl -interactive
A tcl shell will be opened where the openlane package is automatically sourced:
% package require openlane
Then, you should be able to run the following main commands:
prep -design <design> -tag <tag> -config <config> -init_design_config -overwrite
similar to the command line arguments, design is required and the rest is optionalrun_synthesis
run_floorplan
run_placement
run_cts
run_routing
write_powered_verilog
followed by set_netlist $::env(routing_logs)/$::env(DESIGN_NAME).powered.v
run_magic
run_magic_spice_export
run_magic_drc
run_lvs
run_antenna_check
The above commands can also be written in a file and passed to flow.tcl
:
./flow.tcl -interactive -file <file>
A more detailed list of all the commands supported by openlane could be found here.
Note 1: Currently, configuration variables have higher priority over the above commands so if RUN_MAGIC
is 0, command run_magic
will have no effect.
Note 2: Currently, most of these commands must be run in the flow sequence and no steps should be skipped.
Note 3: You can pass the -design, -tag, etc.. flags to ./flow.tcl -interactive
directly without the need of entering the interactive mode and then executing the prep command.