HLS Optimization Directives - 2023.1 English

Vitis Unified IDE and Common Command-Line Reference Manual (UG1553)

Document ID
UG1553
Release Date
2023-07-17
Version
2023.1 English

Directives, or the syn.directive.xxx commands allow you to customize the synthesis results for the same source code across multiple implementations. Change the directives to change the results. The syn.directive.xxx commands are intended for use in the config files associated with the new Vitis IDE as described in Building and Running an HLS Component, or with the new common command-line flows described Command Line Flows.

Note: You can also use pragmas in your source code, rather than directives in your config file. This will have the same result, but also have the added advantage of being stored directly in your source code. Refer to HLS Pragmas for more information.

Directives applied through a configuration file must include a <location> as an argument to the directive. The <location> defines what element of the source code the directive applies to, such as function, loop, region, or variable.

The example syntax for syn.directive.xxx commands include the location and the arguments for the directive. For example:
syn.directive.pipeline=dct2d II=4

Where dct2d is the location (function name) to apply the PIPELINE directive to, and II=4 is one of the possible arguments to the directive.