ID:20777 Register <name> is targeted with both FORCE_HYPER_REGISTER_FOR_PERIPHERY_CORE_TRANSFER and FORCE_HYPER_REGISTER_FOR_CORE_PERIPHERY_TRANSFER assignments. A core register can only be implemented as a Hyper-Register for a single periphery transfer. Remove at least one of these assignments.

CAUSE: A core register is constrained to be placed as the nearest Hyper-Register for two different periphery transfers -- one from periphery to core, and the other driving from the core to periphery. Since those transfers involve different Hyper-Register locations, they cannot be implemented simultaneously.

ACTION: Remove at least one of the assignments for the specified register. These assignments are often embedded as pragma assignments within IP RTL files, so you may need to review design source files as well as the Quartus Settings File (QSF).