You can use the –-vivado.XXX options to
configure Vivado tools for synthesis and
implementation of your device binary (.xclbin).
For instance, you can specify the number of jobs to spawn, LSF commands to use for
implementation runs, or the specific implementation strategies to use. You can also
configure optimization, placement, timing, or specify which reports to output.
--vivado.impl.jobs
--vivado.impl.jobs <arg>
Specifies the number of parallel jobs the Vivado Design Suite uses to implement the device binary. Increasing the number of jobs allows the Vivado implementation step to spawn more parallel processes and complete faster jobs.
For example:
v++ --link --vivado.impl.jobs 4
--vivado.impl.lsf
--vivado.impl.lsf <arg>
Specifies the bsub command line as a
string to pass to an LSF cluster. The IBM Platform Load Sharing Facility (LSF) for
Vivado implementation uses this
option.
For example:
v++ --link --vivado.impl.lsf '{bsub -R \"select[type=X86_64]\" -N -q medium}'
--vivado.impl.strategies
--vivado.impl.strategies <arg>
Specifies a comma-separated list of strategy names for Vivado implementation runs. Use ALL to run all available implementation strategies.
You can run a variety of implementation strategies at the same time during the build
process and quickly resolve timing or routing issues.
--vivado.impl.jobs or the --vivado.impl.lsf commands. --vivado.param
--vivado.param <arg>
Specifies parameters for the Vivado Design Suite for the synthesis and implementation of the FPGA binary (xclbin).
report_param Tcl command in Vivado to identify the available parameters. --vivado.prop
--vivado.prop <arg>
Specifies properties for the Vivado Design Suite for synthesis and implementation of the FPGA binary (xclbin).
| Property Name | Valid Values | Description |
|---|---|---|
vivado.prop
<object_type>.<object_name>.<prop_name>
|
Type: Various | This allows you to specify any property used in
the Vivado hardware
compilation flow.
The Examples:
If If |
For example, from the command line:
v++ --link --vivado.prop run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true
--vivado.prop run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=Explore
--vivado.prop run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=/…/xxx.tcl
Explore directive for that step, and
specifies a Tcl script to run before the PLACE_DESIGN step. You can also specify these options in a configuration file under the
[vivado] section using the following format.
[vivado]
prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true
prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=Explore
prop=run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=/…/xxx.tcl
--vivado options is important. You must surround the complete property
name with braces, rather than a portion of it. For instance, the correct placement
is as
follows.--vivado.prop run.impl_1.{STEPS.PLACE_DESIGN.ARGS.MORE OPTIONS}={-no_bufg_opt}
--vivado.prop "run.impl_1.{STEPS.PLACE_DESIGN.ARGS.MORE OPTIONS}={-no_bufg_opt}"
--vivado.synth.jobs
--vivado.synth.jobs <arg>
Specifies the number of parallel jobs the Vivado Design Suite uses to synthesize the device binary. Increasing the number of jobs allows the Vivado synthesis to spawn more parallel processes and complete faster jobs.
For example:
v++ --link --vivado.synth.jobs 4
--vivado.synth.lsf
--vivado.synth.lsf <arg>
Specifies the bsub command line as a
string to pass to an LSF cluster. The IBM Platform Load Sharing Facility (LSF) for
Vivado synthesis requires this option.
For example:
v++ --link --vivado.synth.lsf '{bsub -R \"select[type=X86_64]\" -N -q medium}'