RETIMING_BACKWARD - 2023.1 English

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2023-06-09
Version
2023.1 English

The RETIMING_BACKWARD attribute instructs the tool to move a register backward through logic closer to the sequential driving elements. Unlike the retiming global setting, this attribute is not timing-driven and works regardless of whether the retiming global setting is active or if there are even timing constraints. If the global retiming setting is active, the RETIMING_BACKWARD step happens first, and the global retiming can enhance that register to move further back the chain. However, it does not interfere with the attribute and moves the register back to the original location.

Note: Cells with DONT_TOUCH/MARK_DEBUG attributes, cells with timing exceptions (false_path, multicycle_path), and user-instantiated cells block this attribute.

The RETIMING_BACKWARD attribute takes an integer as a value. This value describes the amount of logic the register is allowed to cross. Larger values allow the register to cross more logic. 0 would turn the attribute off.