Volatile - 2022.2 English

Vitis High-Level Synthesis User Guide (UG1399)

Document ID
Release Date
2022.2 English

The volatile qualifier impacts how many reads or writes are performed in the RTL when pointers are accessed multiple times on function interfaces. Although the volatile qualifier impacts this behavior in all functions in the hierarchy, the impact of the volatile qualifier is primarily discussed in the section on top-level interfaces.

Note: Accesses to/from volatile variables is preserved. This means:
  • no burst access
  • no port widening
  • no dead code elimination

Tip: Arbitrary precision types do not support the volatile qualifier for arithmetic operations. Any arbitrary precision data types using the volatile qualifier must be assigned to a non-volatile data type before being used in arithmetic expression.