When the RAM_STYLE attribute is specified in capital letters in RTL, Vivado Synthesis still infers a distributed RAM.
This issue was noted in -1 speed grade devices.
Both RAM_STYLE=BLOCK and ram_style=block work with -2 speed grade devices.
However setting RAM_STYLE=BLOCK does not infer a block RAM in -1 speed grade devices, but instead infers a distributed RAM.
Setting the ram style to block in lower case letters (ram_style = block) does infer a block RAM for -1 speed grade devices.
The issue is fixed in the 2013.2 release.
For prior versions, the workaround is to always specify the attribute in lower case (ram_style = block).