Prevent Register Retiming

The Prevent register retiming option controls whether or not to globally disable retiming. When set to disabled, the Compiler automatically performs register retiming optimizations, moving registers through combinational logic. When set to enabled, the Compiler prevents any retiming optimizations from happening on a global scale. Optionally, assign Allow Register Retiming to any design entity or instance to override Prevent register retiming for specific portions of the design. Click Assignments > Assignment Editor to specify entity- and instance-level assignments, or use the following syntax to make the assignment in the .qsf directly.

Disable register retiming for entity abc

set_global_assignment –name ALLOW_REGISTER_RETIMING ON

set_instance_assignment –name ALLOW_REGISTER_RETIMING OFF –to “abc|”

set_instance_assignment –name ALLOW_REGISTER_RETIMING ON –to “abc|def|”

Disable register retiming for the whole design, except for registers in entity abc

set_global_assignment –name ALLOW_REGISTER_RETIMING OFF

set_instance_assignment –name ALLOW_REGISTER_RETIMING ON –to “abc|”

set_instance_assignment –name ALLOW_REGISTER_RETIMING OFF –to “abc|def|”