The –-vivado.XXX
options are used to
configure the 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. This option is required to use the IBM
Platform Load Sharing Facility (LSF) for Vivado implementation.
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.
This lets you run a variety of implementation strategies at the same time during the
build process and allows you to more quickly resolve the timing and routing issues
of the design.
--vivado.impl.jobs
or the --vivado.impl.lsf
commands. --vivado.param
--vivado.param <arg>
Specifies parameters for the Vivado Design Suite to be used during synthesis and implementation of the FPGA binary (xclbin).
report_param
Tcl
command in the Vivado tool to identify the
available parameters. --vivado.prop
--vivado.prop <arg>
Specifies properties for the Vivado Design Suite to be used during 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. These options can also be specified in a configuration file under
the [vivado]
section head 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 just a portion of it. For instance, the correct
placement would be:
--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. This option is required to use the IBM
Platform Load Sharing Facility (LSF) for Vivado synthesis.
For example:
v++ --link --vivado.synth.lsf '{bsub -R \"select[type=X86_64]\" -N -q medium}'