Solution 1:
The Synthesis tool will determine whether to implement the sequential shift register as register, distribute-RAM or block RAM based on certain criteria. The user can choose a different implementation by specifying "syn_ramstyle" or "syn_srlstyle" attributes. The attributes can be applied globally, to a module or to a RAM instance.
For more details of the Syntax and attribute value, please refer to the online help Synplify reference manual.
Solution 2:
An alternative solution is to use "syn_keep" attribute to preserve those register signals. The Synplify will automatically implement the shift component as registers.
For attribute syntax refer to the Synplify online help.