The ASYNC_REG is an attribute that
affects many processes in the Vivado tool flow. This
attribute informs the tool whether the register can receive asynchronous data on its D
input pin relative to the source clock. Alternatively, it indicates that the register is
a synchronizing register within a synchronization chain. Vivado synthesis treats it as a DONT_TOUCH attribute and pushes the ASYNC_REG property forward in the netlist. This process ensures that the
synchronizing chain of registers tagged with ASYNC_REG remain intact
throughout the implementation flow.
For information on how other Vivado tools handle this attribute, see Vivado Design Suite Properties Reference Guide (UG912).
You can place this attribute on any register; values are FALSE (default) and TRUE.
You can set this attribute in RTL or XDC