The syn.compile
commands specify
the default behavior for compilation of the HLS component.
- syn.compile.design_size_max_warning
- Specifies the design size that triggers a warning related
to slow compilation or poor QoR.
syn.compile.design_size_maximum_warning=300000
- syn.compile.enable_auto_rewind
-
When true enables an alternative HLS implementation for pipelined loops which uses automatic loop rewind as described in the Rewinding Pipelined Loops for Performance section of the Vitis HLS User Guide (UG1399) for additional information.
syn.compile.enable_auto_rewind=1
- syn.compile.ignore_long_run_time
-
Disable long run time warning.
syn.compile.ignore_long_run_time=1
- syn.compile.name_max_length <arg>
-
The
name_max_length
option will specify the maximum length of function names. If the length is over the threshold, the last part of the name will be truncated.syn.compile.name_max_length=13
- syn.compile.no_signed_zeros
-
The
no_signed_zeros
option will ignore the signedness of floating point zero so that compiler can do aggressive optimizations on floating point operations.syn.compile.no_signed_zeros=1
- syn.compile.pipeline_flush_in_task arg
- Specifies that pipelines in
hls::tasks
will be flushing (flp
) by default to reduce the probability of deadlocks in C/RTL Co-simulation. This option applies to pipelines that achieve an II=1 with the default option ofii1
. However, you can also specify it as applyingalways
to enable flushing pipelines in eitherhls::tasks
or dataflow, or can be completely disabled usingnever
. Refer to Flushing Pipelines and Pipeline Types in Vitis High-Level Synthesis User Guide (UG1399) for more information. - syn.compile.pipeline_loops arg
-
Loops with a tripcount equal to or greater than the specified value will be pipelined automatically.
syn.compile.pipeline_loops=20
- syn.compile.pipeline_style arg
-
Set default pipeline style, this is a preference not a hard constraint. Refer to Flushing Pipelines and Pipeline Types in Vitis High-Level Synthesis User Guide (UG1399) for more information. The three styles are: stallable (
stp
), flushable (flp
), and free-running (frp
). The default is free-running.syn.compile.pipeline_style=flp
- syn.compile.pragma_strict_mode
-
Enable errors instead of warnings for unrecognized and improper pragma syntax.
syn.compile.pragma_strict_mode=1
- syn.compile.unsafe_math_optimizations
-
The
unsafe_math_optimizations
option will ignore the signedness of floating point zero and enable associative floating point operations so that compiler can do aggressive optimizations on floating point operations.syn.compile.unsafe_math_optimizations=1
Important: Using this option might change the result of any floating point calculations and result in a mismatch in C/RTL co-simulation. Ensure your test bench is tolerant of differences and checks for a margin of difference, not exact values.