Prevent Register Optimizations

The following options allow you to prevent the Compiler from merging, duplicating, or retiming registers during logic synthesis. Use these options to prevent unwanted changes to registers through synthesis.

Optionally, assign Allow Register Retiming to any design entity or instance to override the project-wide Prevent register retiming on 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|”