--hls Options - 2023.2 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 English

The --hls.XXX options described below are used to specify options for the Vitis HLS synthesis process invoked during kernel compilation.

--hls.clock

--hls.clock <arg>

Specifies a frequency in Hertz at which the listed kernel(s) should be compiled by Vitis HLS.

Where <arg> is specified as: <frequency_in_Hz>:<cu_name1>,<cu_name2>,..,<cu_nameN>

  • <frequency_in_Hz>: Defines the kernel frequency specified in Hz.
  • <cu_name1>,<cu_name2>,...: Defines a list of kernels or kernel instances (CUs) to be compiled at the specified target frequency.

For example:

v++ -c --hls.clock 300000000:mmult,mmadd --hls.clock 100000000:fifo_1
Tip: This option can be specified in a configuration file under the [hls] section head using the following format:
[hls]
clock=300000000:mmult,mmadd
clock=100000000:fifo_1

--hls.export_mode

--hls.export_mode <file_type>:<file_path>

Specifies the RTL export mode for Vitis HLS and the path and name of the exported file. As a v++ compiler option, the only supported <file_type> is XO.

For example:

v++ --hls.export_mode xo:./kernel.xo
Tip: This option can be specified in a configuration file under the [hls] section head using the following format:
[hls]
export_mode=xo:./kernel.xo

--hls.export_project

--hls.export_project <arg>

Specifies a directory where the Vitis HLS project setup script is exported.

For example:

v++ --hls.export_project ./hls_export
Tip: This option can be specified in a configuration file under the [hls] section head using the following format:
[hls]
export_project=./hls_export

--hls.jobs

--hls.jobs <arg>

Specifies the number of jobs for launching HLS runs.

This option specifies the number of parallel jobs Vitis HLS uses to synthesize the RTL kernel code. Increasing the number of jobs allows the tool to spawn more parallel processes and complete faster.

For example:

v++ --hls.jobs 4
Tip: This option can be specified in a configuration file under the [hls] section head using the following format:
[hls]
jobs=4

--hls.lsf

--hls.lsf <arg>

Specifies a bsub command to submit a job to LSF for HLS runs.

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 Vitis HLS synthesis.

For example:

v++ --compile --hls.lsf '{bsub -R \"select[type=X86_64]\" -N -q medium}'
Tip: This option can be specified in a configuration file under the [hls] section head using the following format:
[hls]
lsf='{bsub...

--hls.post_tcl

--hls.post_tcl <arg>

Specifies a Tcl file containing Tcl commands for vitis_hls to source after csynth_design.

For example:

v++ --hls.post_tcl ./runPost.tcl
Tip: This option can be specified in a configuration file under the [hls] section head using the following format:
[hls]
post_tcl=./runPost.tcl

--hls.pre_tcl

--hls.pre_tcl <arg>

Specifies a Tcl file containing Tcl commands for vitis_hls to source before running csynth_design.

For example:

v++ --hls.pre_tcl ./runPre.tcl
Where runPre.tcl contains the following commands to configure m_axi interfaces in Vitis HLS:
config_interface -m_axi_auto_max_ports=1
config_interface -m_axi_max_bitwidth 512
Tip: This option can also be specified in a configuration file under the [hls] section head using the following format:
[hls]
pre_tcl=./runPre.tcl